Cloud

Write an awesome doc for cloud and how to deploy our apps using technologies like AWS, GitHub actions, CI/CD and Docker. Also a very comprehensive documentation around AWS.

View on GitHub

EC2

EC2 service components

Most used EC2 instance types

EC2 instance types

Purchasing options for EC2 instances

Type Description Good for
On-demand Pay for compute capacity by the second.
  • Short workload.
  • Uninterrupted workload.
Reserved Instances Runs for a specific period.
  • Long workload.
  • Steady-state usage.
Convertible Reserved Instance Similar to reserved instances. When you probably need to change instance:
  • OS.
  • Scope.
  • Tenancy family.
  • Type.
Saving Plans You commit to a consistent amount of usage ($/h).
  • When you can predict usage ($/h).
  • E.g. ECommerce websites with known peak times.
Spot Instances
  • Most cost-effective.
  • If your instance crosses the defined max price, you'll lose it instantly.
  • Bad idea for critical tasks (e.g. DB).
When your workload has the attribute of being resilient to failure.
Dedicated Host A complete, actual server.
  • When you need BYOL support.
  • Complying with regulatory requirements (e.g. software isolation).
Dedicated Instances Dedicated hardware, though it might be shared with other EC2 instances from the same account. When you need dedicated hardware.
Capacity Reservation
  • On-demand.
  • Charged whether you're using it or not.
  • Use saving-plans to get discount, no discount on its own.
  • Need immediate access to hardware (ASG).
  • Implementing highly available architecture.
  • Supporting predictable traffic spikes (e.g. Black Friday, marketing campaigns).
  • Crucial component of disaster recovery plan.

Features

Local zones

Shared responsibility model

AWS User
Infrastructure. Security group rules.
Replacing faulty hardware. OS maintenance.
Compliance validation. Data security.
Data replication for EBS. IAM roles/users (Access management).

Footnotes

  1. Self-hosted or on an EC2 instance.