Module 9: Cloud Architecture

Module objectives

  • Describe the AWS Well-Architected Framework, including the six pillars

  • Identify the design principles of the AWS Well-Architected Framework

  • Explain the importance of reliability and high availability

  • Identify how AWS Trusted Advisor helps customers

  • Interpret AWS Trusted Advisor recommendations

Section 1: AWS Well-Architected Framework

What is the AWS Well-Architected Framework?

  • A guide for designing infrastructures that are:

    • Secure

    • High-performing

    • Resilient

    • Efficient

  • A consistent approach to evaluating and implementing cloud architectures

  • A way to provide best practices that were developed through lessons learned by reviewing customer architectures

Operational Excellence pillar – deliver business value

  • Focus

    • Run and monitor systems to deliver business value, and to continually improve supporting processes and procedures.

  • Key topics

    • Automating changes

    • Responding to events

    • Defining standards to manage daily operations

Operational excellence design principles

  • Perform operations as code

  • Make frequent, small, reversible changes

  • Refine operations procedures frequently

  • Anticipate failure

  • Learn from all operational events and failures

Operational excellence questions

  • Organization

    • How do you determine what your priorities are?

    • How do you structure your organization to support your business outcomes?

    • How does your organizational culture support your business outcomes?

  • Prepare

    • How do you design your workload so that you can understand its state?

    • How do you reduce defects, ease remediation, and improve flow into production?

    • How do you mitigate deployment risks?

    • How do you know that you are ready to support a workload?

Operate

  • How do you understand the health of your workload?

  • How do you understand the health of your operations?

  • How do you manage workload and operations events?

Evolve

  • How do you evolve operations?

Security pillar – protect and monitor systems

  • Focus

    • Protect information, systems, and assets while delivering business value through risk assessments and mitigation strategies.

  • Key topics

    • Protecting confidentiality and integrity of data

    • Identifying and managing who can do what

    • Protecting systems

    • Establishing controls to detect security events

Security design principles

  • Implement a strong identity foundation

  • Enable traceability

  • Apply security at all layers

  • Automate security best practices

  • Protect data in transit and at rest

  • Keep people away from data

  • Prepare for security events

Security questions

  • Security

    • How do you securely operate your workload?

  • Identity and access management

    • How do you manage identities for people and machines?

    • How do you manage permissions for people and machines?

  • Detection

    • How do you detect and investigate security events?

  • Infrastructure protection

    • How do you protect your network resources?

    • How do you protect your compute resources?

  • Data protection

    • How do you classify your data?

    • How do you protect your data at rest?

    • How do you protect your data in transit?

  • Incident response

    • How do you anticipate, respond to, and recover from incidents?

Reliability pillar – recover from failure and mitigate disruption

  • Focus

    • Ensure a workload performs its intended function correctly and consistently when it’s expected to.

  • Key topics

    • Designing distributed systems

    • Recovery planning

    • Handling change

Reliability design principles

  • Automatically recover from failure

  • Test recovery procedures

  • Scale horizontally to increase aggregate workload availability

  • Stop guessing capacity

  • Manage change in automation

Reliability questions

  • Foundations

    • How do you manage service quotas and constraints?

    • How do you plan your network topology?

  • Workload architecture

    • How do you design your workload service architecture?

    • How do you design interactions in a distributed system to prevent failure?

    • How do you design interactions in a distributed system to mitigate or withstand failures?

  • Change management

    • How do you monitor workload resources?

    • How do you design your workload to adapt to changes in demand?

    • How do you implement change?

  • Failure management

    • How do you back up data?

    • How do you use fault isolation to protect your workload?

    • How do you design your workload to withstand component failures?

    • How do you test reliability?

    • How do you plan for disaster recovery?

Performance Efficiency pillar – use resources sparingly

  • Focus

    • Use IT and computing resources efficiently to meet system requirements and to maintain that efficiency as demand changes and technologies evolve.

  • Key topics

    • Selecting the right resource types and sizes based on workload requirements

    • Monitoring performance

    • Making informed decisions to maintain efficiency as business needs evolve

Performance efficiency design principles

  • Democratize advanced technologies

  • Go global in minutes

  • Use serverless architectures

  • Experiment more often

  • Consider mechanical sympathy

