{"id":11120,"date":"2022-07-29T12:16:37","date_gmt":"2022-07-29T06:46:37","guid":{"rendered":"https:\/\/blogrevamp.cashfree.com\/?p=11120"},"modified":"2023-03-07T19:16:15","modified_gmt":"2023-03-07T13:46:15","slug":"journey-from-monolith-to-microservices","status":"publish","type":"post","link":"https:\/\/blogrevamp.cashfree.com\/journey-from-monolith-to-microservices\/","title":{"rendered":"The Journey from Monolith to Microservices"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">We are in 2022, where Microservices are the norm. Most companies are either already on microservices or migrating to microservices or at least planning to do it at the least.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Microservices seem to be a solution for all the past Technology and Agility problems. Is this really true? Are there any cons to this approach and if yes, how do you manage them? This is what I will be exploring in this blog post.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why Microservices?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Microservices have several advantages as have been outlined in numerous articles.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" width=\"770\" height=\"264\" data-attachment-id=\"11122\" data-permalink=\"https:\/\/blogrevamp.cashfree.com\/journey-from-monolith-to-microservices\/cashfree-payments-microservices\/\" data-orig-file=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Microservices.png?fit=2287%2C784&amp;ssl=1\" data-orig-size=\"2287,784\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Cashfree-Payments-Microservices\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Microservices.png?fit=770%2C264&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Microservices.png?resize=770%2C264&#038;ssl=1\" alt=\"\" class=\"wp-image-11122\" srcset=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Microservices.png?resize=1024%2C351&amp;ssl=1 1024w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Microservices.png?resize=300%2C103&amp;ssl=1 300w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Microservices.png?resize=768%2C263&amp;ssl=1 768w, https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Microservices.png?resize=1536%2C527&amp;ssl=1 1536w\" sizes=\"(max-width: 770px) 100vw, 770px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Listing some of the prominent ones:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Technical Rationale<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Scale &#8211; Independent scaling of microservices as per traffic patterns.<\/li>\n\n\n\n<li>Choice &#8211; Choice of technology suitable to the microservice and flexibility for regular upgrades.<\/li>\n\n\n\n<li>Abstraction &amp; Contracts &#8211; Bounded context leading to data and business logic abstraction.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Team Rationale<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ownership &#8211; Aligning squads to ownership of microservices<\/li>\n\n\n\n<li>Scaling teams &#8211; Fewer tight dependencies between teams lead to higher development parallelization and improved developer productivity.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Can the Quest for Microservices Lead Us to Nanoservices?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In the quest to move to microservices and to make use of the above advantages, it is possible that you end up creating nano-services.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What\u2019s the problem with nano-services? At a high level, there is always a balance that has to be found. Beyond a certain point of decomposition, the ROI may flatten out or actually decrease.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/kWc4t4VKahoU18P6hTaky6AoNJ026ftbNylsY_xAiE_gAqPTs_i6PXVY4M8zwC-9V0qYw2rsjLc6gx2x4_Wf48dCvd37WEWkbVAs1j9uNkKUC52T0EJkq51UZ11J9tW523my8aHmm755KgY7KDU\" style=\"\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Every microservice will need the following to be setup:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dependent services need to handle resiliency<\/li>\n\n\n\n<li>Deployment sequencing<\/li>\n\n\n\n<li>SLAs, Observability, Alerting, Distributed Tracing,&nbsp;<\/li>\n\n\n\n<li>CI\/CD pipeline with all the stages in CI and CD<\/li>\n\n\n\n<li>QA Contract tests&nbsp;<\/li>\n\n\n\n<li>Dev and QA environment setups need more microservices to be setup<\/li>\n\n\n\n<li>A minimum set of resources for the container. Sum of all the minimums can end up being sub-optimal resource utilization which needs to be managed<\/li>\n\n\n\n<li>Separate repositories and management of them<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These challenges can have a significant impact on the original problems it set out to solve, but can also create new problems:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Engineer productivity &#8211; More time to set things up and debug a slew of microservices to isolate a problem<\/li>\n\n\n\n<li>Quality &#8211; More touchpoints and dependencies decreases the robustness of the system<\/li>\n\n\n\n<li>Cost &#8211; Cost in terms of resources and people for operational management<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">What is the Solution?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Is the solution to go back to a monolith? No, because that would take us back to the original set of problems. Although admittedly, some organizations have chosen this approach based on their context.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What we recommend is to take a balanced approach based on your context. You can ask these questions and consider the pointers while deciding.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Are the scale requirements in the split-up microservices that different?\n<ul class=\"wp-block-list\">\n<li>With a difference of e.g. 10 reqs\/sec vs 100 reqs\/sec the services need not be split up.&nbsp; The threshold can be higher e.g. 100x<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Is the bar for \u201cBounded context\u201d appropriate?\n<ul class=\"wp-block-list\">\n<li>Approach it from the product angle top-down<\/li>\n\n\n\n<li>E.g. If you have different personas for your product, the bounded context is the product, and not the \u201cpersona-product\u201d combination<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Scaling Teams &#8211; Have a higher bar at the team level and not at an engineer level<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Parting Thoughts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s look at the advantages of Microservices, as well as what can be the downsides if it becomes one too many.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once you are aware that you can end up with a lot of Microservices (Nano services), you can take a more conscious approach while creating new microservices.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If this sounds like something that tickles your brain cells, then we have some exciting opportunities lined up for engineers just like you!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><a href=\"https:\/\/cashfree.com\/careers?utm_source=blog&amp;utm_medium=organic&amp;utm_campaign=journey_from_monolith_to_microservices\"><img decoding=\"async\" style=\"\" src=\"https:\/\/lh4.googleusercontent.com\/X6Y4iz3ZeaGtcz4krv6j7MOKO84dSBpkfoT2cV9EVadog7saHBw5UsbCOl3SdHWGuKqw-O2-orxN-wZvaUYbZUZGCs0HQmCVfucliTKQ32qdcOIIyc3G80eCfmRC7Fs1s-1NENhmjHuMAhVAt1w\" alt=\"How Cashfree Payments Achieves Concurrency: With Great Power Comes Great Responsibility\"><\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are in 2022, where Microservices are the norm. Most companies are either already on microservices or migrating to microservices or at least planning to do it at the least. Microservices seem to be a solution for all the past Technology and Agility problems. Is this really true? Are there any cons to this approach<\/p>\n","protected":false},"author":50,"featured_media":11144,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"_themeisle_gutenberg_block_has_review":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1,1497],"tags":[],"class_list":["post-11120","post","type-post","status-publish","format-standard","has-post-thumbnail","category-all","category-engineering"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The Journey from Monolith to Microservices<\/title>\n<meta name=\"description\" content=\"Microservices seem to be a solution for all the past Technology and Agility problems. Is this really true? Are there any cons to this approach and if yes, how do you manage them? This is what I will be exploring in this blog post.\" \/>\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.cashfree.com\/blog\/journey-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=\"The Journey from Monolith to Microservices\" \/>\n<meta property=\"og:description\" content=\"Microservices seem to be a solution for all the past Technology and Agility problems. Is this really true? Are there any cons to this approach and if yes, how do you manage them? This is what I will be exploring in this blog post.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cashfree.com\/blog\/journey-from-monolith-to-microservices\/\" \/>\n<meta property=\"og:site_name\" content=\"Cashfree Payments Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-29T06:46:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-07T13:46:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Journey-from-Monolith-to-Microservices-1.png?fit=1200%2C800&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ramkumar Venkatesan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"The Journey from Monolith to Microservices\" \/>\n<meta name=\"twitter:description\" content=\"Microservices seem to be a solution for all the past Technology and Agility problems. Is this really true? Are there any cons to this approach and if yes, how do you manage them? This is what I will be exploring in this blog post.\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ramkumar Venkatesan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Journey from Monolith to Microservices","description":"Microservices seem to be a solution for all the past Technology and Agility problems. Is this really true? Are there any cons to this approach and if yes, how do you manage them? This is what I will be exploring in this blog post.","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.cashfree.com\/blog\/journey-from-monolith-to-microservices\/","og_locale":"en_US","og_type":"article","og_title":"The Journey from Monolith to Microservices","og_description":"Microservices seem to be a solution for all the past Technology and Agility problems. Is this really true? Are there any cons to this approach and if yes, how do you manage them? This is what I will be exploring in this blog post.","og_url":"https:\/\/www.cashfree.com\/blog\/journey-from-monolith-to-microservices\/","og_site_name":"Cashfree Payments Blog","article_published_time":"2022-07-29T06:46:37+00:00","article_modified_time":"2023-03-07T13:46:15+00:00","og_image":[{"width":1200,"height":800,"url":"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Journey-from-Monolith-to-Microservices-1.png?fit=1200%2C800&ssl=1","type":"image\/png"}],"author":"Ramkumar Venkatesan","twitter_card":"summary_large_image","twitter_title":"The Journey from Monolith to Microservices","twitter_description":"Microservices seem to be a solution for all the past Technology and Agility problems. Is this really true? Are there any cons to this approach and if yes, how do you manage them? This is what I will be exploring in this blog post.","twitter_misc":{"Written by":"Ramkumar Venkatesan","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cashfree.com\/blog\/journey-from-monolith-to-microservices\/#article","isPartOf":{"@id":"https:\/\/blogrevamp.cashfree.com\/journey-from-monolith-to-microservices\/"},"author":{"name":"Ramkumar Venkatesan","@id":"https:\/\/blogrevamp.cashfree.com\/#\/schema\/person\/3836f3889166ec1246dd91fd73030a08"},"headline":"The Journey from Monolith to Microservices","datePublished":"2022-07-29T06:46:37+00:00","dateModified":"2023-03-07T13:46:15+00:00","mainEntityOfPage":{"@id":"https:\/\/blogrevamp.cashfree.com\/journey-from-monolith-to-microservices\/"},"wordCount":603,"commentCount":0,"image":{"@id":"https:\/\/www.cashfree.com\/blog\/journey-from-monolith-to-microservices\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Journey-from-Monolith-to-Microservices-1.png?fit=1200%2C800&ssl=1","articleSection":["All","Engineering"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.cashfree.com\/blog\/journey-from-monolith-to-microservices\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogrevamp.cashfree.com\/journey-from-monolith-to-microservices\/","url":"https:\/\/www.cashfree.com\/blog\/journey-from-monolith-to-microservices\/","name":"The Journey from Monolith to Microservices","isPartOf":{"@id":"https:\/\/blogrevamp.cashfree.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cashfree.com\/blog\/journey-from-monolith-to-microservices\/#primaryimage"},"image":{"@id":"https:\/\/www.cashfree.com\/blog\/journey-from-monolith-to-microservices\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Journey-from-Monolith-to-Microservices-1.png?fit=1200%2C800&ssl=1","datePublished":"2022-07-29T06:46:37+00:00","dateModified":"2023-03-07T13:46:15+00:00","author":{"@id":"https:\/\/blogrevamp.cashfree.com\/#\/schema\/person\/3836f3889166ec1246dd91fd73030a08"},"description":"Microservices seem to be a solution for all the past Technology and Agility problems. Is this really true? Are there any cons to this approach and if yes, how do you manage them? This is what I will be exploring in this blog post.","breadcrumb":{"@id":"https:\/\/www.cashfree.com\/blog\/journey-from-monolith-to-microservices\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cashfree.com\/blog\/journey-from-monolith-to-microservices\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.cashfree.com\/blog\/journey-from-monolith-to-microservices\/#primaryimage","url":"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Journey-from-Monolith-to-Microservices-1.png?fit=1200%2C800&ssl=1","contentUrl":"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Journey-from-Monolith-to-Microservices-1.png?fit=1200%2C800&ssl=1","width":1200,"height":800,"caption":"Cashfree Payments Journey from Monolith to Microservices"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cashfree.com\/blog\/journey-from-monolith-to-microservices\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogrevamp.cashfree.com\/"},{"@type":"ListItem","position":2,"name":"Engineering","item":"https:\/\/blogrevamp.cashfree.com\/category\/engineering\/"},{"@type":"ListItem","position":3,"name":"The Journey from Monolith to Microservices"}]},{"@type":"WebSite","@id":"https:\/\/blogrevamp.cashfree.com\/#website","url":"https:\/\/blogrevamp.cashfree.com\/","name":"Cashfree Payments Blog","description":"Cashfree Payments- Payment Gateway for India","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogrevamp.cashfree.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blogrevamp.cashfree.com\/#\/schema\/person\/3836f3889166ec1246dd91fd73030a08","name":"Ramkumar Venkatesan","url":"https:\/\/blogrevamp.cashfree.com\/author\/rvenkatesancashfreecom\/"}]}},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9MjXo-2Tm","jetpack_likes_enabled":false,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/blogrevamp.cashfree.com\/wp-content\/uploads\/2022\/07\/Cashfree-Payments-Journey-from-Monolith-to-Microservices-1.png?fit=1200%2C800&ssl=1","_links":{"self":[{"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/posts\/11120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/comments?post=11120"}],"version-history":[{"count":11,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/posts\/11120\/revisions"}],"predecessor-version":[{"id":16150,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/posts\/11120\/revisions\/16150"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/media\/11144"}],"wp:attachment":[{"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/media?parent=11120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/categories?post=11120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogrevamp.cashfree.com\/wp-json\/wp\/v2\/tags?post=11120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}