- Easy to scale or adopt to new requirements.
- Handling peak performance is easier.
- Less infrastructure bulls**t because the interaction with the hardware layer is minimized.
- Wouldn’t put bank application on it (for a good reason).
- Simple to use/develop on.
- Speed up the development time with a lots of available plug & play services.
- Can be cheap or expensive based on the usage scenario.
- Each region is designed to be completely isolated from the other regions. Greatest possible fault tolerance.
- AZs good for fault tolerance in a region.
- AZs different for everyone.
- Prices can differ by regions.
- Lifecycle properties.
- Can host static files.
- https://aws.amazon.com/s3/storage-classes/
- https://aws.amazon.com/s3/pricing/
- Edge caches.
- When to use (and when don't).
- HTTP/2 and IPv6 support and a lot of other goodies.
- Can be hosted from S3.
- https://aws.amazon.com/cloudfront/pricing/
- Backbone of AWS.
- What is an Instance and an AMI (Amazon Machine Image).
- Instance types (latest vs previous instance types).
- https://aws.amazon.com/ec2/instance-types/
- https://aws.amazon.com/ec2/previous-generation/
- Minimum 8GB -> 0.8 USD / month.
- How to use snapshots.
- Restoring from a volume.
- http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html
- https://aws.amazon.com/ebs/pricing/
- How much cheaper, why exists?
- Bid advisor.
- https://aws.amazon.com/ec2/spot/bid-advisor/
- Spot fleet (better diversification, smaller chance for shutting down instances).
- http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet.html
- https://aws.amazon.com/autoscaling/
- Free (yaay!).
- Preditive scaling: Predictive Scaling predicts future traffic, including regularly-occurring spikes, and provisions the right number of EC2 instances in advance of predicted changes. Predictive Scaling’s machine learning algorithms detect changes in daily and weekly patterns, automatically adjusting their forecasts.
- https://aws.amazon.com/elasticloadbalancing/
- https://aws.amazon.com/elasticloadbalancing/pricing/
- Types:
- Network: best suited for load balancing of Transmission Control Protocol (TCP) and Transport Layer Security (TLS) traffic where extreme performance is required. Operating at the connection level (Layer 4).
- Application: Application Load Balancer is best suited for load balancing of HTTP and HTTPS traffic and provides advanced request routing targeted at the delivery of modern application architectures, including microservices and containers. Operating at the individual request level (Layer 7) and able to use layer 7-specific features, such as X-Forwarded-For headers.
- Classic: Classic Load Balancer provides basic load balancing across multiple Amazon EC2 instances and operates at both the request level and connection level. Classic Load Balancer is intended for applications that were built within the EC2-Classic network.
- Slow start: Slow start mode can be enabled by target group and can be configured for a duration of 30 seconds to 15 minutes. The load balancer linearly increases the number of requests sent to a new target in a target group up to its fair share during the slow start ramp-up window.
- Health checks: Elastic Load Balancing can detect unhealthy targets, stop sending traffic to them, and then spread the load across the remaining healthy targets.
- Expensive
and scales slowly in throughput (however it's improved).
- https://aws.amazon.com/rds/
- Makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while automating time-consuming administration tasks such as hardware provisioning, database setup, patching and backups.
- DB Engines:
- Amazon Aurora
- PostagreSQL
- MySQL
- MariaDB
- Oracle
- SQL Server
- Serverless computing.
- Can react to AWS events like an S3 push etc.
- Can run java but initial requests are slower.
- https://aws.amazon.com/lambda/pricing/
- Redis/Memcached in the cloud.
- https://aws.amazon.com/elasticache/pricing/
- Standard -> Least once delivery, nearly-unlimited number of transactions per second.
- FIFO -> Exactly-once processing, limited to 300 transactions per second.
- Dead letter queue support.
- https://aws.amazon.com/sqs/pricing/
- Free except the host VM.
- http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html
- Security management.
- Hella complicated, should be a full topic/session.
- Free...
- http://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html
- Cool to use in build scripts (eg to upload an artifact to S3 etc).
- Based on Python.
- https://aws.amazon.com/cli/
- https://aws.amazon.com/sdk-for-java/
- https://github.com/aws/aws-sdk-java/tree/master/src/samples/AmazonS3
- https://calculator.s3.amazonaws.com/index.html
- http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-explorer-what-is.html
- There are free monitors/alarms but a lot of them are not free and can cost the same as the instance in extreme cases.
- https://aws.amazon.com/cloudwatch/pricing/
- https://aws.amazon.com/cloudwatch/