Let’s Architect! Architecting microservices with containers

海外精选
海外精选的内容汇集了全球优质的亚马逊云科技相关技术内容。同时,内容中提到的“AWS” 是 “Amazon Web Services” 的缩写,在此网站不作为商标展示。
0
0
{"value":"Microservices structure an application as a set of independently deployable services. They speed up software development and allow architects to quickly update systems to adhere to changing business requirements.\n\nAccording to best practices, the different services should be loosely coupled, organized around business capabilities, independently deployable, and owned by a single team. If applied correctly, there are multiple advantages to using microservices. However, working with microservices can also bring challenges. In this edition of Let’s Architect!, we explore the advantages, mental models, and challenges deriving from microservices with containers.\n\n#### **[Application integration patterns for microservices](https://www.youtube.com/watch?v=QhfuzEkN3Ck)**\nAs Tim Bray said in his time with Amazon Web Services, “If your application is cloud native, large scale, or distributed, and doesn’t include a messaging component, that’s probably a bug.”\n\nThis video evaluates several design patterns based on messaging and shows you how to implement them in your workloads to achieve the full capabilities of microservices. You’ll learn some fundamental application integration patterns and some of the benefits that asynchronous messaging can have over REST APIs for communication between microservices.\n\n![image.png](https://dev-media.amazoncloud.cn/d8ce371aa34248a98e85ea9a1d54ef97_image.png)\n\nThe scatter-gather pattern scales parallel processing across nodes and aggregates the results in a queue\n\n#### **[Distributed monitoring](https://docs.aws.amazon.com/whitepapers/latest/microservices-on-aws/distributed-monitoring.html)**\nCustomers often cite monitoring as one of the main challenges while working with containers. Monitoring collects operational data as logs, metrics, events, and traces to identify and respond to issues quickly and minimize disruptions.\n\nThis whitepaper covers cross-service challenges in microservices, including service discovery, distributed monitoring, and auditing. You’ll learn about the role of DNS and service meshes in interservice communication and discovery and the tools available for monitoring your clusters that run containers and for logging.\n\n![image.png](https://dev-media.amazoncloud.cn/77b941e57c8a4df1be95e7637e9972ef_image.png)\n\nThis view from Amazon Web Services X-Ray shows how a request can be tracked across different services. This is implemented by taking advantage of correlation IDs\n\n#### **[Create a pipeline with canary deployments for Amazon ECS using Amazon Web Services App Mesh](https://aws.amazon.com/blogs/containers/create-a-pipeline-with-canary-deployments-for-amazon-ecs-using-aws-app-mesh/)**\nWhen architects deploy a new version of an application, they want to test it on a set of users before routing all the traffic to the new version. This is known as a “canary deployment.” A canary deployment can automatically switch traffic back to the old version if some inconsistencies are detected. This decreases the impact of the bug(s) introduced in the new release. For microservices, this is helpful when testing a complex distributed system because you can send a percentage of traffic to newer versions in a controlled manner.\n\nA service mesh provides application-level networking so your services can communicate with each other across multiple types of compute infrastructure. This blog post shows how to use [Amazon Web Services App Mesh](https://aws.amazon.com/app-mesh) to implement a canary deployment strategy using [Amazon Web Services Step Functions](https://aws.amazon.com/step-functions/?step-functions.sort-by=item.additionalFields.postDateTime&step-functions.sort-order=desc) for orchestrating the different steps during testing and [Amazon Web Services Code Pipeline](https://aws.amazon.com/codepipeline/) for continuous delivery of each microservice.\n\n![image.png](https://dev-media.amazoncloud.cn/2bbbb709ce7341cfa1d41ec722e95e78_image.png)\n\nAn overview of the architecture used to create the pipeline and perform the canary deployments\n\n#### **[Running microservices in Amazon EKS with Amazon Web Services App Mesh and Kong](https://aws.amazon.com/blogs/containers/running-microservices-in-amazon-eks-with-aws-app-mesh-and-kong/)**\nDistributed architectures bring up several questions. How do we expose our APIs towards client-side applications? How do our microservices communicate?\n\nThis blog post answers these questions with a solution that uses [Amazon Elastic Kubernetes Service (Amazon EKS)](https://aws.amazon.com/eks/) in conjunction with Amazon Web Services App Mesh. This solution helps you manage the security and discoverability of microservices, and [Kong](https://konghq.com/products/kong-enterprise/kong-kubernetes/?itm_source=website&itm_medium=nav) protects your service mesh and runs side by side with your application services.\n\n![image.png](https://dev-media.amazoncloud.cn/87f028410d114a8a8d2468752ad5214d_image.png)\n\nThe Kong for Kubernetes architecture can be implemented using Amazon EKS and Amazon Web Services App Mesh\n\n#### **See you next time!**\nSee you in a couple of weeks when we discuss open source technologies on Amazon Web Services!\n\n**Looking for more architecture content?** [Amazon Web Services Architecture Center ](https://aws.amazon.com/architecture/) provides reference architecture diagrams, vetted architecture solutions, Well-Architected best practices, patterns, icons, and more!\n\n#### **Other posts in this series**\n- [Let’s Architect! Architecting for Sustainability](https://aws.amazon.com/blogs/architecture/lets-architect-1-architecture-and-sustainability/)\n- [Let’s Architect! Architecting for Machine Learning](https://aws.amazon.com/blogs/architecture/architecting-for-machine-learning/)\n- [Let’s Architect! Architecting for Security](https://aws.amazon.com/blogs/architecture/lets-architect-architecting-for-security/)\n- [Let’s Architect! Tools for Cloud Architects](https://aws.amazon.com/blogs/architecture/lets-architect-tools-for-cloud-architects/)\n- [Let’s Architect! Architecting for Blockchain](https://aws.amazon.com/blogs/architecture/lets-architect-architecting-for-blockchain/)\n\n![image.png](https://dev-media.amazoncloud.cn/cad1daad2cad420ea9eaac4160a6fad5_image.png)\n\n**Luca Mezzalira**\nLuca is Principal Solutions Architect based in London. He has authored several books and is an international speaker. He lent his expertise predominantly in the solution architecture field. Luca has gained accolades for revolutionizing the scalability of front-end architectures with micro-frontends, from increasing the efficiency of workflows, to delivering quality in products.\n\n![image.png](https://dev-media.amazoncloud.cn/26eb33eec8804f85867dc314de5b4b32_image.png)\n\n**Laura Hyatt**\nLaura Hyatt is a Solutions Architect for Amazon Web Services Public Sector and helps Education customers in the UK. Laura helps customers not only architect and develop scalable solutions but also think big on innovative solutions facing the education sector at present. Laura's specialty is IoT, and she is also the Alexa SME for Education across EMEA.\n\n![image.png](https://dev-media.amazoncloud.cn/410335705ab748b49770aa5d963e7ea3_image.png)\n\n**Vittorio Denti**\nVittorio Denti is a Solutions Architect at Amazon Web Services based in London. After completing his M.Sc. in Computer Science and Engineering at Politecnico di Milano (Milan) and the KTH Royal Institute of Technology (Stockholm), he joined Amazon Web Services. Vittorio has a background in Distributed Systems and Machine Learning, and a strong interest in cloud technologies. He’s especially passionate for software engineering, building ML solutions, and putting ML into production.\n\n![image.png](https://dev-media.amazoncloud.cn/2ab9aa7b19964f899a1b75289c4feb86_image.png)\n\n**Zamira Jaupaj**\nZamira is an Enterprise Solutions Architect based in the Netherlands. She is highly passionate IT professional with over 10 years of multi-national experience in designing and implementing critical and complex solutions with containers, serverless, and data analytics for small and enterprise companies.","render":"<p>Microservices structure an application as a set of independently deployable services. They speed up software development and allow architects to quickly update systems to adhere to changing business requirements.</p>\n<p>According to best practices, the different services should be loosely coupled, organized around business capabilities, independently deployable, and owned by a single team. If applied correctly, there are multiple advantages to using microservices. However, working with microservices can also bring challenges. In this edition of Let’s Architect!, we explore the advantages, mental models, and challenges deriving from microservices with containers.</p>\n<h4><a id=\"Application_integration_patterns_for_microserviceshttpswwwyoutubecomwatchvQhfuzEkN3Ck_4\"></a><strong><a href=\"https://www.youtube.com/watch?v=QhfuzEkN3Ck\" target=\"_blank\">Application integration patterns for microservices</a></strong></h4>\n<p>As Tim Bray said in his time with Amazon Web Services, “If your application is cloud native, large scale, or distributed, and doesn’t include a messaging component, that’s probably a bug.”</p>\n<p>This video evaluates several design patterns based on messaging and shows you how to implement them in your workloads to achieve the full capabilities of microservices. You’ll learn some fundamental application integration patterns and some of the benefits that asynchronous messaging can have over REST APIs for communication between microservices.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/d8ce371aa34248a98e85ea9a1d54ef97_image.png\" alt=\"image.png\" /></p>\n<p>The scatter-gather pattern scales parallel processing across nodes and aggregates the results in a queue</p>\n<h4><a id=\"Distributed_monitoringhttpsdocsawsamazoncomwhitepaperslatestmicroservicesonawsdistributedmonitoringhtml_13\"></a><strong><a href=\"https://docs.aws.amazon.com/whitepapers/latest/microservices-on-aws/distributed-monitoring.html\" target=\"_blank\">Distributed monitoring</a></strong></h4>\n<p>Customers often cite monitoring as one of the main challenges while working with containers. Monitoring collects operational data as logs, metrics, events, and traces to identify and respond to issues quickly and minimize disruptions.</p>\n<p>This whitepaper covers cross-service challenges in microservices, including service discovery, distributed monitoring, and auditing. You’ll learn about the role of DNS and service meshes in interservice communication and discovery and the tools available for monitoring your clusters that run containers and for logging.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/77b941e57c8a4df1be95e7637e9972ef_image.png\" alt=\"image.png\" /></p>\n<p>This view from Amazon Web Services X-Ray shows how a request can be tracked across different services. This is implemented by taking advantage of correlation IDs</p>\n<h4><a id=\"Create_a_pipeline_with_canary_deployments_for_Amazon_ECS_using_Amazon_Web_Services_App_Meshhttpsawsamazoncomblogscontainerscreateapipelinewithcanarydeploymentsforamazonecsusingawsappmesh_22\"></a><strong><a href=\"https://aws.amazon.com/blogs/containers/create-a-pipeline-with-canary-deployments-for-amazon-ecs-using-aws-app-mesh/\" target=\"_blank\">Create a pipeline with canary deployments for Amazon ECS using Amazon Web Services App Mesh</a></strong></h4>\n<p>When architects deploy a new version of an application, they want to test it on a set of users before routing all the traffic to the new version. This is known as a “canary deployment.” A canary deployment can automatically switch traffic back to the old version if some inconsistencies are detected. This decreases the impact of the bug(s) introduced in the new release. For microservices, this is helpful when testing a complex distributed system because you can send a percentage of traffic to newer versions in a controlled manner.</p>\n<p>A service mesh provides application-level networking so your services can communicate with each other across multiple types of compute infrastructure. This blog post shows how to use <a href=\"https://aws.amazon.com/app-mesh\" target=\"_blank\">Amazon Web Services App Mesh</a> to implement a canary deployment strategy using <a href=\"https://aws.amazon.com/step-functions/?step-functions.sort-by=item.additionalFields.postDateTime&amp;step-functions.sort-order=desc\" target=\"_blank\">Amazon Web Services Step Functions</a> for orchestrating the different steps during testing and <a href=\"https://aws.amazon.com/codepipeline/\" target=\"_blank\">Amazon Web Services Code Pipeline</a> for continuous delivery of each microservice.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/2bbbb709ce7341cfa1d41ec722e95e78_image.png\" alt=\"image.png\" /></p>\n<p>An overview of the architecture used to create the pipeline and perform the canary deployments</p>\n<h4><a id=\"Running_microservices_in_Amazon_EKS_with_Amazon_Web_Services_App_Mesh_and_Konghttpsawsamazoncomblogscontainersrunningmicroservicesinamazonekswithawsappmeshandkong_31\"></a><strong><a href=\"https://aws.amazon.com/blogs/containers/running-microservices-in-amazon-eks-with-aws-app-mesh-and-kong/\" target=\"_blank\">Running microservices in Amazon EKS with Amazon Web Services App Mesh and Kong</a></strong></h4>\n<p>Distributed architectures bring up several questions. How do we expose our APIs towards client-side applications? How do our microservices communicate?</p>\n<p>This blog post answers these questions with a solution that uses <a href=\"https://aws.amazon.com/eks/\" target=\"_blank\">Amazon Elastic Kubernetes Service (Amazon EKS)</a> in conjunction with Amazon Web Services App Mesh. This solution helps you manage the security and discoverability of microservices, and <a href=\"https://konghq.com/products/kong-enterprise/kong-kubernetes/?itm_source=website&amp;itm_medium=nav\" target=\"_blank\">Kong</a> protects your service mesh and runs side by side with your application services.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/87f028410d114a8a8d2468752ad5214d_image.png\" alt=\"image.png\" /></p>\n<p>The Kong for Kubernetes architecture can be implemented using Amazon EKS and Amazon Web Services App Mesh</p>\n<h4><a id=\"See_you_next_time_40\"></a><strong>See you next time!</strong></h4>\n<p>See you in a couple of weeks when we discuss open source technologies on Amazon Web Services!</p>\n<p><strong>Looking for more architecture content?</strong> <a href=\"https://aws.amazon.com/architecture/\" target=\"_blank\">Amazon Web Services Architecture Center </a> provides reference architecture diagrams, vetted architecture solutions, Well-Architected best practices, patterns, icons, and more!</p>\n<h4><a id=\"Other_posts_in_this_series_45\"></a><strong>Other posts in this series</strong></h4>\n<ul>\n<li><a href=\"https://aws.amazon.com/blogs/architecture/lets-architect-1-architecture-and-sustainability/\" target=\"_blank\">Let’s Architect! Architecting for Sustainability</a></li>\n<li><a href=\"https://aws.amazon.com/blogs/architecture/architecting-for-machine-learning/\" target=\"_blank\">Let’s Architect! Architecting for Machine Learning</a></li>\n<li><a href=\"https://aws.amazon.com/blogs/architecture/lets-architect-architecting-for-security/\" target=\"_blank\">Let’s Architect! Architecting for Security</a></li>\n<li><a href=\"https://aws.amazon.com/blogs/architecture/lets-architect-tools-for-cloud-architects/\" target=\"_blank\">Let’s Architect! Tools for Cloud Architects</a></li>\n<li><a href=\"https://aws.amazon.com/blogs/architecture/lets-architect-architecting-for-blockchain/\" target=\"_blank\">Let’s Architect! Architecting for Blockchain</a></li>\n</ul>\n<p><img src=\"https://dev-media.amazoncloud.cn/cad1daad2cad420ea9eaac4160a6fad5_image.png\" alt=\"image.png\" /></p>\n<p><strong>Luca Mezzalira</strong><br />\nLuca is Principal Solutions Architect based in London. He has authored several books and is an international speaker. He lent his expertise predominantly in the solution architecture field. Luca has gained accolades for revolutionizing the scalability of front-end architectures with micro-frontends, from increasing the efficiency of workflows, to delivering quality in products.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/26eb33eec8804f85867dc314de5b4b32_image.png\" alt=\"image.png\" /></p>\n<p><strong>Laura Hyatt</strong><br />\nLaura Hyatt is a Solutions Architect for Amazon Web Services Public Sector and helps Education customers in the UK. Laura helps customers not only architect and develop scalable solutions but also think big on innovative solutions facing the education sector at present. Laura’s specialty is IoT, and she is also the Alexa SME for Education across EMEA.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/410335705ab748b49770aa5d963e7ea3_image.png\" alt=\"image.png\" /></p>\n<p><strong>Vittorio Denti</strong><br />\nVittorio Denti is a Solutions Architect at Amazon Web Services based in London. After completing his M.Sc. in Computer Science and Engineering at Politecnico di Milano (Milan) and the KTH Royal Institute of Technology (Stockholm), he joined Amazon Web Services. Vittorio has a background in Distributed Systems and Machine Learning, and a strong interest in cloud technologies. He’s especially passionate for software engineering, building ML solutions, and putting ML into production.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/2ab9aa7b19964f899a1b75289c4feb86_image.png\" alt=\"image.png\" /></p>\n<p><strong>Zamira Jaupaj</strong><br />\nZamira is an Enterprise Solutions Architect based in the Netherlands. She is highly passionate IT professional with over 10 years of multi-national experience in designing and implementing critical and complex solutions with containers, serverless, and data analytics for small and enterprise companies.</p>\n"}
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭
contact-us