Essential AWS for PHP Applications Longhorn PHP 2018 @michaelmoussa https://joind.in/talk/f3f7f Michael Moussa @michaelmoussa https://joind.in/talk/97b36
A presentation at Longhorn PHP in April 2018 in Austin, TX, USA by Michael Moussa
Essential AWS for PHP Applications Longhorn PHP 2018 @michaelmoussa https://joind.in/talk/f3f7f Michael Moussa @michaelmoussa https://joind.in/talk/97b36
Who am I? @michaelmoussa https://joind.in/talk/97b36
Who am I? • Product Architect at Rackspace @michaelmoussa https://joind.in/talk/97b36
Who am I? • • Product Architect at Rackspace 18 year PHP developer & DevOps engineer @michaelmoussa https://joind.in/talk/97b36
Who am I? • • Product Architect at Rackspace 18 year PHP developer & DevOps engineer • AWS Certified Solutions Architect @michaelmoussa https://joind.in/talk/97b36
Sample environment requirements • Run PHP applications @michaelmoussa https://joind.in/talk/97b36
Sample environment requirements • • Run PHP applications Store information in a DB @michaelmoussa https://joind.in/talk/97b36
Sample environment requirements • • • Run PHP applications Store information in a DB Upload and serve files @michaelmoussa https://joind.in/talk/97b36
Sample environment requirements • • • • Run PHP applications Store information in a DB Upload and serve files Scale to handle many users with rare or nonexistent downtime @michaelmoussa https://joind.in/talk/97b36
Elastic Compute Cloud (EC2) @michaelmoussa https://joind.in/talk/97b36
Elastic Compute Cloud (EC2) @michaelmoussa https://joind.in/talk/97b36
Elastic Compute Cloud (EC2) Users Application @michaelmoussa https://joind.in/talk/97b36
Elastic Compute Cloud (EC2) @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) • Template for launching EC2 instances @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) • Template for launching EC2 instances • Operating system @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) • Template for launching EC2 instances • • Operating system Applications @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) • Template for launching EC2 instances • • • Operating system Applications Libraries @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) • Template for launching EC2 instances • • • • Operating system Applications Libraries Configuration @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) • Template for launching EC2 instances • • • • • Operating system Applications Libraries Configuration Data @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) Base AMI @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) Base AMI Bare EC2 Instance @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) etc… Base AMI Bare EC2 Instance @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) etc… Base AMI Customized EC2 Instance @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) etc… Base AMI Customized EC2 Instance Custom AMI @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) etc… Base AMI Customized EC2 Instance etc… Custom AMI Customized EC2 Instance @michaelmoussa https://joind.in/talk/97b36
Amazon Machine Image (AMI) etc… Customized EC2 Instance etc… Base AMI Customized EC2 Instance etc… Custom AMI Customized EC2 Instance etc… Customized EC2 Instance @michaelmoussa https://joind.in/talk/97b36
EC2 Instance Classes {family}{generation} {family}{generation}.{size} {family} @michaelmoussa https://joind.in/talk/97b36
EC2 Instance Classes c5.2xlarge @michaelmoussa https://joind.in/talk/97b36
EC2 Instance Classes c5.2xlarge Compute-optimized @michaelmoussa https://joind.in/talk/97b36
EC2 Instance Classes c5.2xlarge 5th generation @michaelmoussa https://joind.in/talk/97b36
EC2 Instance Classes c5.2xlarge twice the size of c5.xlarge (also, generally twice the price) @michaelmoussa https://joind.in/talk/97b36
EC2 Instance Families • • • • • General Purpose Compute Optimized Memory Optimized Storage Optimized Accelerated Computing (GPU) @michaelmoussa https://joind.in/talk/97b36
EC2 Instance Families EC2 Instance Pricing by Resource $0.35 $0.012 $0.30 $0.010 $0.25 $0.008 $0.20 $0.006 $0.15 $0.004 $0.10 $0.05 $0.002 $0.00 $0.000 M C P G vCPU/hr F X Mem GiB/hr R I H D Disk GiB/hr @michaelmoussa https://joind.in/talk/97b36
EC2 Instance Families EC2 Instance Pricing by Resource $0.35 $0.012 $0.30 $0.010 $0.25 $0.008 $0.20 $0.006 $0.15 $0.004 $0.10 $0.05 $0.002 $0.00 $0.000 M C P G vCPU/hr F X Mem GiB/hr R I H D Disk GiB/hr @michaelmoussa https://joind.in/talk/97b36
EC2 Instance Families EC2 Instance Pricing by Resource $0.35 $0.012 $0.30 $0.010 $0.25 $0.008 $0.20 $0.006 $0.15 $0.004 $0.10 $0.05 $0.002 $0.00 $0.000 M C P G vCPU/hr F X Mem GiB/hr R I H D Disk GiB/hr @michaelmoussa https://joind.in/talk/97b36
EC2 Instance Families EC2 Instance Pricing by Resource $0.35 $0.012 $0.30 $0.010 $0.25 $0.008 $0.20 $0.006 $0.15 $0.004 $0.10 $0.05 $0.002 $0.00 $0.000 M C P G vCPU/hr F X Mem GiB/hr R I H D Disk GiB/hr @michaelmoussa https://joind.in/talk/97b36
Elastic Compute Cloud (EC2) @michaelmoussa https://joind.in/talk/97b36
Elastic Compute Cloud (EC2) ? @michaelmoussa https://joind.in/talk/97b36
Virtual Private Cloud (VPC) @michaelmoussa https://joind.in/talk/97b36
Virtual Private Cloud (VPC) • Isolated virtual network within AWS @michaelmoussa https://joind.in/talk/97b36
Virtual Private Cloud (VPC) • • Isolated virtual network within AWS Fully customizable to your needs: @michaelmoussa https://joind.in/talk/97b36
Virtual Private Cloud (VPC) • • Isolated virtual network within AWS Fully customizable to your needs: • IP address range, subnets, routing @michaelmoussa https://joind.in/talk/97b36
Virtual Private Cloud (VPC) • • Isolated virtual network within AWS Fully customizable to your needs: • • IP address range, subnets, routing Security groups, network access control lists, gateways, etc. @michaelmoussa https://joind.in/talk/97b36
Availability Zone Availability Zone Virtual Private Cloud (VPC) AWS Region @michaelmoussa https://joind.in/talk/97b36
50+ Availability Zones across 18 Regions @michaelmoussa https://joind.in/talk/97b36
Availability Zone Virtual Private Cloud (VPC) Availability Zone Public Subnet Public Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Virtual Private Cloud (VPC) Application Public Subnet Availability Zone Users Public Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Virtual Private Cloud (VPC) Application Public Subnet Availability Zone Users Public Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Virtual Private Cloud (VPC) Private Subnet Public Subnet Private Subnet Availability Zone Public Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Virtual Private Cloud (VPC) Application Public Subnet Private Subnet Public Subnet Private Subnet Availability Zone Users AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Virtual Private Cloud (VPC) Application Public Subnet Private Subnet Public Subnet Private Subnet Availability Zone Users AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Virtual Private Cloud (VPC) Application Public Subnet Private Subnet Public Subnet Private Subnet Availability Zone Users AWS Region @michaelmoussa https://joind.in/talk/97b36
Staff Bastion Availability Zone Virtual Private Cloud (VPC) Application Public Subnet Private Subnet Public Subnet Private Subnet Availability Zone Users AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Virtual Private Cloud (VPC) Application Public Subnet Private Subnet Public Subnet Private Subnet Availability Zone Users AWS Region @michaelmoussa https://joind.in/talk/97b36
Security is about layers @michaelmoussa https://joind.in/talk/97b36
Availability Zone Virtual Private Cloud (VPC) Application Public Subnet Private Subnet Public Subnet Private Subnet Availability Zone Users AWS Region @michaelmoussa https://joind.in/talk/97b36
Elastic Load Balancing (ELB) @michaelmoussa https://joind.in/talk/97b36
Elastic Load Balancing (ELB) Classic Load Balancer Application Load Balancer Network Load Balancer @michaelmoussa https://joind.in/talk/97b36
Elastic Load Balancing (ELB) Application Load Balancer @michaelmoussa https://joind.in/talk/97b36
Application Load Balancer (ALB) • Single source of user traffic @michaelmoussa https://joind.in/talk/97b36
Application Load Balancer (ALB) • • Single source of user traffic Listen for requests and distribute to registered targets @michaelmoussa https://joind.in/talk/97b36
Application Load Balancer (ALB) • • Single source of user traffic Listen for requests and distribute to registered targets • Scales to meet demand @michaelmoussa https://joind.in/talk/97b36
Application Load Balancer (ALB) • • Single source of user traffic Listen for requests and distribute to registered targets • • Scales to meet demand SSL/TLS support @michaelmoussa https://joind.in/talk/97b36
AWS Certificate Manager (ACM) @michaelmoussa https://joind.in/talk/97b36
AWS Certificate Manager (ACM) • SSL/TLS certificates for AWS services @michaelmoussa https://joind.in/talk/97b36
AWS Certificate Manager (ACM) • • SSL/TLS certificates for AWS services Create your own in seconds @michaelmoussa https://joind.in/talk/97b36
AWS Certificate Manager (ACM) • • • SSL/TLS certificates for AWS services Create your own in seconds Easy to use @michaelmoussa https://joind.in/talk/97b36
AWS Certificate Manager (ACM) • • • • SSL/TLS certificates for AWS services Create your own in seconds Easy to use Automatically renewed @michaelmoussa https://joind.in/talk/97b36
AWS Certificate Manager (ACM) • • • • • SSL/TLS certificates for AWS services Create your own in seconds Easy to use Automatically renewed Free! @michaelmoussa https://joind.in/talk/97b36
Availability Zone Application Load Balancer (ALB) Application Public Subnet Private Subnet Public Subnet Private Subnet Availability Zone Users AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Application Load Balancer (ALB) Application Public Subnet Application Load Balancer Availability Zone Users Private Subnet Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Application Load Balancer (ALB) Application Public Subnet Application Load Balancer Availability Zone Users Private Subnet Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Application Load Balancer (ALB) Application Public Subnet Application Load Balancer Availability Zone Users Private Subnet Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Application Load Balancer (ALB) Application Public Subnet Application Load Balancer Availability Zone Users Private Subnet Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Amazon Route 53 @michaelmoussa https://joind.in/talk/97b36
Amazon Route 53 • Highly-available, reliable DNS service @michaelmoussa https://joind.in/talk/97b36
Amazon Route 53 • • Highly-available, reliable DNS service Public and private zones @michaelmoussa https://joind.in/talk/97b36
Amazon Route 53 • • • Highly-available, reliable DNS service Public and private zones Flexible routing @michaelmoussa https://joind.in/talk/97b36
Amazon Route 53 • • • • Highly-available, reliable DNS service Public and private zones Flexible routing Well-integrated with other service offerings on AWS @michaelmoussa https://joind.in/talk/97b36
Availability Zone Amazon Route 53 Application Public Subnet Application Load Balancer Availability Zone Users Private Subnet Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Amazon Route 53 Route 53 Application Public Subnet Application Load Balancer Availability Zone Users Private Subnet Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Checkpoint Route 53 Application Public Subnet Fault-tolerant Private Subnet Secure Application Load Balancer Availability Zone Users Public Subnet Highly-available Scalable Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
High Availability “How many nines?” @michaelmoussa https://joind.in/talk/97b36
How many nines? Uptime % “Nines” Downtime per day Downtime per year 90% 1 nine 2.4 hours 36.5 days 99% 2 nines 14 minutes 3.65 days 99.9% 3 nines 86 seconds 8.76 hours 99.99% 4 nines 8.6 seconds 52.6 minutes 99.999% 5 nines 0.86 seconds 5.25 minutes 99.9999% 6 nines 8.6 milliseconds 31.5 seconds @michaelmoussa https://joind.in/talk/97b36
Fault Tolerance A fault-tolerant system will continue to function properly despite failure of one or more of its components. @michaelmoussa https://joind.in/talk/97b36
High Availability vs. Fault Tolerance HA FT Brakes Not FT Wheels Not HA Steering wheel @michaelmoussa https://joind.in/talk/97b36
High Availability vs. Fault Tolerance HA FT Brakes Not FT Wheels Not HA Steering wheel @michaelmoussa https://joind.in/talk/97b36
High Availability vs. Fault Tolerance HA FT Brakes Not FT Wheels Not HA Steering wheel @michaelmoussa https://joind.in/talk/97b36
High Availability vs. Fault Tolerance HA FT Brakes Not FT Wheels Not HA Steering wheel @michaelmoussa https://joind.in/talk/97b36
High Availability vs. Fault Tolerance HA FT Brakes Not FT Wheels Not HA Steering wheel @michaelmoussa https://joind.in/talk/97b36
Availability Zone Checkpoint Route 53 Application Public Subnet Fault-tolerant Private Subnet Secure Application Load Balancer Availability Zone Users Public Subnet Highly-available Scalable Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Checkpoint Route 53 Application Public Subnet Fault-tolerant Private Subnet Secure Application Load Balancer Availability Zone Users Public Subnet Highly-available Scalable Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Checkpoint Route 53 Application Public Subnet Fault-tolerant Private Subnet Secure Application Load Balancer Availability Zone Users Public Subnet Highly-available Scalable Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Checkpoint Route 53 Application Public Subnet Fault-tolerant Private Subnet Secure Application Load Balancer Availability Zone Users Public Subnet Highly-available Scalable Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Checkpoint Route 53 Application Public Subnet Fault-tolerant Private Subnet Secure Application Load Balancer Availability Zone Users Public Subnet Highly-available ~ Scalable Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Checkpoint Route 53 Application Public Subnet Application Load Balancer Availability Zone Users Private Subnet Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Checkpoint Route 53 Application Public Subnet Application Load Balancer Availability Zone Users Private Subnet Application Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Checkpoint Route 53 Application Public Subnet Application Load Balancer Availability Zone Users Private Subnet Application Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Auto Scaling Group (ASG) @michaelmoussa https://joind.in/talk/97b36
Availability Zone Auto Scaling Group (ASG) Route 53 Application Public Subnet Auto Scaling Group Availability Zone Users Application Load Balancer Private Subnet Application Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Auto Scaling Group (ASG) Route 53 Application Application Public Subnet Auto Scaling Group Availability Zone Users Application Load Balancer Private Subnet Application Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Auto Scaling Group (ASG) Route 53 Application Application Application Public Subnet Auto Scaling Group Application Public Subnet Availability Zone Users Application Load Balancer Private Subnet Application Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Auto Scaling Group (ASG) Route 53 Application Application Application Application Public Subnet Public Subnet Auto Scaling Group Application Application Application Application Availability Zone Users Application Load Balancer Private Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Auto Scaling Group (ASG) Route 53 Application Public Subnet Auto Scaling Group Availability Zone Users Application Load Balancer Private Subnet Application Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Auto Scaling Group (ASG) Route 53 Application Public Subnet Auto Scaling Group Availability Zone Users Application Load Balancer Private Subnet Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Auto Scaling Group (ASG) Route 53 Application Public Subnet Auto Scaling Group Availability Zone Users Application Load Balancer Private Subnet Application Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Auto Scaling Group (ASG) - Scale out @michaelmoussa https://joind.in/talk/97b36
Auto Scaling Group (ASG) - Scale out @michaelmoussa https://joind.in/talk/97b36
Auto Scaling Group (ASG) - Scale out @michaelmoussa https://joind.in/talk/97b36
Auto Scaling Group (ASG) - Scale in @michaelmoussa https://joind.in/talk/97b36
Auto Scaling Group (ASG) - Scale in @michaelmoussa https://joind.in/talk/97b36
Auto Scaling Group (ASG) - Scale in @michaelmoussa https://joind.in/talk/97b36
Amazon CloudWatch @michaelmoussa https://joind.in/talk/97b36
Amazon CloudWatch • Monitoring service @michaelmoussa https://joind.in/talk/97b36
Amazon CloudWatch • • Monitoring service Collect and display metrics @michaelmoussa https://joind.in/talk/97b36
Amazon CloudWatch • • • Monitoring service Collect and display metrics Alarms @michaelmoussa https://joind.in/talk/97b36
Amazon CloudWatch • • • Monitoring service Collect and display metrics Alarms @michaelmoussa https://joind.in/talk/97b36
Amazon CloudWatch • • • • Monitoring service Collect and display metrics Alarms Gather and store server logs with awslogs agent @michaelmoussa https://joind.in/talk/97b36
Auto Scaling Group (ASG) - Target tracking @michaelmoussa https://joind.in/talk/97b36
Auto Scaling Group (ASG) - Target tracking @michaelmoussa https://joind.in/talk/97b36
Auto Scaling Group (ASG) - Scheduling @michaelmoussa https://joind.in/talk/97b36
Auto Scaling Group (ASG) - Scheduling @michaelmoussa https://joind.in/talk/97b36
Availability Zone Auto Scaling Group (ASG) Route 53 Application Public Subnet Secure Auto Scaling Group Application Public Subnet Fault-tolerant Private Subnet Availability Zone Users Application Load Balancer Highly-available Scalable Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Availability Zone Auto Scaling Group (ASG) Route 53 Application Public Subnet Secure Auto Scaling Group Application Public Subnet Fault-tolerant Private Subnet Availability Zone Users Application Load Balancer Highly-available Scalable Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Relational Database Service (RDS) @michaelmoussa https://joind.in/talk/97b36
Relational Database Service (RDS) • RDBMS as a service @michaelmoussa https://joind.in/talk/97b36
Relational Database Service (RDS) • • RDBMS as a service Automated setup and patching @michaelmoussa https://joind.in/talk/97b36
Relational Database Service (RDS) • • • RDBMS as a service Automated setup and patching Managed backups @michaelmoussa https://joind.in/talk/97b36
Managed backups @michaelmoussa https://joind.in/talk/97b36
Managed backups @michaelmoussa https://joind.in/talk/97b36
Relational Database Service (RDS) • • • • RDBMS as a service Automated setup and patching Managed backups Point-in-time snapshots @michaelmoussa https://joind.in/talk/97b36
Point-in-time snapshots @michaelmoussa https://joind.in/talk/97b36
Point-in-time snapshots @michaelmoussa https://joind.in/talk/97b36
Relational Database Service (RDS) • • • • • RDBMS as a service Automated setup and patching Managed backups Point-in-time snapshots Zero downtime scaling and fast recovery from outages @michaelmoussa https://joind.in/talk/97b36
Availability Zone Zero downtime scaling and fast recovery Availability Zone MySQL on RDS @michaelmoussa https://joind.in/talk/97b36
Primary Availability Zone Zero downtime scaling and fast recovery Availability Zone MySQL on RDS @michaelmoussa https://joind.in/talk/97b36
Primary Availability Zone Zero downtime scaling and fast recovery Standby Availability Zone MySQL on RDS @michaelmoussa https://joind.in/talk/97b36
Primary Availability Zone Zero downtime scaling and fast recovery Standby Availability Zone MySQL on RDS @michaelmoussa https://joind.in/talk/97b36
Primary Application MySQL on RDS Standby Availability Zone mytestdb.crodoplfp5zz. us-east-1.rds.amazonaws.com Availability Zone Zero downtime scaling and fast recovery @michaelmoussa https://joind.in/talk/97b36
Availability Zone Zero downtime scaling and fast recovery Application MySQL on RDS Standby Availability Zone mytestdb.crodoplfp5zz. us-east-1.rds.amazonaws.com @michaelmoussa https://joind.in/talk/97b36
Availability Zone Zero downtime scaling and fast recovery Application MySQL on RDS Standby Availability Zone mytestdb.crodoplfp5zz. us-east-1.rds.amazonaws.com @michaelmoussa https://joind.in/talk/97b36
Availability Zone Zero downtime scaling and fast recovery Application MySQL on RDS Primary Availability Zone mytestdb.crodoplfp5zz. us-east-1.rds.amazonaws.com @michaelmoussa https://joind.in/talk/97b36
Standby Application MySQL on RDS Primary Availability Zone mytestdb.crodoplfp5zz. us-east-1.rds.amazonaws.com Availability Zone Zero downtime scaling and fast recovery @michaelmoussa https://joind.in/talk/97b36
failover only! Standby Application MySQL on RDS Primary Availability Zone mytestdb.crodoplfp5zz. us-east-1.rds.amazonaws.com Availability Zone Zero downtime scaling and fast recovery @michaelmoussa https://joind.in/talk/97b36
mytestdb-read-replica-1.crodoplfp5zz. us-east-1.rds.amazonaws.com Read Replica Application MySQL on RDS Primary Availability Zone mytestdb.crodoplfp5zz. us-east-1.rds.amazonaws.com Standby Availability Zone Zero downtime scaling and fast recovery @michaelmoussa https://joind.in/talk/97b36
mytestdb-read-replica-1.crodoplfp5zz. us-east-1.rds.amazonaws.com Read Replica Application MySQL on RDS Primary Availability Zone mytestdb.crodoplfp5zz. us-east-1.rds.amazonaws.com Standby Availability Zone Zero downtime scaling and fast recovery @michaelmoussa https://joind.in/talk/97b36
mytestdb-read-replica-1.crodoplfp5zz. us-east-1.rds.amazonaws.com Read Replica Application MySQL on RDS mytestdb-read-replica-2.crodoplfp5zz. us-east-1.rds.amazonaws.com Read Replica Primary Availability Zone mytestdb.crodoplfp5zz. us-east-1.rds.amazonaws.com Standby Availability Zone Zero downtime scaling and fast recovery @michaelmoussa https://joind.in/talk/97b36
xa m pl e. co m mytestdb-read-replica-1.crodoplfp5zz. us-east-1.rds.amazonaws.com Standby Read Replica mytestdb.crodoplfp5zz. us-east-1.rds.amazonaws.com MySQL on RDS 50% m yt es Application 50% mytestdb-read-replica-2.crodoplfp5zz. us-east-1.rds.amazonaws.com Read Replica Read Replica Primary Availability Zone td b -rr .in te rn a l.e Read Replica Availability Zone Zero downtime scaling and fast recovery @michaelmoussa https://joind.in/talk/97b36
td b -rr .in te rn a l.e xa m Primary 34% 33% Standby Read Replica mytestdb.crodoplfp5zz. us-east-1.rds.amazonaws.com MySQL on RDS 33% m yt es Application Read Replica mytestdb-read-replica-2.crodoplfp5zz. us-east-1.rds.amazonaws.com Read Replica Read Replica Primary Availability Zone pl e. co m mytestdb-read-replica-1.crodoplfp5zz. us-east-1.rds.amazonaws.com Availability Zone Zero downtime scaling and fast recovery @michaelmoussa https://joind.in/talk/97b36
Relational Database Service (RDS) • • • • • RDBMS as a service Automated setup and patching Managed backups Point-in-time snapshots Zero downtime scaling and fast recovery from outages @michaelmoussa https://joind.in/talk/97b36
Relational Database Service (RDS) Amazon Aurora • MySQL and PostgreSQL compatible @michaelmoussa https://joind.in/talk/97b36
Relational Database Service (RDS) Amazon Aurora • • MySQL and PostgreSQL compatible Pay-as-you-go on-the-fly storage @michaelmoussa https://joind.in/talk/97b36
Relational Database Service (RDS) Amazon Aurora • • • MySQL and PostgreSQL compatible Pay-as-you-go on-the-fly storage Up to 15 read replicas for failover @michaelmoussa https://joind.in/talk/97b36
Relational Database Service (RDS) Amazon Aurora • • • • MySQL and PostgreSQL compatible Pay-as-you-go on-the-fly storage Up to 15 read replicas for failover Very low replication lag @michaelmoussa https://joind.in/talk/97b36
Availability Zone Relational Database Service (RDS) Route 53 Application Public Subnet Auto Scaling Group Availability Zone Users Application Load Balancer Private Subnet Application Public Subnet Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Route 53 Application Users Application Load Balancer Public Subnet Private Subnet Auto Scaling Group Amazon Aurora on RDS Application Read Replica(s) Availability Zone Public Subnet Primary Availability Zone Relational Database Service (RDS) Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Amazon ElastiCache @michaelmoussa https://joind.in/talk/97b36
Amazon ElastiCache • In-memory cache as a service @michaelmoussa https://joind.in/talk/97b36
Amazon ElastiCache • • In-memory cache as a service Automated setup and patching @michaelmoussa https://joind.in/talk/97b36
Amazon ElastiCache • • • In-memory cache as a service Automated setup and patching Memcached or Redis @michaelmoussa https://joind.in/talk/97b36
Amazon ElastiCache • • • • In-memory cache as a service Automated setup and patching Memcached or Redis Fast! @michaelmoussa https://joind.in/talk/97b36
Amazon ElastiCache • • • • • In-memory cache as a service Automated setup and patching Memcached or Redis Fast! Easily scalable @michaelmoussa https://joind.in/talk/97b36
Easily scalable Primary Node ElastiCache Memcached Replica Node @michaelmoussa https://joind.in/talk/97b36
Easily scalable Primary Node ElastiCache Memcached Replica Node @michaelmoussa https://joind.in/talk/97b36
Easily scalable Primary Node ElastiCache Memcached Replica Node Replica Node Replica Node @michaelmoussa https://joind.in/talk/97b36
Easily scalable Primary Node ElastiCache Redis Replica Node Replica Node Replica Node @michaelmoussa https://joind.in/talk/97b36
Easily scalable Primary Node ElastiCache Redis Replica Node Replica Node Replica Node @michaelmoussa https://joind.in/talk/97b36
Easily scalable Shard 1 Shard 2 Shard 3 Primary Node Primary Node Primary Node ElastiCache Redis (Cluster Mode) Replica Node Replica Node Replica Node Replica Node Replica Node Replica Node Replica Node Replica Node Replica Node @michaelmoussa https://joind.in/talk/97b36
Amazon ElastiCache • • • • • In-memory cache as a service Automated setup and patching Memcached or Redis Fast! Easily scalable @michaelmoussa https://joind.in/talk/97b36
Route 53 Application Users Application Load Balancer Public Subnet Private Subnet Auto Scaling Group Amazon Aurora on RDS Application Read Replica(s) Availability Zone Public Subnet Primary Availability Zone Amazon ElastiCache Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Route 53 Application Users Application Load Balancer Public Subnet Primary Node(s) Private Subnet Auto Scaling Group Amazon Aurora on RDS Application Read Replica(s) ElastiCache Redis Replica Node(s) Availability Zone Public Subnet Primary Availability Zone Amazon ElastiCache Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Simple Storage Service (S3) @michaelmoussa https://joind.in/talk/97b36
Simple Storage Service (S3) • Pay-as-you-go object storage @michaelmoussa https://joind.in/talk/97b36
Simple Storage Service (S3) • • Pay-as-you-go object storage 5 TB per bucket with files up to 5 GB @michaelmoussa https://joind.in/talk/97b36
Simple Storage Service (S3) • • • Pay-as-you-go object storage 5 TB per bucket with files up to 5 GB 99.999999999% (11 nines) durability @michaelmoussa https://joind.in/talk/97b36
Simple Storage Service (S3) • • • • Pay-as-you-go object storage 5 TB per bucket with files up to 5 GB 99.999999999% (11 nines) durability File versioning @michaelmoussa https://joind.in/talk/97b36
Simple Storage Service (S3) • • • • • Pay-as-you-go object storage 5 TB per bucket with files up to 5 GB 99.999999999% (11 nines) durability File versioning Static website hosting @michaelmoussa https://joind.in/talk/97b36
Route 53 Application Users Application Load Balancer Public Subnet Primary Node(s) Private Subnet Auto Scaling Group Amazon Aurora on RDS Application Read Replica(s) ElastiCache Redis Replica Node(s) Availability Zone Public Subnet Primary Availability Zone Simple Storage Service (S3) Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Route 53 Application Users Application Load Balancer Public Subnet Primary Node(s) Private Subnet Auto Scaling Group Amazon Aurora on RDS Application Read Replica(s) ElastiCache Redis Replica Node(s) Availability Zone Public Subnet Primary Availability Zone Simple Storage Service (S3) S3 Private Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36
Route 53 Application Users Application Load Balancer Public Subnet Primary Node(s) Private Subnet Auto Scaling Group Amazon Aurora on RDS Application Read Replica(s) ElastiCache Redis Replica Node(s) Availability Zone Public Subnet Primary Availability Zone Simple Storage Service (S3) S3 Private Subnet AWS Region VPC Endpoint @michaelmoussa https://joind.in/talk/97b36
Amazon CloudFront @michaelmoussa https://joind.in/talk/97b36
Amazon CloudFront • Global content delivery network (CDN) @michaelmoussa https://joind.in/talk/97b36
100+ Edge Locations across 24 countries @michaelmoussa https://joind.in/talk/97b36
Amazon CloudFront • • Global content delivery network (CDN) Deep integration with EC2, ELB, and S3 @michaelmoussa https://joind.in/talk/97b36
Amazon CloudFront • • • Global content delivery network (CDN) Deep integration with EC2, ELB, and S3 SSL/TLS available @michaelmoussa https://joind.in/talk/97b36
Amazon CloudFront • • • • Global content delivery network (CDN) Deep integration with EC2, ELB, and S3 SSL/TLS available Private content support @michaelmoussa https://joind.in/talk/97b36
Route 53 Application Users Application Load Balancer Public Subnet Primary Node(s) Private Subnet Auto Scaling Group Amazon Aurora on RDS Application Read Replica(s) ElastiCache Redis Replica Node(s) Availability Zone Public Subnet Primary Availability Zone Amazon CloudFront S3 Private Subnet AWS Region VPC Endpoint @michaelmoussa https://joind.in/talk/97b36
Route 53 Application Users Application Load Balancer Public Subnet Primary Node(s) Private Subnet Auto Scaling Group Amazon Aurora on RDS Application Read Replica(s) ElastiCache Redis Replica Node(s) Availability Zone Public Subnet Primary Availability Zone Amazon CloudFront S3 Private Subnet CloudFront AWS Region VPC Endpoint @michaelmoussa https://joind.in/talk/97b36
Route 53 Application Users Application Load Balancer Public Subnet Primary Node(s) Private Subnet Auto Scaling Group Amazon Aurora on RDS Application Read Replica(s) ElastiCache Redis Replica Node(s) Availability Zone Public Subnet Primary Availability Zone Amazon CloudFront S3 Private Subnet CloudFront AWS Region VPC Endpoint @michaelmoussa https://joind.in/talk/97b36
https://joind.in/talk/97b36
Thanks! https://joind.in/talk/97b36