{"id":18203,"date":"2020-05-26T08:17:23","date_gmt":"2020-05-26T06:17:23","guid":{"rendered":"https:\/\/www.inovex.de\/blog\/?p=18203"},"modified":"2022-11-21T16:34:54","modified_gmt":"2022-11-21T15:34:54","slug":"hype-meets-harsh-reality-microservices-in-the-wild-part-3","status":"publish","type":"post","link":"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/","title":{"rendered":"Hype Meets Harsh Reality: Microservices in the Wild Part 3"},"content":{"rendered":"<p>This is the third and final part of our article series on what a real life migration from a monolithic application to a multi- or microservices system can look like. In the previous parts we talked about<\/p>\n<ul>\n<li>why we thought we&#8217;d need a change,<\/li>\n<li>what we changed in the past,<\/li>\n<li>what we didn&#8217;t change, and<\/li>\n<li>which problems came along with the changes.<\/li>\n<\/ul>\n<p>This article will summarise our thoughts about the improvements and worsenings.<!--more--><\/p>\n<figure id=\"attachment_18315\" aria-describedby=\"caption-attachment-18315\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-18315\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/03\/krissana-porto-p6gQCmySSO4-unsplash-1024x683.jpg\" alt=\"telescope over cityscape\" width=\"1024\" height=\"683\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/03\/krissana-porto-p6gQCmySSO4-unsplash-1024x683.jpg 1024w, https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/03\/krissana-porto-p6gQCmySSO4-unsplash-300x200.jpg 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/03\/krissana-porto-p6gQCmySSO4-unsplash-768x512.jpg 768w, https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/03\/krissana-porto-p6gQCmySSO4-unsplash-1536x1024.jpg 1536w, https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/03\/krissana-porto-p6gQCmySSO4-unsplash-2048x1365.jpg 2048w, https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/03\/krissana-porto-p6gQCmySSO4-unsplash-1920x1280.jpg 1920w, https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/03\/krissana-porto-p6gQCmySSO4-unsplash-400x267.jpg 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/03\/krissana-porto-p6gQCmySSO4-unsplash-360x240.jpg 360w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption id=\"caption-attachment-18315\" class=\"wp-caption-text\">Looking back and ahead.<\/figcaption><\/figure>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\"><\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#Summary\" >Summary<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#What-Made-It-Easy-What-Made-It-Hard-External-Influences\" >What Made It Easy, What Made It Hard (External Influences)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#What-Improved\" >What Improved<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#What-Got-Worse\" >What Got Worse<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#Would-We-Do-It-Again\" >Would We Do It Again?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#Should-You-Do-It\" >Should You Do It?<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Summary\"><\/span>Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>At the time of writing approximately one year has passed since we took the first step to change our architecture and there are still a lot of things we&#8217;d like to change. In this time our team grew quickly from two to nine developers and then shrank back to 5 developers again. We created new services for parts of the application that are very independent from the old main service. We also added components like elastic and redis and stabilized our database by making it run in a <a href=\"https:\/\/www.inovex.de\/blog\/redis-sentinel-make-your-dataset-highly-available\/\">high availability<\/a> setup.<\/p>\n<p>Despite all the changes we made, at the core it is still more of a multiservice than a microservice architecture. Especially since there remains one service a lot bigger than all others. Additional services have been added and their size probably better matches the expected size of\u00a0 a microservice. They also fulfill the concept of separated concerns better with clearly separated functional topics.<\/p>\n<p>We did not end up with 100 services, but with 8 over the period of 4 years. They are all different in size and all are not cut with only \u201cone singular concern\u201c, but a bigger collection of concerns.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"What-Made-It-Easy-What-Made-It-Hard-External-Influences\"><\/span>What Made It Easy, What Made It Hard (External Influences)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>What helped us a lot to make the change was the agile development process we applied. This allowed us to make incremental changes and add features over time. What would have helped us even more within this process are early user tests. Most of the time, we only worked with ourr vision of a product. This perspective might have changed if we had had input from actual users on the new parts of the application.<\/p>\n<p>The technical side of the hosting infrastructure sadly also was one of the restricting factors. Every new service means new virtual machines that have to be set up initially and managed afterwards. But this setup also is the devil we know very well in this project. A switch from this static type of infrastructure to a more dynamic one comes at the price of many unknowns and maybe even more work than before. We therefore decided against it. To this day we can only estimate the difference in effort and costs between those setups.<\/p>\n<p>During the progress of changes in the system more things popped up that we would have liked to address. But since time and resources were, we did not always do so. Technical tasks have been prioritized by the amount of improvement they will give to users, owners and sometimes developers. We did not put a lot of work into items that would only have a small impact on any of the named parties. This only works in combination with the expectation of them not becoming an impediment further down the road of course. This particularly applies now, that the team considerably shrank in size despite ever ongoing new features being pushed.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"What-Improved\"><\/span>What Improved<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Many things changed moving towards multiple smaller services. Here is what improvements it brought us in a nutshell:<\/p>\n<ul>\n<li>Changing parts of the codebase is less likely to break the overall application<\/li>\n<li>Deployments are less risky since they impact a smaller portion of the system<\/li>\n<li>Less technical debt is being built up\n<ul>\n<li>The new services allowed testing new major versions of libraries like Spring<\/li>\n<li>Less dependencies that cannot be updated due to application-internal version requirements<\/li>\n<\/ul>\n<\/li>\n<li>Better separation of technical and functional concerns that also makes the overall application more resilient<\/li>\n<li>New team members can start working more quickly on independent features<\/li>\n<li>Components of the system that are more likely to fail can be isolated<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"What-Got-Worse\"><\/span>What Got Worse<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>With all these improvements there come some tradeoffs of course. We want to make no bones of them either:<\/p>\n<ul>\n<li>Communications: The separation of concerns is not perfect and some information has to be shared\n<ul>\n<li>Some types of information made us spin up a redis cache. This is now an additional part of the system that has to be maintained.<\/li>\n<li>Components have to partially rely on others in order to work properly and are not completely independent<\/li>\n<\/ul>\n<\/li>\n<li>Dependencies also concern the versioning and backward compatibility is important\n<ul>\n<li>The timing of deployments therefore has to be considered<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Especially the coupling can probably be solved with other concepts like event sourcing and\/or message queues. But we decided against it because problems are still small in comparison to the estimated effort and increase in complexity.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Would-We-Do-It-Again\"><\/span>Would We Do It Again?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The way we took is not the only one to go forward. But still: Yes. Our customer will scale out further in the future and this still seems to be the safer bet for us, both for the complexity of development and also a more predictable performance with separate service parts.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Should-You-Do-It\"><\/span>Should You Do It?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>There surely is no single answer to this question. What we have instead for you is a collection of more questions. By answering these, you might get closer to your solution:<\/p>\n<ul>\n<li>Do you only want to get rid of a monolith because you heard it\u2019s a bad decision?<\/li>\n<li>What is currently limiting your monolithic application? Will a multiservice solution solve this?<\/li>\n<li>Have you thought about the additional complexity multiple services will bring along?<\/li>\n<li>Can you scale your monolith in other ways that are less complex and will still be sufficient in the future?<\/li>\n<li>Does it make sense for your current team setup to support the development of multiple services?<\/li>\n<li>Do you need multiple differently scaled services or microservices\u2122?<\/li>\n<\/ul>\n<p>Whether you have answers for these questions or still hunger for some abstract recommendation, here you go:<\/p>\n<p>If you are sure your application will grow considerably in the future, you want to address it right now and have the time and resources for it, then it will probably be worth considering microservices. Growth, in this case, can be either in the way of new features or maybe even the load being generated by many applications or users accessing the application. Since we also see complexity coming along with a multiservice application, we still recommend considering the additional effort you will meet along the way. Don\u2019t do it \u201cjust because\u201c or because \u201cit\u2019s the way things are done today\u201c, but make a reasonable decision weighing the pros and cons. And also remember, there is a middle ground between the two architectures.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is the third and final part of our article series on what a real life migration from a monolithic application to a multi- or microservices system can look like. In the previous parts we talked about why we thought we&#8217;d need a change, what we changed in the past, what we didn&#8217;t change, and [&hellip;]<\/p>\n","protected":false},"author":138,"featured_media":18033,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"ep_exclude_from_search":false,"footnotes":""},"tags":[68,79],"service":[425,444,928],"coauthors":[{"id":138,"display_name":"Daniel Schreier","user_nicename":"dschreier"}],"class_list":["post-18203","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-backend","tag-replatforming","service-backend","service-frontend","service-inovex-life"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hype Meets Harsh Reality: Microservices in the Wild Part 3 - inovex GmbH<\/title>\n<meta name=\"description\" content=\"Everyone wants to leave monoliths behind for new and shiny microservices these days. We have a look at the implications this had for our real-world project and why you would (not) want to go down that road. Part 3 summarizes and thinks about pros and cons.\" \/>\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.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hype Meets Harsh Reality: Microservices in the Wild Part 3 - inovex GmbH\" \/>\n<meta property=\"og:description\" content=\"Everyone wants to leave monoliths behind for new and shiny microservices these days. We have a look at the implications this had for our real-world project and why you would (not) want to go down that road. Part 3 summarizes and thinks about pros and cons.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/\" \/>\n<meta property=\"og:site_name\" content=\"inovex GmbH\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inovexde\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-26T06:17:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-21T15:34:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/01\/monoliths-microservices-3.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Daniel Schreier\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/01\/monoliths-microservices-3-1024x576.png\" \/>\n<meta name=\"twitter:creator\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:site\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Schreier\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Daniel Schreier\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\\\/\"},\"author\":{\"name\":\"Daniel Schreier\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/person\\\/3dcec5277d616c22a8bcd132e05266d5\"},\"headline\":\"Hype Meets Harsh Reality: Microservices in the Wild Part 3\",\"datePublished\":\"2020-05-26T06:17:23+00:00\",\"dateModified\":\"2022-11-21T15:34:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\\\/\"},\"wordCount\":1147,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/monoliths-microservices-3.png\",\"keywords\":[\"Backend\",\"Replatforming\"],\"articleSection\":[\"English Content\",\"General\",\"Infrastructure\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\\\/\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\\\/\",\"name\":\"Hype Meets Harsh Reality: Microservices in the Wild Part 3 - inovex GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/monoliths-microservices-3.png\",\"datePublished\":\"2020-05-26T06:17:23+00:00\",\"dateModified\":\"2022-11-21T15:34:54+00:00\",\"description\":\"Everyone wants to leave monoliths behind for new and shiny microservices these days. We have a look at the implications this had for our real-world project and why you would (not) want to go down that road. Part 3 summarizes and thinks about pros and cons.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/monoliths-microservices-3.png\",\"contentUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/monoliths-microservices-3.png\",\"width\":1920,\"height\":1080,\"caption\":\"A monolith being broken up into 3 microservices\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hype Meets Harsh Reality: Microservices in the Wild Part 3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\",\"name\":\"inovex GmbH\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\",\"name\":\"inovex GmbH\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/inovex-logo-16-9-1.png\",\"contentUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/inovex-logo-16-9-1.png\",\"width\":1921,\"height\":1081,\"caption\":\"inovex GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/inovexde\",\"https:\\\/\\\/x.com\\\/inovexgmbh\",\"https:\\\/\\\/www.instagram.com\\\/inovexlife\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/inovex\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UC7r66GT14hROB_RQsQBAQUQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/person\\\/3dcec5277d616c22a8bcd132e05266d5\",\"name\":\"Daniel Schreier\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c528335d505d7f130b20e35aaf89128199bd030768fffdda98423a4ddc19877c?s=96&d=retro&r=ga11a42c606092f7ee403db62eade98be\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c528335d505d7f130b20e35aaf89128199bd030768fffdda98423a4ddc19877c?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c528335d505d7f130b20e35aaf89128199bd030768fffdda98423a4ddc19877c?s=96&d=retro&r=g\",\"caption\":\"Daniel Schreier\"},\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/author\\\/dschreier\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hype Meets Harsh Reality: Microservices in the Wild Part 3 - inovex GmbH","description":"Everyone wants to leave monoliths behind for new and shiny microservices these days. We have a look at the implications this had for our real-world project and why you would (not) want to go down that road. Part 3 summarizes and thinks about pros and cons.","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.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/","og_locale":"de_DE","og_type":"article","og_title":"Hype Meets Harsh Reality: Microservices in the Wild Part 3 - inovex GmbH","og_description":"Everyone wants to leave monoliths behind for new and shiny microservices these days. We have a look at the implications this had for our real-world project and why you would (not) want to go down that road. Part 3 summarizes and thinks about pros and cons.","og_url":"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/","og_site_name":"inovex GmbH","article_publisher":"https:\/\/www.facebook.com\/inovexde","article_published_time":"2020-05-26T06:17:23+00:00","article_modified_time":"2022-11-21T15:34:54+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/01\/monoliths-microservices-3.png","type":"image\/png"}],"author":"Daniel Schreier","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/01\/monoliths-microservices-3-1024x576.png","twitter_creator":"@inovexgmbh","twitter_site":"@inovexgmbh","twitter_misc":{"Verfasst von":"Daniel Schreier","Gesch\u00e4tzte Lesezeit":"6\u00a0Minuten","Written by":"Daniel Schreier"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#article","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/"},"author":{"name":"Daniel Schreier","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/3dcec5277d616c22a8bcd132e05266d5"},"headline":"Hype Meets Harsh Reality: Microservices in the Wild Part 3","datePublished":"2020-05-26T06:17:23+00:00","dateModified":"2022-11-21T15:34:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/"},"wordCount":1147,"commentCount":0,"publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/01\/monoliths-microservices-3.png","keywords":["Backend","Replatforming"],"articleSection":["English Content","General","Infrastructure"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/","url":"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/","name":"Hype Meets Harsh Reality: Microservices in the Wild Part 3 - inovex GmbH","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#primaryimage"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/01\/monoliths-microservices-3.png","datePublished":"2020-05-26T06:17:23+00:00","dateModified":"2022-11-21T15:34:54+00:00","description":"Everyone wants to leave monoliths behind for new and shiny microservices these days. We have a look at the implications this had for our real-world project and why you would (not) want to go down that road. Part 3 summarizes and thinks about pros and cons.","breadcrumb":{"@id":"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#primaryimage","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/01\/monoliths-microservices-3.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2020\/01\/monoliths-microservices-3.png","width":1920,"height":1080,"caption":"A monolith being broken up into 3 microservices"},{"@type":"BreadcrumbList","@id":"https:\/\/www.inovex.de\/de\/blog\/hype-meets-harsh-reality-microservices-in-the-wild-part-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.inovex.de\/de\/"},{"@type":"ListItem","position":2,"name":"Hype Meets Harsh Reality: Microservices in the Wild Part 3"}]},{"@type":"WebSite","@id":"https:\/\/www.inovex.de\/de\/#website","url":"https:\/\/www.inovex.de\/de\/","name":"inovex GmbH","description":"","publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.inovex.de\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.inovex.de\/de\/#organization","name":"inovex GmbH","url":"https:\/\/www.inovex.de\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","width":1921,"height":1081,"caption":"inovex GmbH"},"image":{"@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/inovexde","https:\/\/x.com\/inovexgmbh","https:\/\/www.instagram.com\/inovexlife\/","https:\/\/www.linkedin.com\/company\/inovex","https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ"]},{"@type":"Person","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/3dcec5277d616c22a8bcd132e05266d5","name":"Daniel Schreier","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/c528335d505d7f130b20e35aaf89128199bd030768fffdda98423a4ddc19877c?s=96&d=retro&r=ga11a42c606092f7ee403db62eade98be","url":"https:\/\/secure.gravatar.com\/avatar\/c528335d505d7f130b20e35aaf89128199bd030768fffdda98423a4ddc19877c?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c528335d505d7f130b20e35aaf89128199bd030768fffdda98423a4ddc19877c?s=96&d=retro&r=g","caption":"Daniel Schreier"},"url":"https:\/\/www.inovex.de\/de\/blog\/author\/dschreier\/"}]}},"_links":{"self":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/18203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/users\/138"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/comments?post=18203"}],"version-history":[{"count":1,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/18203\/revisions"}],"predecessor-version":[{"id":39492,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/18203\/revisions\/39492"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media\/18033"}],"wp:attachment":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media?parent=18203"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/tags?post=18203"},{"taxonomy":"service","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/service?post=18203"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/coauthors?post=18203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}