{"id":2776,"date":"2021-10-07T10:14:46","date_gmt":"2021-10-07T04:44:46","guid":{"rendered":"https:\/\/www.cloudnowtech.com\/blog\/?p=2776"},"modified":"2021-11-24T12:20:42","modified_gmt":"2021-11-24T06:50:42","slug":"moving-from-monolith-to-microservices","status":"publish","type":"post","link":"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/","title":{"rendered":"Moving from monolith to microservices? Take a leaf out of the Strangler Fig Approach"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">There are a number of ways to modernize an application from a monolithic architecture to microservices. One method that stands out for ensuring a smooth and stable transition is called the Strangler Fig approach.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">British software developer and author, Martin Fowler, came up with the metaphor of \u2018strangler fig\u2019 trees to illustrate this journey between architectures. What a strangler fig does is to envelope and gradually strangle the host tree on which it grows, until the original tree dies and only the strangler fig remains.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In the world of app redevelopment, the metaphor stands for incremental migration. Fowler believes that app development into a monolith and then cutting it back into microservices is actually even better than developing head-on into microservices. He also says that almost all cases of a system built as a microservice system from scratch ended up in serious trouble.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In his opinion, the Strangler Fig Application is an effective migration technique as it allows for migrating a legacy system incrementally by replacing existing functionalities with new applications and services in a phased manner.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A hasty overhaul of an old system can be disastrous, while a gradual migration reduces the risk of major failures. And once all the monolithic functions are transformed to the new <a href=\"https:\/\/www.cloudnowtech.com\/application-development-services.html\">microservice application<\/a>, the monolith can simply be retired.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">So, what are the advantages of the Strangler Fig approach?<\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">It allows you to pause or stop the migration in the middle of the process if needed, while continuing to use whatever has already been redeveloped. Every step is incremental and reversible.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">This approach delivers reduced risk. Shorter and more frequent release cycles would mean more time for testing and therefore fewer rollbacks. Also, there are continuous value launches. However, this may not be suitable for smaller systems with low complexity and size as it involves high effort and commitment.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The process keeps clients in the loop. When running two separate versions of an application, clients must be kept informed of where each feature is located. The Strangler Fig approach overcomes this challenge as it works by creating a routing fa\u00e7ade that intercepts requests going to the legacy system and routes them either to the legacy application or new application. The interface continues even while the technology migration is in progress.<\/span><\/li>\n<\/ul>\n<h3><span style=\"font-weight: 400;\">How does the Strangler Fig approach work?<\/span><\/h3>\n<p><b>Step 1:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Identify the element that you want to migrate.<\/span><\/p>\n<p><b>Step 2:\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Analyze the current legacy application to split your application based on functional transactions by accounting for code complexity. Perform analysis for security threats in the new architecture.<\/span><\/p>\n<p><b>Step 3:\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Implement elements in a new microservice.<\/span><\/p>\n<p><b>Step 4:\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Create the proxy or alternate routing fa\u00e7ade between the legacy app and user; when the component is ready, link it to the proxy and serve traffic to the page, slowly increasing the amount of traffic going to the new page.<\/span><\/p>\n<p><b>Step 5:\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Incrementally reroute calls from monolith to new microservice.<\/span><\/p>\n<p><b>Step 6:\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Test new functionality comprehensively.<\/span><\/p>\n<p><b>Step 7:\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Finally, eliminate the legacy module.<\/span><\/p>\n<p><b>Step 8:\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Keep repeating steps 1-4 until the entire functionality is handled by the new stack.<\/span><\/p>\n<p><b>Note:\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The legacy and new functionality\/module\/application need to run in parallel; eliminate the legacy app ONLY after testing is complete.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">As monolithic systems become too large to deal with, many enterprises are drawn to breaking them down into microservices, certainly a worthwhile journey. At CloudNow we\u2019ve learned to deploy this migration process seamlessly. So, if you are looking for assistance in this direction, do <\/span><\/i><a href=\"https:\/\/www.cloudnowtech.com\/contact-us.html\"><i><span style=\"font-weight: 400;\">contact us<\/span><\/i><\/a><i><span style=\"font-weight: 400;\">.<\/span><\/i><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are a number of ways to modernize an application from a monolithic architecture to microservices. One method that stands out for ensuring a smooth and stable transition is called the Strangler Fig approach. British software developer and author, Martin Fowler, came up with the metaphor of \u2018strangler fig\u2019 trees to illustrate this journey between [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":2777,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":""},"categories":[277,51],"tags":[99,211,212,304],"class_list":["post-2776","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-development-modernization","category-microservices","tag-cloud-migration","tag-microservice-architecture","tag-microservices","tag-migration-process"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Moving from monolith to microservices? Take a leaf out of the Strangler Fig Approach - Discover Better Value Faster<\/title>\n<meta name=\"description\" content=\"There are a number of ways to modernize applications from a monolithic architecture to microservices. One method that stands out is called the Strangler Fig approach.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Moving from monolith to microservices? Take a leaf out of the Strangler Fig Approach - Discover Better Value Faster\" \/>\n<meta property=\"og:description\" content=\"There are a number of ways to modernize applications from a monolithic architecture to microservices. One method that stands out is called the Strangler Fig approach.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/\" \/>\n<meta property=\"og:site_name\" content=\"Discover Better Value Faster\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-07T04:44:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-24T06:50:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/10\/Blog-47.jpeg?fit=1140%2C760&#038;ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1140\" \/>\n\t<meta property=\"og:image:height\" content=\"760\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"SatyaDev Addeppally\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/#website\",\"url\":\"https:\/\/www.cloudnowtech.com\/blog\/\",\"name\":\"Discover Better Value Faster\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cloudnowtech.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/10\/Blog-47.jpeg?fit=1140%2C760&ssl=1\",\"contentUrl\":\"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/10\/Blog-47.jpeg?fit=1140%2C760&ssl=1\",\"width\":1140,\"height\":760,\"caption\":\"\\u200b\\u200bMoving from monolith to microservices?\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/#webpage\",\"url\":\"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/\",\"name\":\"Moving from monolith to microservices? Take a leaf out of the Strangler Fig Approach - Discover Better Value Faster\",\"isPartOf\":{\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/#primaryimage\"},\"datePublished\":\"2021-10-07T04:44:46+00:00\",\"dateModified\":\"2021-11-24T06:50:42+00:00\",\"author\":{\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/#\/schema\/person\/2e76f56977117c409772392b0ced58c6\"},\"description\":\"There are a number of ways to modernize applications from a monolithic architecture to microservices. One method that stands out is called the Strangler Fig approach.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cloudnowtech.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Moving from monolith to microservices? Take a leaf out of the Strangler Fig Approach\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/#\/schema\/person\/2e76f56977117c409772392b0ced58c6\",\"name\":\"SatyaDev Addeppally\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/sathyadev-96x96.jpg\",\"contentUrl\":\"https:\/\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/sathyadev-96x96.jpg\",\"caption\":\"SatyaDev Addeppally\"},\"description\":\"Enterprising leader with an analytical bent of mind offering a proven history of success by supervising, planning &amp; managing multifaceted projects &amp; complex dependencies; chronicled success with 22 years of extensive experience including international experience.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/satyadevaddepally\/\"],\"url\":\"https:\/\/www.cloudnowtech.com\/blog\/author\/satyadev-a\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Moving from monolith to microservices? Take a leaf out of the Strangler Fig Approach - Discover Better Value Faster","description":"There are a number of ways to modernize applications from a monolithic architecture to microservices. One method that stands out is called the Strangler Fig approach.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/","og_locale":"en_US","og_type":"article","og_title":"Moving from monolith to microservices? Take a leaf out of the Strangler Fig Approach - Discover Better Value Faster","og_description":"There are a number of ways to modernize applications from a monolithic architecture to microservices. One method that stands out is called the Strangler Fig approach.","og_url":"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/","og_site_name":"Discover Better Value Faster","article_published_time":"2021-10-07T04:44:46+00:00","article_modified_time":"2021-11-24T06:50:42+00:00","og_image":[{"width":1140,"height":760,"url":"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/10\/Blog-47.jpeg?fit=1140%2C760&ssl=1","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Written by":"SatyaDev Addeppally","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/www.cloudnowtech.com\/blog\/#website","url":"https:\/\/www.cloudnowtech.com\/blog\/","name":"Discover Better Value Faster","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cloudnowtech.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/#primaryimage","inLanguage":"en-US","url":"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/10\/Blog-47.jpeg?fit=1140%2C760&ssl=1","contentUrl":"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/10\/Blog-47.jpeg?fit=1140%2C760&ssl=1","width":1140,"height":760,"caption":"\u200b\u200bMoving from monolith to microservices?"},{"@type":"WebPage","@id":"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/#webpage","url":"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/","name":"Moving from monolith to microservices? Take a leaf out of the Strangler Fig Approach - Discover Better Value Faster","isPartOf":{"@id":"https:\/\/www.cloudnowtech.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/#primaryimage"},"datePublished":"2021-10-07T04:44:46+00:00","dateModified":"2021-11-24T06:50:42+00:00","author":{"@id":"https:\/\/www.cloudnowtech.com\/blog\/#\/schema\/person\/2e76f56977117c409772392b0ced58c6"},"description":"There are a number of ways to modernize applications from a monolithic architecture to microservices. One method that stands out is called the Strangler Fig approach.","breadcrumb":{"@id":"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.cloudnowtech.com\/blog\/moving-from-monolith-to-microservices\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cloudnowtech.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Moving from monolith to microservices? Take a leaf out of the Strangler Fig Approach"}]},{"@type":"Person","@id":"https:\/\/www.cloudnowtech.com\/blog\/#\/schema\/person\/2e76f56977117c409772392b0ced58c6","name":"SatyaDev Addeppally","image":{"@type":"ImageObject","@id":"https:\/\/www.cloudnowtech.com\/blog\/#personlogo","inLanguage":"en-US","url":"https:\/\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/sathyadev-96x96.jpg","contentUrl":"https:\/\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/sathyadev-96x96.jpg","caption":"SatyaDev Addeppally"},"description":"Enterprising leader with an analytical bent of mind offering a proven history of success by supervising, planning &amp; managing multifaceted projects &amp; complex dependencies; chronicled success with 22 years of extensive experience including international experience.","sameAs":["https:\/\/www.linkedin.com\/in\/satyadevaddepally\/"],"url":"https:\/\/www.cloudnowtech.com\/blog\/author\/satyadev-a\/"}]}},"jetpack_featured_media_url":"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/10\/Blog-47.jpeg?fit=1140%2C760&ssl=1","_links":{"self":[{"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/posts\/2776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/comments?post=2776"}],"version-history":[{"count":5,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/posts\/2776\/revisions"}],"predecessor-version":[{"id":3090,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/posts\/2776\/revisions\/3090"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/media\/2777"}],"wp:attachment":[{"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/media?parent=2776"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/categories?post=2776"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/tags?post=2776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}