{"id":18125,"date":"2020-09-04T02:56:00","date_gmt":"2020-09-04T02:56:00","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=18125"},"modified":"2020-09-04T04:32:27","modified_gmt":"2020-09-04T04:32:27","slug":"examples-of-microservices-architecture","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/examples-of-microservices-architecture\/","title":{"rendered":"Examples of Microservices Architecture"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Various Example architectures and their benefits<\/h3>\n\n\n\n<p>For Global Mantics might look like and what advantages these architectues might brings to the tablse.<br>We&#8217;ll also talk about some possible team structures that support each architecture. Here&#8217;s an easy stage<br>migration away from a monolithic architecture towards micro service&#8217;s.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/Organization-level-Benefits.png\" alt=\"Organization level Benefits\" class=\"wp-image-18126\" width=\"461\" height=\"217\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/Organization-level-Benefits.png 841w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/Organization-level-Benefits-300x141.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/Organization-level-Benefits-768x362.png 768w\" sizes=\"auto, (max-width: 461px) 100vw, 461px\" \/><figcaption>Organization level Benefits<\/figcaption><\/figure>\n\n\n\n<p>You can see that most of the functionality is still in the monolith. However, the monolith differs out from this microservice to analyze uploaded images. One of the benefits that kind of architecture can bring is that you can begin quarantining the legacy monolith and establishing policies so that the monolith is no Lee, modified when necessary, New functionality should be built in Microservice is as much as possible. An architecture like this can often be the proving ground for whether or not a micro service&#8217;s approach would work in a given environment or given organization. It may be that only a handful of people are working on this image analysis service, while the remainder of the global Mantex large team continues to maintain the monolith as different teams conceived. A new microservice is over time. The monolith can be shrunk and eventually retired, potentially leaving something like this hub and spoke architecture, where requests to the application enter through the hub, also called an API gateway, and then get deferred out to various service is this is a relatively simple architecture and demonstrates a couple of key advantages.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/even-driven-Architecture.png\" alt=\"\" class=\"wp-image-18127\" width=\"530\" height=\"280\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/even-driven-Architecture.png 865w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/even-driven-Architecture-300x158.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/even-driven-Architecture-768x406.png 768w\" sizes=\"auto, (max-width: 530px) 100vw, 530px\" \/><\/figure>\n\n\n\n<p>First, these back End service&#8217;s functionality is aligned toe logical separations in the global Mantex business. meaning that we can concentrate domain expertise onto the teams that maintain the code that represents each domain. Next, let&#8217;s also say that the API Gateway handles authorization, which simplifies the implementation of the back and service is significant by removing the burden of authorization. Checking from those back in service is this API gateway. <\/p>\n\n\n\n<p>A microservice in and of itself is an example of a cross-cutting concern like authorization, being isolated to concentrate expertise and simple the other portions of the architecture. The team that is responsible for the API gateway will likely be staffed differently than the back end service teams. This team needs little domain expertise. This team is primarily concerned with performance and security. This may be a place to emphasize high availability and resiliency since it&#8217;s the point at which API requests would be measured for success or failure.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"519\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/hybrid-Event-driven-RPC-Architecture-1024x519.png\" alt=\"\" class=\"wp-image-18128\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/hybrid-Event-driven-RPC-Architecture-1024x519.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/hybrid-Event-driven-RPC-Architecture-300x152.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/hybrid-Event-driven-RPC-Architecture-768x389.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/09\/hybrid-Event-driven-RPC-Architecture.png 1211w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Here is a different kind of micro service&#8217;s architecture, where all of<br>the microservices communicate with one another by way of a message bus passing information to one another in the form of an event. In this kind of<br>event-driven architecture, new service is can be brought into the architecture with a minimum of change to other services is data that passes across the<br>message can be observed by any service, creating opportunities to combine existing types of data in new and interesting ways. Message<br>buses aren&#8217;t required for micro service&#8217;s architectures, but they are common.<\/p>\n\n\n\n<p>It&#8217;s also common to see a situation like this where the communication mechanism between service is a hybrid where some service communicates directly with others in an R.P.C style and another communication is facilitated by the message bus. In an architecture like this, we can take advantage of the simplicity of RPC style communications in some places and larger the flexibility of message<br>bus communication, In another<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Read Also: <a href=\"https:\/\/www.devopsschool.com\/blog\/examples-of-microservices-architecture\/\" target=\"_blank\" rel=\"noreferrer noopener\">Examples of Microservices Architecture<\/a><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Various Example architectures and their benefits For Global Mantics might look like and what advantages these architectues might brings to the tablse.We&#8217;ll also talk about some possible team structures that support each architecture. Here&#8217;s an easy stagemigration away from a monolithic architecture towards micro service&#8217;s. You can see that most of the functionality is still&#8230;<\/p>\n","protected":false},"author":14,"featured_media":18103,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[5124],"tags":[5133,4922,5085,2745,5125],"class_list":["post-18125","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microservices","tag-var-file","tag-architecture","tag-events","tag-hybrid","tag-microservices"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/18125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=18125"}],"version-history":[{"count":2,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/18125\/revisions"}],"predecessor-version":[{"id":18135,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/18125\/revisions\/18135"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/18103"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=18125"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=18125"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=18125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}