services https://old.t2.sa/en en Microservices Architecture https://old.t2.sa/en/blog/Microservices/Architecture <span>Microservices Architecture</span> <span><span>n.zendah</span></span> <span>Sun, 08/08/2021 - 11:14</span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p class="text-align-justify"> </p> <p class="text-align-justify"><img alt="Microservices Architecture1" class="img-responsive" data-entity-type="file" data-entity-uuid="a4d8225b-65ca-4100-9178-6c8cbcbb8295" height="293" src="/sites/default/files/inline-images/545.png" width="585" loading="lazy" /></p> <p class="text-align-justify"> </p> <h3 class="text-align-justify" style="line-height: 1.295; background-color: rgb(246, 246, 246); margin-top: 22px; padding: 0pt 0pt 8.25pt;"><strong><span style="font-size:21pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#4d4d4d"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Definition</span></span></span></span></span></span></strong></h3> <p class="text-align-justify" style="line-height:1.295; margin-bottom:11px"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Calibri,sans-serif"><span style="color:#000000"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Microservice architecture, or simply microservices </span></span></span></span></span></span><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:'Helvetica Neue',sans-serif"><span style="color:#333333"><span style="background-color:#ffffff"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">is an architectural style that structures an application as a collection of services, The trend has grown popular in recent years as enterprises look to become more Agile.</span></span></span></span></span></span></span></p> <p class="text-align-justify"> </p> <p class="text-align-justify" style="line-height:1.295; margin-bottom:11px"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Calibri,sans-serif"><span style="color:#000000"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">A microservices takes this same approach and extends it to the loosely coupled services which can be developed, deployed, and maintained independently. Each of these services is responsible for discrete task and can communicate with other services through simple APIs to solve a larger complex business problem.</span></span></span></span></span></span></p> <p class="text-align-justify"> </p> <p class="text-align-justify" style="line-height:1.295; margin-bottom:11px"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Calibri,sans-serif"><span style="color:#000000"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">This architecture means that each service can run its own unique process and communicate autonomously without having to rely on the other microservices or the application.</span></span></span></span></span></span></p> <p class="text-align-justify"> </p> <h3 class="text-align-justify" style="line-height: 1.295; background-color: rgb(246, 246, 246); margin-top: 22px; padding: 0pt 0pt 8.25pt;"><span style="font-size:21pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#4d4d4d"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">How microservices works</span></span></span></span></span></span></h3> <p class="text-align-justify" style="line-height:1.295; margin-bottom:11px"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Calibri,sans-serif"><span style="color:#000000"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Microservices are a set of services that act together to make a whole application operate. This architecture utilizes APIs to pass information, such as user queries or a data stream, from one service to another.</span></span></span></span></span></span></p> <p class="text-align-justify" style="line-height:1.295; margin-bottom:11px"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Calibri,sans-serif"><span style="color:#000000"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">How the underlying software works, or which hardware the service is built upon, depends solely on the team who built the service. This makes both communicating between teams and upgrading services very dynamic even reactive allowing a software company or team to be more resilient in its development.</span></span></span></span></span></span></p> <p class="text-align-justify" style="line-height:1.295; margin-bottom:11px"> </p> <p class="text-align-justify"><img alt="Microservices Architecture2" class="img-responsive" data-entity-type="file" data-entity-uuid="f55914ce-7d66-4493-b8e9-65083b51403e" src="/sites/default/files/inline-images/545.jpg" width="983" height="516" loading="lazy" /></p> <p class="text-align-justify"> </p> <h3 class="text-align-justify" style="line-height: 1.295; background-color: rgb(246, 246, 246); margin-top: 22px; padding: 0pt 0pt 8.25pt;"><strong><span style="font-size:21pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#4d4d4d"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Benefits</span></span></span></span></span></span></strong></h3> <p class="text-align-justify" style="line-height:1.2; background-color:#ffffff; margin-bottom:8px; padding:-2.25pt 0pt 0pt 0pt"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#202122"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">The benefit of decomposing an application into different smaller services are numerous:</span></span></span></span></span></span></p> <ol><li aria-level="1" class="text-align-justify" style="list-style-type:decimal"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#202122"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Better Fault Isolation for More Resilient Applications.</span></span></span></span></span></span></li> <li aria-level="1" class="text-align-justify" style="list-style-type:decimal"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#202122"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Modularity: This makes the application easier to understand, develop, test, and become more resilient to architecture erosion.</span></span></span></span></span></span></li> <li aria-level="1" class="text-align-justify" style="list-style-type:decimal"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#202122"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Scalability: Since microservices are implemented and deployed independently of each other. So, they run within independent processes, they can be monitored and scaled independently.</span></span></span></span></span></span></li> <li aria-level="1" class="text-align-justify" style="list-style-type:decimal"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#202122"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Distributed development: it parallelizes development by enabling small autonomous teams to develop, deploy and scale their respective services independently.</span></span></span></span></span></span></li> </ol><p class="text-align-justify" style="line-height:1.2; background-color:#ffffff; margin-top:8px; padding:0pt 0pt 6pt 0pt"> </p> <h3 class="text-align-justify" style="line-height: 1.2; background-color: rgb(255, 255, 255); padding: 31.5pt 0pt 7.5pt;"><strong><span style="font-size:18pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:'Open Sans',sans-serif"><span style="color:#232323"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Disadvantages</span></span></span></span></span></span></strong></h3> <p class="text-align-justify" style="line-height:1.2; background-color:#ffffff; margin-bottom:8px"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#202122"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">the microservice architecture comes with a learning curve. Users might struggle to determine the right framework to integrate services or each microservice’s size More broadly, microservices have these Disadvantages:</span></span></span></span></span></span></p> <ol><li aria-level="1" class="text-align-justify" style="list-style-type:decimal"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#202122"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Microservices can be more expensive, they usually run in their own environments with their own CPUs and work through API calls which have a price tag and requires a team of engineers that capable of building it, so labor costs are going to be more.</span></span></span></span></span></span></li> <li aria-level="1" class="text-align-justify" style="list-style-type:decimal"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#202122"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Finally, because microservices will exist through different environments on different running machines with different API calls, they offer more points of contact for an attacker to get in and damage the system.</span></span></span></span></span></span></li> </ol><p class="text-align-justify" style="line-height:1.2; background-color:#ffffff; margin-top:8px; padding:0pt 0pt 6pt 0pt"> </p> <p class="text-align-justify" style="line-height:1.2; background-color:#ffffff; padding:0pt 0pt 6pt 0pt"> </p> <h3 class="text-align-justify" style="line-height: 1.295; background-color: rgb(246, 246, 246); padding: 10.5pt 0pt 8.25pt;"><strong><span style="font-size:21pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#4d4d4d"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Examples</span></span></span></span></span></span></strong></h3> <p class="text-align-justify" style="line-height:1.2; background-color:#ffffff; padding:-2.25pt 0pt 6pt 0pt"> </p> <p class="text-align-justify" style="line-height:1.2; background-color:#ffffff; margin-bottom:8px"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#202122"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Many large companies now utilize microservices within their architecture. Netflix is one of the earlier, most well-known adopters. Some other well-known examples are:</span></span></span></span></span></span></p> <ul><li aria-level="1" class="text-align-justify" style="list-style-type:disc"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#202122"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">eBay</span></span></span></span></span></span></li> <li aria-level="1" class="text-align-justify" style="list-style-type:disc"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#202122"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">PayPal</span></span></span></span></span></span></li> <li aria-level="1" class="text-align-justify" style="list-style-type:disc"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#202122"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Twitter</span></span></span></span></span></span></li> <li aria-level="1" class="text-align-justify" style="list-style-type:disc"><span style="font-size:11pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#202122"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Amazon</span></span></span></span></span></span></li> </ul></div> <div class="field field--name-field-media-single field--type-entity-reference field--label-above"> <div class="field--label">Banner image</div> <div class="field--item"><a href="/en/media/492" hreflang="en">Microservices Architecture.jpeg</a></div> </div> <section> <h2>Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=180&amp;2=field_comments&amp;3=comment" token="AvesC6SMHC6sHNY1LaASNxmRuazOB7dhadZro2kazsg"></drupal-render-placeholder> </section> <div class="field field--name-field-tags field--type-entity-reference field--label-above"> <div class="field--label">Tags</div> <div class="field--items"> <div class="field--item"><a href="/en/taxonomy/term/101" hreflang="en">Microservice</a></div> <div class="field--item"><a href="/en/taxonomy/term/57" hreflang="en">Architecture</a></div> <div class="field--item"><a href="/en/taxonomy/term/102" hreflang="en">services</a></div> </div> </div> <div class="field field--name-field-author field--type-entity-reference field--label-above"> <div class="field--label">Author</div> <div class="field--item"><a href="/en/node/179" hreflang="en">Laith Manaa</a></div> </div> Sun, 08 Aug 2021 08:14:05 +0000 n.zendah 180 at https://old.t2.sa