Save time and effort in assessing your teams’ architectures with pattern-based architecture reviews

海外精选
海外精选的内容汇集了全球优质的亚马逊云科技相关技术内容。同时,内容中提到的“AWS” 是 “Amazon Web Services” 的缩写,在此网站不作为商标展示。
0
0
{"value":"Enterprise architecture frameworks use architecture reviews as a key governance mechanism to review and approve architecture designs, identify quality enhancements, and align architectural decisions with enterprise-wide standards. Architecture reviews are very thorough, but it typically takes a lot of time and teamwork to prepare for them, which means developers can’t always move as quickly as they’d like.\n\nIf your team needs a flexible, faster option to review their architecture, consider adopting pattern-based architecture reviews (PBARs). PBARs may not find every issue that a traditional architecture review will. However, in situations where you need to accommodate tight deadlines or budgets, changing project requirements, or multiple releases, they offer a simpler, quicker, more focused way to address issues and ensure your architecture aligns with business needs.\n\n\n### **Pattern-based architecture reviews vs. traditional architecture reviews**\n\n\nPBARs use generic architecture patterns (in other words, [generalized, reusable solutions to common design problems](https://www.researchgate.net/publication/224203448_Pattern-Based_Architecture_Reviews)) to review non-functional system properties and align architectural patterns to business outcomes.\n\n![image.png](https://dev-media.amazoncloud.cn/4a234ad2a3804a28bfe82e21a190886f_image.png)\n\nPBARs are broadly applicable to any cloud initiative, ranging from migration use cases to complex large-scale development initiatives. Here are just a few examples of ways to use them:\n\n- With cloud migrations, PBARs help manage various infrastructure and integration patterns, including like-for-like moves and full refactoring options.\n- A few infrastructure patterns, such as [N-tier architecture](https://docs.aws.amazon.com/whitepapers/latest/serverless-multi-tier-architectures-api-gateway-lambda/introduction.html), are applicable to many applications. After the [pilot phase](https://aws.amazon.com/blogs/architecture/designing-a-successful-pilot-phase-for-your-cloud-migration/), these cloud infrastructure patterns serve as reusable blueprints for follow-on migrations, which reduces the amount of repetitive work and [ensures compliance with security controls.](https://docs.aws.amazon.com/cdk/v2/guide/constructs.html)\n- With new development use cases, PBARs emphasize composition through reusable code\n- Teams with novel uses are encouraged to verify the new pattern through early prototyping as opposed to heavy documentation and requirements analysis.\n\n\n### **Use case: Applying PBARs across multiple teams to meet stringent go-live date**\n\n\nWe introduced PBARs to a global industrial company’s large cloud development initiative where developers had no prior AWS experience and their go-live date was in six months. The initiative spanned over 50 development teams along 10 functional domains and 11 geographical locations from Americas to Asia. Each team was responsible for developing between one and six customer-facing aggregated services exposed via APIs (asset management, tenant billing, customer onboarding, or event analytics).\n\n#### ***Socialize initial design patterns***\n\nTo get the team to use PBARs, we advocated to adopt particular managed/serverless services to reduce management overhead, as shown in Figure 1.\n\n![image.png](https://dev-media.amazoncloud.cn/ec431782f1e84b128d9a690b17645e62_image.png)\n\nFigure 1. Proposed AWS services for use by development teams\n\nWe also shared an initial set of design patterns, including:\n\n- Containerized Spring Boot services with [Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/?id=docs_gateway), [Amazon Elastic Container Service](https://docs.aws.amazon.com/ecs/?id=docs_gateway), and [Amazon Aurora](https://docs.aws.amazon.com/rds/?id=docs_gateway)\n- Serverless services with [Amazon API Gateway](https://docs.aws.amazon.com/apigateway/?id=docs_gateway), [AWS Lambda](https://docs.aws.amazon.com/lambda/?id=docs_gateway), and [Amazon DynamoDB](https://docs.aws.amazon.com/dynamodb/?id=docs_gateway), with extensions for data streaming and analysis (Figure 2)\n-[ AWS Elastic Beanstalk ](https://docs.aws.amazon.com/elastic-beanstalk/?id=docs_gateway)deployments of [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/?id=docs_gateway)-backed web services\n\n![image.png](https://dev-media.amazoncloud.cn/37be3deff049448b8732ab0cd18f2864_image.png)\n\nFigure 2. Containerized and serverless design patterns\n\n#### ***Shorten review times by applying lessons learned from early adopters***\n\nPBARs were run by domain architects, team architects, lead engineers, and product owners. We also invited teams with similar use cases and system requirements for joint reviews.\n\nThey brought knowledge and experience that allowed the process to conclude within two weeks for all teams with minimal preparation—significantly faster than traditional reviews.\n\n#### ***Complete reviews quicker and increase participation and understanding by focusing the review***\n\nBecause PBARs move quickly, we had to be specific about the areas we chose to focus on improving or evaluating. We worked towards identifying inconsistencies between system requirements and pattern selection, any special needs, and opportunities to improve on non-functional requirements, including:\n\n- Security\n- Availability and operations\n- Deployment process\n- Speed and reproducibility\n- Quality concerns and defects\n\nIn narrowing the PBAR’s scope, we were also able to complete the architecture reviews more quickly and increase participants’ understanding of the architecture and critical project needs.\n\n#### **Findings**\n\nOur technical findings showed single points of failure, service scalability limits, or opportunities to automate test/deployment/recovery processes.\n\nThe PBARs emphasized pattern reuse and, therefore, standardization in the early development phase. This required follow-on tailoring to individual use cases, such as distinguishing data ingest profiles by data type and throughput or moving from containerized deployments for data analytics jobs to [AWS Lambda](https://docs.aws.amazon.com/lambda/?id=docs_gateway) and [Amazon Athena](https://docs.aws.amazon.com/athena/?id=docs_gateway).\n\nPBARs also provided actionable feedback on what to address prior to the go-live date.\n\n- By emphasizing non-functional aspects, our PBARs helped create a case for zero-defect culture where fixing bugs had priority over new features.\n- Early-adopter teams of architectural patterns served as internal champions, providing informal support to others on how to address review findings.\n- Follow-on [game days ](https://wa.aws.amazon.com/wellarchitected/2020-07-02T19-33-23/wat.concept.gameday.en.html)and performance load tests helped teams gain first-hand exposure to PBAR findings in simulated environments.\n\nPBARs also provided actionable feedback on what to address prior to the go-live date.\n\n\n### **Introducing pattern-based architecture reviews in your organization**\n\n\nIn large enterprises, PBARs serve as a demand intake mechanism for their cloud center of excellence (CoE). They facilitate adoption of established pattern solutions and contribute new use cases to the enterprise-wide roadmap of cloud architectural patterns.\n\nThree organizational disciplines contribute to PBARs:\n\n1. Application teams envision system capabilities and outcomes and own decision-making on application design and operations.\n2. The enterprise architecture team oversee the adoption of architectural best practices and work closely with application teams and the cloud CoE to review architectural patterns.\n3. The cloud CoE approves and publishes pattern solutions and tracks their adoption in the cloud service catalog. At AWS, we use [AWS Service Catalog portfolios](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios.html) to publish pattern solutions to developers.\n\nFigure 3 describes the high-level process tasks and responsibilities:\n\n- Application teams solicit PBAR with enterprise architects who help identify and customize suitable design patterns for particular use cases.\n- If the use case requires novel pattern, architects work with the application team on early prototyping and approval of the novel system architecture. They also work with the cloud CoE team to generalize and publish novel pattern solutions in the service catalog of the cloud CoE.\n\nTo better align with agile development cycles, we recommend establishing internal commitments on the time to schedule and conduct PBARs as well as auto-approval options for teams re-using existing pattern solutions, in order to allow developers to move as quickly as possible.\n\n![image.png](https://dev-media.amazoncloud.cn/fc155f25c8694f1c976a5e6a831b7b88_image.png)\n\nFigure 3. PBAR workflow\n\nPBARs provide lightweight architectural governance across enterprises. They help focus your teams on non-functional system properties and align architectural patterns to business outcomes.\n\nAs shown in our use case, PBARs enable teams to build faster and help change the perception of enterprise-wide architecture reviews as a corporate guardrail. For teams with novel use cases, PBARs encourage pattern validation through early prototyping and therefore provide modern alternative for agile cloud projects.\n\nIf you are looking to scale your cloud architecture governance effectively, consider adopting PBARs.\n\n### **Related information**\n\nUse the following links to learn more about patterns you can use on your next architecture review:\n\n- [AWS Architecture Center](https://aws.amazon.com/architecture)\n- [Serverless Land](https://serverlessland.com/patterns)\n\n![image.png](https://dev-media.amazoncloud.cn/a77480c665254ccaa3fa16c00572607c_image.png)\n\n#### **Rostislav Markov**\n\nRostislav Markov is principal architect with AWS Professional Services. As migrations leader on the global delivery team, he works with global and strategic customers and partners on their largest transformation programs. Outside of work, he enjoys spending time with his family outdoors and exploring New York City culture.","render":"<p>Enterprise architecture frameworks use architecture reviews as a key governance mechanism to review and approve architecture designs, identify quality enhancements, and align architectural decisions with enterprise-wide standards. Architecture reviews are very thorough, but it typically takes a lot of time and teamwork to prepare for them, which means developers can’t always move as quickly as they’d like.</p>\n<p>If your team needs a flexible, faster option to review their architecture, consider adopting pattern-based architecture reviews (PBARs). PBARs may not find every issue that a traditional architecture review will. However, in situations where you need to accommodate tight deadlines or budgets, changing project requirements, or multiple releases, they offer a simpler, quicker, more focused way to address issues and ensure your architecture aligns with business needs.</p>\n<h3><a id=\\"Patternbased_architecture_reviews_vs_traditional_architecture_reviews_5\\"></a><strong>Pattern-based architecture reviews vs. traditional architecture reviews</strong></h3>\\n<p>PBARs use generic architecture patterns (in other words, <a href=\\"https://www.researchgate.net/publication/224203448_Pattern-Based_Architecture_Reviews\\" target=\\"_blank\\">generalized, reusable solutions to common design problems</a>) to review non-functional system properties and align architectural patterns to business outcomes.</p>\\n<p><img src=\\"https://dev-media.amazoncloud.cn/4a234ad2a3804a28bfe82e21a190886f_image.png\\" alt=\\"image.png\\" /></p>\n<p>PBARs are broadly applicable to any cloud initiative, ranging from migration use cases to complex large-scale development initiatives. Here are just a few examples of ways to use them:</p>\n<ul>\\n<li>With cloud migrations, PBARs help manage various infrastructure and integration patterns, including like-for-like moves and full refactoring options.</li>\n<li>A few infrastructure patterns, such as <a href=\\"https://docs.aws.amazon.com/whitepapers/latest/serverless-multi-tier-architectures-api-gateway-lambda/introduction.html\\" target=\\"_blank\\">N-tier architecture</a>, are applicable to many applications. After the <a href=\\"https://aws.amazon.com/blogs/architecture/designing-a-successful-pilot-phase-for-your-cloud-migration/\\" target=\\"_blank\\">pilot phase</a>, these cloud infrastructure patterns serve as reusable blueprints for follow-on migrations, which reduces the amount of repetitive work and <a href=\\"https://docs.aws.amazon.com/cdk/v2/guide/constructs.html\\" target=\\"_blank\\">ensures compliance with security controls.</a></li>\\n<li>With new development use cases, PBARs emphasize composition through reusable code</li>\n<li>Teams with novel uses are encouraged to verify the new pattern through early prototyping as opposed to heavy documentation and requirements analysis.</li>\n</ul>\\n<h3><a id=\\"Use_case_Applying_PBARs_across_multiple_teams_to_meet_stringent_golive_date_20\\"></a><strong>Use case: Applying PBARs across multiple teams to meet stringent go-live date</strong></h3>\\n<p>We introduced PBARs to a global industrial company’s large cloud development initiative where developers had no prior AWS experience and their go-live date was in six months. The initiative spanned over 50 development teams along 10 functional domains and 11 geographical locations from Americas to Asia. Each team was responsible for developing between one and six customer-facing aggregated services exposed via APIs (asset management, tenant billing, customer onboarding, or event analytics).</p>\n<h4><a id=\\"Socialize_initial_design_patterns_25\\"></a><em><strong>Socialize initial design patterns</strong></em></h4>\n<p>To get the team to use PBARs, we advocated to adopt particular managed/serverless services to reduce management overhead, as shown in Figure 1.</p>\n<p><img src=\\"https://dev-media.amazoncloud.cn/ec431782f1e84b128d9a690b17645e62_image.png\\" alt=\\"image.png\\" /></p>\n<p>Figure 1. Proposed AWS services for use by development teams</p>\n<p>We also shared an initial set of design patterns, including:</p>\n<ul>\\n<li>Containerized Spring Boot services with <a href=\\"https://docs.aws.amazon.com/elasticloadbalancing/?id=docs_gateway\\" target=\\"_blank\\">Elastic Load Balancing</a>, <a href=\\"https://docs.aws.amazon.com/ecs/?id=docs_gateway\\" target=\\"_blank\\">Amazon Elastic Container Service</a>, and <a href=\\"https://docs.aws.amazon.com/rds/?id=docs_gateway\\" target=\\"_blank\\">Amazon Aurora</a></li>\\n<li>Serverless services with <a href=\\"https://docs.aws.amazon.com/apigateway/?id=docs_gateway\\" target=\\"_blank\\">Amazon API Gateway</a>, <a href=\\"https://docs.aws.amazon.com/lambda/?id=docs_gateway\\" target=\\"_blank\\">AWS Lambda</a>, and <a href=\\"https://docs.aws.amazon.com/dynamodb/?id=docs_gateway\\" target=\\"_blank\\">Amazon DynamoDB</a>, with extensions for data streaming and analysis (Figure 2)<br />\\n-<a href=\\"https://docs.aws.amazon.com/elastic-beanstalk/?id=docs_gateway\\" target=\\"_blank\\"> AWS Elastic Beanstalk </a>deployments of <a href=\\"https://docs.aws.amazon.com/ec2/?id=docs_gateway\\" target=\\"_blank\\">Amazon Elastic Compute Cloud (Amazon EC2)</a>-backed web services</li>\\n</ul>\n<p><img src=\\"https://dev-media.amazoncloud.cn/37be3deff049448b8732ab0cd18f2864_image.png\\" alt=\\"image.png\\" /></p>\n<p>Figure 2. Containerized and serverless design patterns</p>\n<h4><a id=\\"Shorten_review_times_by_applying_lessons_learned_from_early_adopters_43\\"></a><em><strong>Shorten review times by applying lessons learned from early adopters</strong></em></h4>\n<p>PBARs were run by domain architects, team architects, lead engineers, and product owners. We also invited teams with similar use cases and system requirements for joint reviews.</p>\n<p>They brought knowledge and experience that allowed the process to conclude within two weeks for all teams with minimal preparation—significantly faster than traditional reviews.</p>\n<h4><a id=\\"Complete_reviews_quicker_and_increase_participation_and_understanding_by_focusing_the_review_49\\"></a><em><strong>Complete reviews quicker and increase participation and understanding by focusing the review</strong></em></h4>\n<p>Because PBARs move quickly, we had to be specific about the areas we chose to focus on improving or evaluating. We worked towards identifying inconsistencies between system requirements and pattern selection, any special needs, and opportunities to improve on non-functional requirements, including:</p>\n<ul>\\n<li>Security</li>\n<li>Availability and operations</li>\n<li>Deployment process</li>\n<li>Speed and reproducibility</li>\n<li>Quality concerns and defects</li>\n</ul>\\n<p>In narrowing the PBAR’s scope, we were also able to complete the architecture reviews more quickly and increase participants’ understanding of the architecture and critical project needs.</p>\n<h4><a id=\\"Findings_61\\"></a><strong>Findings</strong></h4>\\n<p>Our technical findings showed single points of failure, service scalability limits, or opportunities to automate test/deployment/recovery processes.</p>\n<p>The PBARs emphasized pattern reuse and, therefore, standardization in the early development phase. This required follow-on tailoring to individual use cases, such as distinguishing data ingest profiles by data type and throughput or moving from containerized deployments for data analytics jobs to <a href=\\"https://docs.aws.amazon.com/lambda/?id=docs_gateway\\" target=\\"_blank\\">AWS Lambda</a> and <a href=\\"https://docs.aws.amazon.com/athena/?id=docs_gateway\\" target=\\"_blank\\">Amazon Athena</a>.</p>\\n<p>PBARs also provided actionable feedback on what to address prior to the go-live date.</p>\n<ul>\\n<li>By emphasizing non-functional aspects, our PBARs helped create a case for zero-defect culture where fixing bugs had priority over new features.</li>\n<li>Early-adopter teams of architectural patterns served as internal champions, providing informal support to others on how to address review findings.</li>\n<li>Follow-on <a href=\\"https://wa.aws.amazon.com/wellarchitected/2020-07-02T19-33-23/wat.concept.gameday.en.html\\" target=\\"_blank\\">game days </a>and performance load tests helped teams gain first-hand exposure to PBAR findings in simulated environments.</li>\\n</ul>\n<p>PBARs also provided actionable feedback on what to address prior to the go-live date.</p>\n<h3><a id=\\"Introducing_patternbased_architecture_reviews_in_your_organization_76\\"></a><strong>Introducing pattern-based architecture reviews in your organization</strong></h3>\\n<p>In large enterprises, PBARs serve as a demand intake mechanism for their cloud center of excellence (CoE). They facilitate adoption of established pattern solutions and contribute new use cases to the enterprise-wide roadmap of cloud architectural patterns.</p>\n<p>Three organizational disciplines contribute to PBARs:</p>\n<ol>\\n<li>Application teams envision system capabilities and outcomes and own decision-making on application design and operations.</li>\n<li>The enterprise architecture team oversee the adoption of architectural best practices and work closely with application teams and the cloud CoE to review architectural patterns.</li>\n<li>The cloud CoE approves and publishes pattern solutions and tracks their adoption in the cloud service catalog. At AWS, we use <a href=\\"https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios.html\\" target=\\"_blank\\">AWS Service Catalog portfolios</a> to publish pattern solutions to developers.</li>\\n</ol>\n<p>Figure 3 describes the high-level process tasks and responsibilities:</p>\n<ul>\\n<li>Application teams solicit PBAR with enterprise architects who help identify and customize suitable design patterns for particular use cases.</li>\n<li>If the use case requires novel pattern, architects work with the application team on early prototyping and approval of the novel system architecture. They also work with the cloud CoE team to generalize and publish novel pattern solutions in the service catalog of the cloud CoE.</li>\n</ul>\\n<p>To better align with agile development cycles, we recommend establishing internal commitments on the time to schedule and conduct PBARs as well as auto-approval options for teams re-using existing pattern solutions, in order to allow developers to move as quickly as possible.</p>\n<p><img src=\\"https://dev-media.amazoncloud.cn/fc155f25c8694f1c976a5e6a831b7b88_image.png\\" alt=\\"image.png\\" /></p>\n<p>Figure 3. PBAR workflow</p>\n<p>PBARs provide lightweight architectural governance across enterprises. They help focus your teams on non-functional system properties and align architectural patterns to business outcomes.</p>\n<p>As shown in our use case, PBARs enable teams to build faster and help change the perception of enterprise-wide architecture reviews as a corporate guardrail. For teams with novel use cases, PBARs encourage pattern validation through early prototyping and therefore provide modern alternative for agile cloud projects.</p>\n<p>If you are looking to scale your cloud architecture governance effectively, consider adopting PBARs.</p>\n<h3><a id=\\"Related_information_104\\"></a><strong>Related information</strong></h3>\\n<p>Use the following links to learn more about patterns you can use on your next architecture review:</p>\n<ul>\\n<li><a href=\\"https://aws.amazon.com/architecture\\" target=\\"_blank\\">AWS Architecture Center</a></li>\\n<li><a href=\\"https://serverlessland.com/patterns\\" target=\\"_blank\\">Serverless Land</a></li>\\n</ul>\n<p><img src=\\"https://dev-media.amazoncloud.cn/a77480c665254ccaa3fa16c00572607c_image.png\\" alt=\\"image.png\\" /></p>\n<h4><a id=\\"Rostislav_Markov_113\\"></a><strong>Rostislav Markov</strong></h4>\\n<p>Rostislav Markov is principal architect with AWS Professional Services. As migrations leader on the global delivery team, he works with global and strategic customers and partners on their largest transformation programs. Outside of work, he enjoys spending time with his family outdoors and exploring New York City culture.</p>\n"}
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