Performance efficiency questions

  • Selection

    • How do you select the best performing architecture?

    • How do you select your compute solution?

    • How do you select your storage solution?

    • How do you select your database solution?

    • How do you configure your networking solution?

  • Review

    • How do you evolve your workload to take advantage of new releases?

  • Monitoring

    • How do you monitor your resources to ensure they are performing?

  • Tradeoffs

    • How do you use tradeoffs to improve performance?

Cost Optimization pillar – eliminate unneeded expense

  • Focus

    • Avoid unnecessary costs.

  • Key topics

    • Understanding and controlling where money is being spent

    • Selecting the most appropriate and right number of resource types

    • Analyzing spend over time

    • Scaling to meeting business needs without overspending

Cost optimization design principles

  • Implement Cloud Financial Management

  • Adopt a consumption model

  • Measure overall efficiency

  • Stop spending money on undifferentiated heavy lifting

  • Analyze and attribute expenditure

Cost optimization questions

  • Practice cloud financial management

    • How do you implement cloud financial management?

  • Expenditure and usage awareness

    • How do you govern usage?

    • How do you monitor usage and cost?

    • How do you decommission resources?

  • Cost-effective resources

    • How do you evaluate cost when you select services?

    • How do you meet cost targets when you select resource type, size, and number?

    • How do you use pricing models to reduce cost?

    • How do you plan for data transfer changes?

  • Manage demand and supply resources

    • How do you manage demand and supply resources?

  • Optimize over time

    • How do you evaluate new services?

The AWS Well-Architected Tool

  • Helps you review the state of your workloads and compares them to the latest AWS architectural best practices

  • Gives you access to knowledge and best practices used by AWS architects, whenever you need it

  • Delivers an action plan with step-by-step guidance on how to build better workloads for the cloud

  • Provides a consistent process for you to review and measure your cloud architectures

Section 1 key takeaways

  • The AWS Well-Architected Framework provides a consistent approach to evaluate cloud architectures and guidance to help implement designs.

  • The AWS Well-Architected Framework documents a set of design principles and best practices that enable you to understand if a specific architecture aligns well with cloud best practices.

  • The AWS Well-Architected Framework is organized into six pillars.

  • Each pillar includes its own set of design principles and best practices.

Section 2: Reliability and availability

Reliability

  • A measure of your system’s ability to provide functionality when desired by the user.

  • System includes all system components: hardware, firmware, and software.

  • Probability that your entire system will function as intended for a specified period.

  • Mean time between failures (MTBF) = total time in service/number of failures

Availability

  • Normal operation time / total time

  • A percentage of uptime (for example, 99.9 percent) over time (for example, 1 year)

  • Number of 9s – Five 9s means 99.999 percent availability

High availability

  • System can withstand some measure of degradation while still remaining available.

  • Downtime is minimized.

  • Minimal human intervention is required.

Availability tiers

Factors that influence availability

  • Fault tolerance

    • The built-in redundancy of an application's components and its ability to remain operational.

  • Scalability

    • The ability of an application to accommodate increases in capacity needs without changing design.

  • Recoverability

    • The process, policies, and procedures that are related to restoring service after a catastrophic event.

Section 2 key takeaways

  • Reliability is a measure of your system’s ability to provide functionality when desired by the user, and it can be measured in terms of MTBF.

  • Availability is the percentage of time that a system is operating normally or correctly performing the operations expected of it (or normal operation time over total time).

  • Three factors that influence the availability of your applications are fault tolerance, scalability, and recoverability.

  • You can design your workloads and applications to be highly available, but there is a cost tradeoff to consider.

Section 3: AWS Trusted Advisor

AWS Trusted Advisor

  • Online tool that provides real-time guidance to help you provision your resources following AWS best practices.

  • Looks at your entire AWS environment and gives you real-time recommendations in five categories.

Section 3 key takeaways

  • AWS Trusted Advisor is an online tool that provides real-time guidance to help you provision your resources by following AWS best practices.

  • AWS Trusted Advisor looks at your entire AWS environment and gives you real-time recommendations in five categories.

  • You can use AWS Trusted Advisor to help you optimize your AWS environment as soon as you start implementing your architecture designs.

Summary

  • Describe the AWS Well-Architected Framework, including the six pillars

  • Identify the design principles of the AWS Well-Architected Framework

  • Explain the importance of reliability and high availability

  • Identify how AWS Trusted Advisor helps customers

  • Interpret AWS Trusted Advisor recommendations