{"id":11125,"date":"2021-12-15T07:00:00","date_gmt":"2021-12-15T15:00:00","guid":{"rendered":"https:\/\/formtek.com\/blog\/?p=11125"},"modified":"2021-07-12T07:39:48","modified_gmt":"2021-07-12T15:39:48","slug":"microservices-are-they-worth-the-complexity","status":"publish","type":"post","link":"https:\/\/formtek.com\/blog\/microservices-are-they-worth-the-complexity\/","title":{"rendered":"Microservices: Are they Worth the Complexity?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Scaling, resilience and performance are some of the benefits that come with a microservice architecture.  Huge applications can be broken up into smaller pieces, and the individual pieces can then be scaled independently.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.linkedin.com\/in\/leifbeaton\/?originalSubdomain=ie\" data-type=\"URL\" data-id=\"https:\/\/www.linkedin.com\/in\/leifbeaton\/?originalSubdomain=ie\">Leif Beaton<\/a>, Senior Solutions Architect at NGINX, <a href=\"https:\/\/www.infoq.com\/presentations\/microservices-roundtable-2020\/\" data-type=\"URL\" data-id=\"https:\/\/www.infoq.com\/presentations\/microservices-roundtable-2020\/\">told InfoQ<\/a> that &#8220;there&#8217;s a tremendous array of benefits from going a microservices approach, ranging from the obvious, having more control over what a specific component is doing. Quality control over the overall application becomes easier too because when you update the search system or the payment system or whatever, you don&#8217;t have to do a full quality assurance on everything. You just need to focus your efforts on the component in question. There is also less tangible or perhaps less obvious ones. The freedom of choosing whatever technology or language is appropriate for the problem at hand is brilliant. It allows you to mix and match technologies to a much greater extent than would ever be conceivable in a monolithic world.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But a major issue with microservices is their complexity. A system architected with microservices can easily grow to have hundreds of different services, making it difficult to scale, monitor, track and debug problems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.linkedin.com\/in\/miketria\/\" data-type=\"URL\" data-id=\"https:\/\/www.linkedin.com\/in\/miketria\/\">Mike Tria<\/a>, head of platform engineering at Atlassian, <a href=\"https:\/\/sdtimes.com\/microservices\/microservices-at-scale-a-complexity-management-issue\/\" data-type=\"URL\" data-id=\"https:\/\/sdtimes.com\/microservices\/microservices-at-scale-a-complexity-management-issue\/\">said that<\/a> &#8220;If every time you\u2019re building some new microservice, you have to think about all of those concerns about security, where you\u2019re going to host it, what\u2019s the IAM user and role that you need access to, what other services can it talk to\u2014If developers need to figure all that stuff out every time, then you\u2019re going to have a real scaling challenge.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Even Martin Fowler, a major advocate behind the idea of microservices, warned that microservices aren&#8217;t always the right answer. &#8220;Any architectural style has trade-offs: strengths and weaknesses that we must evaluate according to the context that it&#8217;s used. This is certainly the case with microservices. While it&#8217;s a useful architecture &#8211; many, indeed most, situations would do better with a monolith.&#8221;<\/p>\n<div class=\"lightsocial_container\"><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/digg.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fmicroservices-are-they-worth-the-complexity%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/digg.png\" alt=\"Digg This\" title=\"Digg This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fmicroservices-are-they-worth-the-complexity%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/reddit.png\" alt=\"Reddit This\" title=\"Reddit This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.stumbleupon.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fmicroservices-are-they-worth-the-complexity%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/stumbleupon.png\" alt=\"Stumble Now!\" title=\"Stumble Now!\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/buzz.yahoo.com\/buzz?targetUrl=https%3A%2F%2Fformtek.com%2Fblog%2Fmicroservices-are-they-worth-the-complexity%2F&amp;headline=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/yahoo_buzz.png\" alt=\"Buzz This\" title=\"Buzz This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dzone.com\/links\/add.html?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fmicroservices-are-they-worth-the-complexity%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dzone.png\" alt=\"Vote on DZone\" title=\"Vote on DZone\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.facebook.com\/sharer.php?t=&amp;u=https%3A%2F%2Fformtek.com%2Fblog%2Fmicroservices-are-they-worth-the-complexity%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/facebook.png\" alt=\"Share on Facebook\" title=\"Share on Facebook\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/delicious.com\/save?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fmicroservices-are-they-worth-the-complexity%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/delicious.png\" alt=\"Bookmark this on Delicious\" title=\"Bookmark this on Delicious\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dotnetkicks.com\/kick\/?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fmicroservices-are-they-worth-the-complexity%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetkicks.png\" alt=\"Kick It on DotNetKicks.com\" title=\"Kick It on DotNetKicks.com\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/dotnetshoutout.com\/Submit?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fmicroservices-are-they-worth-the-complexity%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetshoutout.png\" alt=\"Shout it\" title=\"Shout it\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fmicroservices-are-they-worth-the-complexity%2F&amp;title=&amp;summary=&amp;source=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/linkedin.png\" alt=\"Share on LinkedIn\" title=\"Share on LinkedIn\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.technorati.com\/faves?add=https%3A%2F%2Fformtek.com%2Fblog%2Fmicroservices-are-they-worth-the-complexity%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/technorati.png\" alt=\"Bookmark this on Technorati\" title=\"Bookmark this on Technorati\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/twitter.com\/home?status=Reading+https%3A%2F%2Fformtek.com%2Fblog%2Fmicroservices-are-they-worth-the-complexity%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/twitter.png\" alt=\"Post on Twitter\" title=\"Post on Twitter\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.google.com\/buzz\/post?url=https%3A%2F%2Fformtek.com%2Fblog%2Fmicroservices-are-they-worth-the-complexity%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/google_buzz.png\" alt=\"Google Buzz (aka. Google Reader)\" title=\"Google Buzz (aka. Google Reader)\" \/><\/a><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Scaling, resilience and performance are some of the benefits that come with a microservice architecture. Huge applications can be broken up into smaller pieces, and the individual pieces can then be scaled independently. Leif Beaton, Senior Solutions Architect at NGINX,<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"https:\/\/formtek.com\/blog\/microservices-are-they-worth-the-complexity\/\">Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[87],"tags":[],"class_list":["post-11125","post","type-post","status-publish","format-standard","hentry","category-microservices"],"_links":{"self":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/11125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/comments?post=11125"}],"version-history":[{"count":1,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/11125\/revisions"}],"predecessor-version":[{"id":11126,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/11125\/revisions\/11126"}],"wp:attachment":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/media?parent=11125"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/categories?post=11125"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/tags?post=11125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}