{"id":5082,"date":"2015-01-06T07:00:38","date_gmt":"2015-01-06T15:00:38","guid":{"rendered":"http:\/\/formtek.com\/blog\/?p=5082"},"modified":"2014-12-01T08:35:13","modified_gmt":"2014-12-01T16:35:13","slug":"microservices-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity","status":"publish","type":"post","link":"https:\/\/formtek.com\/blog\/microservices-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity\/","title":{"rendered":"Microservices: Enabled by the Cloud, Fast Networks, Containers, and REST\/JSON Simplicity"},"content":{"rendered":"<p><a title=\"Microservices from wikipedia\" href=\"http:\/\/en.wikipedia.org\/wiki\/Microservices\" target=\"_blank\">Microservices <\/a>are lightweight fine-grained services that can be deployed with middleware or brokers. \u00a0The idea behind the approach has been around for some time, but a convergence of technologies, like the cloud, containers and REST\/JSON services is making the approach more possible to achieve. \u00a0Rather than build monolithic applications using &#8220;<a title=\"Big Balls of mud\" href=\"http:\/\/www.infoq.com\/news\/2014\/07\/building-deploying-microservices\" target=\"_blank\">big balls of mud <\/a>with <a title=\"Big balls of mud\" href=\"http:\/\/en.wikipedia.org\/wiki\/Big_ball_of_mud\" target=\"_blank\">tangled spaghetti code<\/a>&#8220;, a microservice architecture builds many small and focused components that can easily communicate with each other.<\/p>\n<p>Some characteristics of a microservice architecture were <a title=\"Microservices by Martin Fowler\" href=\"http:\/\/www.infoq.com\/news\/2014\/11\/gotober-fowler-microservices\" target=\"_blank\">recently described<\/a> by <a title=\"Martin Fowler bio\" href=\"http:\/\/martinfowler.com\/\" target=\"_blank\">Martin Fowler<\/a>\u00a0(and reported by <a title=\"Jan Stenberg on microservices\" href=\"http:\/\/www.infoq.com\/author\/Jan-Stenberg\" target=\"_blank\">Jan Stanberg<\/a> for InfoQ in a series of articles on microservice architecture):<\/p>\n<ul>\n<li><strong>Componentization<\/strong> to allow the independent replacement of individual pieces in a system<\/li>\n<li><strong>Decentralization<\/strong> with a database per service, rather than per company<\/li>\n<li><strong>Continuous delivery<\/strong> of updates and new features<\/li>\n<li><strong>Focus on business<\/strong>, rather than technology<\/li>\n<li><strong>Smart Endpoints and Dumb Pipes <\/strong>without an Enterprise Service Bus (ESB)<\/li>\n<\/ul>\n<p><a title=\"James Lewis bio\" href=\"https:\/\/twitter.com\/boicy\" target=\"_blank\">James Lewis<\/a>, a consultant at ThoughtWorks,\u00a0<a title=\"James Lewis on Microservices\" href=\"http:\/\/www.infoq.com\/news\/2014\/07\/building-deploying-microservices\" target=\"_blank\">said of a microservices architecture that<\/a>\u00a0&#8220;there should be a business and architecture isomorphism. A business person should be able to look at a high level map of the architecture and see the business represented there and similarly as technologists we should be able to look at the business and see the architecture represented there.&#8221;<\/p>\n<p>Some <a title=\"Reasons why Microservices might Succeed\" href=\"http:\/\/www.infoworld.com\/article\/2682502\/application-development\/application-development-what-microservices-architecture-really-means.html\" target=\"_blank\">reasons why microservices might succeed<\/a> in the current technology climate, as opposed to earlier technologies like Services Oriented Architecture (SOA), were detailed by <a title=\"Eric Knorr on Microservices\" href=\"http:\/\/www.infoworld.com\/author\/Eric-Knorr\/\" target=\"_blank\">Eric Knorr<\/a> and are as follows:<\/p>\n<ul>\n<li>Micro &#8211; the focus is on small and handling of a single function, rather than the bloated SOA services<\/li>\n<li>Cloud Infrastructure<\/li>\n<li>Simplicity &#8211; usually based on REST and JSON<\/li>\n<li>Container Technologies &#8211; like Docker, Mesos and Kubernates<\/li>\n<li>Faster, more reliable networking<\/li>\n<\/ul>\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-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity%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-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity%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-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity%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-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity%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-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity%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-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity%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-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity%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-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity%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-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity%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-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity%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-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity%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-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity%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-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity%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>Microservices are lightweight fine-grained services that can be deployed with middleware or brokers. \u00a0The idea behind the approach has been around for some time, but a convergence of technologies, like the cloud, containers and REST\/JSON services is making the approach<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"https:\/\/formtek.com\/blog\/microservices-enabled-by-the-cloud-fast-networks-containers-and-restjson-simplicity\/\">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":[36,38],"tags":[],"class_list":["post-5082","post","type-post","status-publish","format-standard","hentry","category-technology","category-web-services"],"_links":{"self":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/5082","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=5082"}],"version-history":[{"count":0,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/5082\/revisions"}],"wp:attachment":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/media?parent=5082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/categories?post=5082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/tags?post=5082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}