Deployment Automation, Arch for the Cloud Flashcards
AWS Elastic Beanstalk
- Managed service for web applications on Amazon EC2
instances and Docker containers - Deploys an environment that can include Auto Scaling,
Elastic Load Balancing and databases - Considered a Platform as a Service (PaaS) solution
- Allows full control of the underlying resources
- Code is deployed using a ZIP file, WAR file or Git repository
AWS Cloud Development Kit (CDK)
- Open-source software development framework to define
your cloud application resources using familiar programming
languages - Preconfigures cloud resources with proven defaults using
constructs - Provisions your resources using AWS CloudFormation
- Enables you to model application infrastructure using
TypeScript, Python, Java, and .NET - Use existing IDE, testing tools, and workflow patterns
AWS CloudFormation
- Infrastructure is provisioned consistently, with fewer
mistakes (human error) - Less time and effort than configuring resources manually
- Free to use (you’re only charged for the resources
provisioned) - A template is a YAML or JSON template used to describe the
end-state of the infrastructure you are either provisioning or
changing - CloudFormation creates a Stack based on the template
- Can easily rollback and delete the entire stack as well
Amazon CloudFront
- CloudFront is a content delivery network (CDN) that allows
you to store (cache) your content at “edge locations” located
around the world - This allows customers to access content more quickly and
provides security against DDoS attacks - CloudFront can be used for data, videos, applications, and
APIs - CloudFront reduces latency for global users
AWS Global Accelerator
- Routes connections to application endpoints (EC2/ELB) in
multiple Regions - Improves the availability and performance of applications
with local or global users - Uses the AWS global network to optimize the path from
users to applications, improving the performance of TCP and
UDP traffic
AWS Global Accelerator vs CloudFront
- Both use the AWS global network and edge locations
- CloudFront improves performance for cacheable content and
dynamic content - GA improves performance for a wide range of applications
over TCP and UDP - GA proxies connections to applications in one or more AWS Regions
- GA provides failover between AWS Regions
AWS X-Ray
- AWS X-Ray helps developers analyze and debug production,
distributed applications, such as those built using a microservices architecture AWS OpsWorks
AWS OpsWorks
- AWS OpsWorks is a configuration management service that
provides managed instances of Chef and Puppet - Updates include patching, updating, backup, configuration
and compliance management
AWS Well-Architected Framework
Helps you understand the pros and cons of
decisions you make while building systems on AWS
Based on 6 pillars: Operational Excellence, Security, Reliability, Performance, Sustainability
Operational Excellence Pillar
- Support development and run workloads
effectively - Gain insight into workload operations
- Continuously improve processes and procedures to
deliver business value
Best practices for operational excellence pillar?
- Perform operations as code
- Make frequent, small, reversible changes
- Refine operations procedures frequently
- Anticipate failure
- Learn from all operational failures
Security Pillar and best practices
- Protect data, systems, and assets to take advantage
of cloud technologies to improve your security - Best practices for security:
- 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
Reliability Pillar
- Ensuring a workload can perform its intended function
correctly and consistently when it’s expected to - This includes the ability to operate and test the
workload through its total lifecycle
Best practices for reliability pillar?
- Automatically recover from failure
- Test recovery procedures
- Scale horizontally to increase aggregate workload
availability - Stop guessing capacity
- Manage change in automation
Performance Efficiency Pillar
- The ability to use computing resources efficiently to
meet system requirements, and to maintain that
efficiency as demand changes and technologies
evolve
Best practices for Performance Efficiency Pillar?
- Best practices for performance efficiency:
- Democratize advanced technologies
- Go global in minutes
- Use serverless architectures
- Experiment more often
- Consider mechanical sympathy
Cost Optimization Pillar and best practices?
- The ability to run systems to deliver business value
at the lowest price point - Best practices for cost optimization:
- Implement Cloud Financial Management
- Adopt a consumption model
- Measure overall efficiency
- Stop spending money on undifferentiated heavy
lifting - Analyze and attribute expenditure
Pay-as-you-go
- Easily adapt to changing business needs
- Improved responsiveness to change
- Adapt based on needs, not forecasts
- Reduce risk over overpositioning of missing capacity
How do you Save when you reserve
- Invest in reserved capacity (e.g. RDS and EC2)
- Save up to 75% compared to on-demand (pay-as-you-go)
- The more you pay upfront the greater the discount
How do you Pay less by using more
- Pay less using volume-based discounts
- Tiered pricing means the more you use the lower the unit
pricing
Types of Billing
On demand
Reserved
Spot
Dedicated Instance
Dedicated Host
Savings Plan
On-Demand Billing
Standard rate - no discount; no commitments; dev/test, short-term, or unpredictable workloads
Reserved Billing
1 or 3-year commitment;
up to 75% discount; steady-state,
predictable workloads and reserved capacity
Spot Instances
Bid for unused capacity; up to 90% discount;
can be terminated at any time; workloads
with flexible start and end times