Scalability: vertical & horizontal Disposable Resources: servers should be disposable & easily configured Automation: serverless, Infrastructure as a Service, Auto Scaling…
Loose coupling:
Monolith applications that do more and more over time become bigger
Break it down into smaller, “loosely coupled” components
A change or failure in one component should not cascade to other components
Services, not Servers:
Don’t just use EC2
Use managed services, databases, serverless, etc…
Operational excellence includes the ability to run and monitor systems to deliver business value and continually improve supporting processes and procedures. #
Design Principles:
Perform Operations as Code - IaS
Frequent, small, reversible changes - reverse in case of failure
Refine operations procedures frequently - ensure team members are familiar with it
Anticipate failure
Learn from the failures
Use managed services - to reduce operational burden
Implement observability for actionable insights - performance, reliability, cost, …
Security includes an ability to protect information, systems and assets while delivering business value through risk assessments and mitigation strategies. #
Design Principles:
Implement a strong identity foundation - centralize privilege management and reduce (or eliminate) reliance on long-term credentials - Principle of least privilege - IAM
Enable traceability - integrate logs and metrics with systems to automatically respond and take action
Apply security at all layers - edge network, VPC, subnet, load balancer, (every) EC2 instance, operating system, application
Automate security best practices
Protect data in transit and at rest - encryption, tokenization and access control
Keep people away from data - reduce or eliminate the need for direct access or manual processing of data
Prepare for security events - run incident response simulations and use tools with automation to increase your speed of detection, investigation and recovery
Reliability is an ability of a system to recover from infrastructure or service disruptions, dynamically acquire computing resources to meet demand and mitigate disruptions such as misconfigurations or transient network issues. #
Design Principles:
Test recovery procedures - use automation to simulate different failures or to recreate scenarios that led to failures before
Automatically recover from failure - anticipate and remediate failures before they occur
Scale horizontally to increase aggregate system availability - distribute requests across multiple, smaller resources to ensure that they don’t share a common point of failure
Stop guessing capacity - maintain the optimal level to satisfy demand without over or under provisioning
Manage change in automation - use automation to make changes to infrastructure
Performance Efficiency includes ability to use computing resources efficiently to meet system requirements and to maintain that efficiency as demand changes and technologies evolve. #
Design Principles:
Democratize advanced technologies - advance technologies become services and hence you can focus more on product development
Go Global in minutes - easy deployment in multiple regions
Use serverless architecture - avoid the burden of managing servers
Experiment more often - easy to carry out comparative testing
Mechanical sympathy - be aware of all AWS services
Cost Optimization includes ability to run systems to deliver business value at the lowest price point. #
Design Principles:
Adopt a consumption mode - pay only for what you use
Measure overall efficiency - use CloudWatch
Stop spending money on data center operations - AWS does the infrastructure part and enables customer to focus on organization projects
Analyze and attribute expenditure - accurate identification of system usage and costs helps to measure Return on Investment (ROI) - make sure to use tags!
Use managed and application level services to reduce cost of ownership - as managed services operate at cloud scale then can offer a lower cost per transaction or service
Helps you build and then execute a comprehensive plan for your digital transformation through innovative use of AWS.
Created by AWS Professionals by taking advantage of AWS Best Practices and lessons learned from 1000s of customers.
AWS CAF groups it’s capabilities in six perspectives: #
Business
Business perspective helps to ensure that your cloud investments accelerate your digital transformation ambitions and business outcomes
People
Servers a bridge between technology and business, accelerating the cloud journey to help organizations more rapidly evolve to a culture of continuous growth, learning and where change becomes BAU
Governance
Helps orchestrating cloud initiatives while maximizing organizational benefits and minimizing transformation related risks
Platform
Helps building an enterprise-grade, scalable, hybrid cloud platform and modernize existing workloads
Security
Helps achieving the confidentiality, integrity and availability of the data and cloud workflows
Operations
Helps ensuring that your cloud services are delivered at a level that meets the needs of your business