Essential AWS for PHP Applications

A presentation at Longhorn PHP in April 2018 in Austin, TX, USA by Michael Moussa

Slide 1

Slide 1

Essential AWS for PHP Applications Longhorn PHP 2018 @michaelmoussa https://joind.in/talk/f3f7f Michael Moussa @michaelmoussa https://joind.in/talk/97b36

Slide 2

Slide 2

Who am I? @michaelmoussa https://joind.in/talk/97b36

Slide 3

Slide 3

Who am I? • Product Architect at Rackspace @michaelmoussa https://joind.in/talk/97b36

Slide 4

Slide 4

Who am I? • • Product Architect at Rackspace 18 year PHP developer & DevOps engineer @michaelmoussa https://joind.in/talk/97b36

Slide 5

Slide 5

Who am I? • • Product Architect at Rackspace 18 year PHP developer & DevOps engineer • AWS Certified Solutions Architect @michaelmoussa https://joind.in/talk/97b36

Slide 6

Slide 6

Sample environment requirements • Run PHP applications @michaelmoussa https://joind.in/talk/97b36

Slide 7

Slide 7

Sample environment requirements • • Run PHP applications Store information in a DB @michaelmoussa https://joind.in/talk/97b36

Slide 8

Slide 8

Sample environment requirements • • • Run PHP applications Store information in a DB Upload and serve files @michaelmoussa https://joind.in/talk/97b36

Slide 9

Slide 9

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

Slide 10

Slide 10

Elastic Compute Cloud (EC2) @michaelmoussa https://joind.in/talk/97b36

Slide 11

Slide 11

Elastic Compute Cloud (EC2) @michaelmoussa https://joind.in/talk/97b36

Slide 12

Slide 12

Elastic Compute Cloud (EC2) Users Application @michaelmoussa https://joind.in/talk/97b36

Slide 13

Slide 13

Elastic Compute Cloud (EC2) @michaelmoussa https://joind.in/talk/97b36

Slide 14

Slide 14

Amazon Machine Image (AMI) @michaelmoussa https://joind.in/talk/97b36

Slide 15

Slide 15

Amazon Machine Image (AMI) • Template for launching EC2 instances @michaelmoussa https://joind.in/talk/97b36

Slide 16

Slide 16

Amazon Machine Image (AMI) • Template for launching EC2 instances • Operating system @michaelmoussa https://joind.in/talk/97b36

Slide 17

Slide 17

Amazon Machine Image (AMI) • Template for launching EC2 instances • • Operating system Applications @michaelmoussa https://joind.in/talk/97b36

Slide 18

Slide 18

Amazon Machine Image (AMI) • Template for launching EC2 instances • • • Operating system Applications Libraries @michaelmoussa https://joind.in/talk/97b36

Slide 19

Slide 19

Amazon Machine Image (AMI) • Template for launching EC2 instances • • • • Operating system Applications Libraries Configuration @michaelmoussa https://joind.in/talk/97b36

Slide 20

Slide 20

Amazon Machine Image (AMI) • Template for launching EC2 instances • • • • • Operating system Applications Libraries Configuration Data @michaelmoussa https://joind.in/talk/97b36

Slide 21

Slide 21

Amazon Machine Image (AMI) Base AMI @michaelmoussa https://joind.in/talk/97b36

Slide 22

Slide 22

Amazon Machine Image (AMI) Base AMI Bare EC2 Instance @michaelmoussa https://joind.in/talk/97b36

Slide 23

Slide 23

Amazon Machine Image (AMI) etc… Base AMI Bare EC2 Instance @michaelmoussa https://joind.in/talk/97b36

Slide 24

Slide 24

Amazon Machine Image (AMI) etc… Base AMI Customized EC2 Instance @michaelmoussa https://joind.in/talk/97b36

Slide 25

Slide 25

Amazon Machine Image (AMI) etc… Base AMI Customized EC2 Instance Custom AMI @michaelmoussa https://joind.in/talk/97b36

Slide 26

Slide 26

Amazon Machine Image (AMI) etc… Base AMI Customized EC2 Instance etc… Custom AMI Customized EC2 Instance @michaelmoussa https://joind.in/talk/97b36

Slide 27

Slide 27

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

Slide 28

Slide 28

EC2 Instance Classes {family}{generation} {family}{generation}.{size} {family} @michaelmoussa https://joind.in/talk/97b36

Slide 29

Slide 29

EC2 Instance Classes c5.2xlarge @michaelmoussa https://joind.in/talk/97b36

Slide 30

Slide 30

EC2 Instance Classes c5.2xlarge Compute-optimized @michaelmoussa https://joind.in/talk/97b36

Slide 31

Slide 31

EC2 Instance Classes c5.2xlarge 5th generation @michaelmoussa https://joind.in/talk/97b36

Slide 32

Slide 32

EC2 Instance Classes c5.2xlarge twice the size of c5.xlarge (also, generally twice the price) @michaelmoussa https://joind.in/talk/97b36

Slide 33

Slide 33

EC2 Instance Families • • • • • General Purpose Compute Optimized Memory Optimized Storage Optimized Accelerated Computing (GPU) @michaelmoussa https://joind.in/talk/97b36

Slide 34

Slide 34

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

Slide 35

Slide 35

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

Slide 36

Slide 36

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

Slide 37

Slide 37

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

Slide 38

Slide 38

Elastic Compute Cloud (EC2) @michaelmoussa https://joind.in/talk/97b36

Slide 39

Slide 39

Elastic Compute Cloud (EC2) ? @michaelmoussa https://joind.in/talk/97b36

Slide 40

Slide 40

Virtual Private Cloud (VPC) @michaelmoussa https://joind.in/talk/97b36

Slide 41

Slide 41

Virtual Private Cloud (VPC) • Isolated virtual network within AWS @michaelmoussa https://joind.in/talk/97b36

Slide 42

Slide 42

Virtual Private Cloud (VPC) • • Isolated virtual network within AWS Fully customizable to your needs: @michaelmoussa https://joind.in/talk/97b36

Slide 43

Slide 43

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

Slide 44

Slide 44

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

Slide 45

Slide 45

Availability Zone Availability Zone Virtual Private Cloud (VPC) AWS Region @michaelmoussa https://joind.in/talk/97b36

Slide 46

Slide 46

50+ Availability Zones across 18 Regions @michaelmoussa https://joind.in/talk/97b36

Slide 47

Slide 47

Availability Zone Virtual Private Cloud (VPC) Availability Zone Public Subnet Public Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36

Slide 48

Slide 48

Availability Zone Virtual Private Cloud (VPC) Application Public Subnet Availability Zone Users Public Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36

Slide 49

Slide 49

Availability Zone Virtual Private Cloud (VPC) Application Public Subnet Availability Zone Users Public Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36

Slide 50

Slide 50

Availability Zone Virtual Private Cloud (VPC) Private Subnet Public Subnet Private Subnet Availability Zone Public Subnet AWS Region @michaelmoussa https://joind.in/talk/97b36

Slide 51

Slide 51

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

Slide 52

Slide 52

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

Slide 53

Slide 53

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

Slide 54

Slide 54

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

Slide 55

Slide 55

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

Slide 56

Slide 56

Security is about layers @michaelmoussa https://joind.in/talk/97b36

Slide 57

Slide 57

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

Slide 58

Slide 58

Elastic Load Balancing (ELB) @michaelmoussa https://joind.in/talk/97b36

Slide 59

Slide 59

Elastic Load Balancing (ELB) Classic Load Balancer Application Load Balancer Network Load Balancer @michaelmoussa https://joind.in/talk/97b36

Slide 60

Slide 60

Elastic Load Balancing (ELB) Application Load Balancer @michaelmoussa https://joind.in/talk/97b36

Slide 61

Slide 61

Application Load Balancer (ALB) • Single source of user traffic @michaelmoussa https://joind.in/talk/97b36

Slide 62

Slide 62

Application Load Balancer (ALB) • • Single source of user traffic Listen for requests and distribute to registered targets @michaelmoussa https://joind.in/talk/97b36

Slide 63

Slide 63

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

Slide 64

Slide 64

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

Slide 65

Slide 65

AWS Certificate Manager (ACM) @michaelmoussa https://joind.in/talk/97b36

Slide 66

Slide 66

AWS Certificate Manager (ACM) • SSL/TLS certificates for AWS services @michaelmoussa https://joind.in/talk/97b36

Slide 67

Slide 67

AWS Certificate Manager (ACM) • • SSL/TLS certificates for AWS services Create your own in seconds @michaelmoussa https://joind.in/talk/97b36

Slide 68

Slide 68

AWS Certificate Manager (ACM) • • • SSL/TLS certificates for AWS services Create your own in seconds Easy to use @michaelmoussa https://joind.in/talk/97b36

Slide 69

Slide 69

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

Slide 70

Slide 70

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

Slide 71

Slide 71

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

Slide 72

Slide 72

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

Slide 73

Slide 73

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

Slide 74

Slide 74

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

Slide 75

Slide 75

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

Slide 76

Slide 76

Amazon Route 53 @michaelmoussa https://joind.in/talk/97b36

Slide 77

Slide 77

Amazon Route 53 • Highly-available, reliable DNS service @michaelmoussa https://joind.in/talk/97b36

Slide 78

Slide 78

Amazon Route 53 • • Highly-available, reliable DNS service Public and private zones @michaelmoussa https://joind.in/talk/97b36

Slide 79

Slide 79

Amazon Route 53 • • • Highly-available, reliable DNS service Public and private zones Flexible routing @michaelmoussa https://joind.in/talk/97b36

Slide 80

Slide 80

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

Slide 81

Slide 81

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

Slide 82

Slide 82

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

Slide 83

Slide 83

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

Slide 84

Slide 84

High Availability “How many nines?” @michaelmoussa https://joind.in/talk/97b36

Slide 85

Slide 85

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

Slide 86

Slide 86

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

Slide 87

Slide 87

High Availability vs. Fault Tolerance HA FT Brakes Not FT Wheels Not HA Steering wheel @michaelmoussa https://joind.in/talk/97b36

Slide 88

Slide 88

High Availability vs. Fault Tolerance HA FT Brakes Not FT Wheels Not HA Steering wheel @michaelmoussa https://joind.in/talk/97b36

Slide 89

Slide 89

High Availability vs. Fault Tolerance HA FT Brakes Not FT Wheels Not HA Steering wheel @michaelmoussa https://joind.in/talk/97b36

Slide 90

Slide 90

High Availability vs. Fault Tolerance HA FT Brakes Not FT Wheels Not HA Steering wheel @michaelmoussa https://joind.in/talk/97b36

Slide 91

Slide 91

High Availability vs. Fault Tolerance HA FT Brakes Not FT Wheels Not HA Steering wheel @michaelmoussa https://joind.in/talk/97b36

Slide 92

Slide 92

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

Slide 93

Slide 93

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

Slide 94

Slide 94

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

Slide 95

Slide 95

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

Slide 96

Slide 96

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

Slide 97

Slide 97

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

Slide 98

Slide 98

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

Slide 99

Slide 99

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

Slide 100

Slide 100

Auto Scaling Group (ASG) @michaelmoussa https://joind.in/talk/97b36

Slide 101

Slide 101

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

Slide 102

Slide 102

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

Slide 103

Slide 103

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

Slide 104

Slide 104

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

Slide 105

Slide 105

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

Slide 106

Slide 106

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

Slide 107

Slide 107

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

Slide 108

Slide 108

Auto Scaling Group (ASG) - Scale out @michaelmoussa https://joind.in/talk/97b36

Slide 109

Slide 109

Auto Scaling Group (ASG) - Scale out @michaelmoussa https://joind.in/talk/97b36

Slide 110

Slide 110

Auto Scaling Group (ASG) - Scale out @michaelmoussa https://joind.in/talk/97b36

Slide 111

Slide 111

Auto Scaling Group (ASG) - Scale in @michaelmoussa https://joind.in/talk/97b36

Slide 112

Slide 112

Auto Scaling Group (ASG) - Scale in @michaelmoussa https://joind.in/talk/97b36

Slide 113

Slide 113

Auto Scaling Group (ASG) - Scale in @michaelmoussa https://joind.in/talk/97b36

Slide 114

Slide 114

Amazon CloudWatch @michaelmoussa https://joind.in/talk/97b36

Slide 115

Slide 115

Amazon CloudWatch • Monitoring service @michaelmoussa https://joind.in/talk/97b36

Slide 116

Slide 116

Amazon CloudWatch • • Monitoring service Collect and display metrics @michaelmoussa https://joind.in/talk/97b36

Slide 117

Slide 117

Amazon CloudWatch • • • Monitoring service Collect and display metrics Alarms @michaelmoussa https://joind.in/talk/97b36

Slide 118

Slide 118

Amazon CloudWatch • • • Monitoring service Collect and display metrics Alarms @michaelmoussa https://joind.in/talk/97b36

Slide 119

Slide 119

Amazon CloudWatch • • • • Monitoring service Collect and display metrics Alarms Gather and store server logs with awslogs agent @michaelmoussa https://joind.in/talk/97b36

Slide 120

Slide 120

Auto Scaling Group (ASG) - Target tracking @michaelmoussa https://joind.in/talk/97b36

Slide 121

Slide 121

Auto Scaling Group (ASG) - Target tracking @michaelmoussa https://joind.in/talk/97b36

Slide 122

Slide 122

Auto Scaling Group (ASG) - Scheduling @michaelmoussa https://joind.in/talk/97b36

Slide 123

Slide 123

Auto Scaling Group (ASG) - Scheduling @michaelmoussa https://joind.in/talk/97b36

Slide 124

Slide 124

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

Slide 125

Slide 125

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

Slide 126

Slide 126

Relational Database Service (RDS) @michaelmoussa https://joind.in/talk/97b36

Slide 127

Slide 127

Relational Database Service (RDS) • RDBMS as a service @michaelmoussa https://joind.in/talk/97b36

Slide 128

Slide 128

Relational Database Service (RDS) • • RDBMS as a service Automated setup and patching @michaelmoussa https://joind.in/talk/97b36

Slide 129

Slide 129

Relational Database Service (RDS) • • • RDBMS as a service Automated setup and patching Managed backups @michaelmoussa https://joind.in/talk/97b36

Slide 130

Slide 130

Managed backups @michaelmoussa https://joind.in/talk/97b36

Slide 131

Slide 131

Managed backups @michaelmoussa https://joind.in/talk/97b36

Slide 132

Slide 132

Relational Database Service (RDS) • • • • RDBMS as a service Automated setup and patching Managed backups Point-in-time snapshots @michaelmoussa https://joind.in/talk/97b36

Slide 133

Slide 133

Point-in-time snapshots @michaelmoussa https://joind.in/talk/97b36

Slide 134

Slide 134

Point-in-time snapshots @michaelmoussa https://joind.in/talk/97b36

Slide 135

Slide 135

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

Slide 136

Slide 136

Availability Zone Zero downtime scaling and fast recovery Availability Zone MySQL on RDS @michaelmoussa https://joind.in/talk/97b36

Slide 137

Slide 137

Primary Availability Zone Zero downtime scaling and fast recovery Availability Zone MySQL on RDS @michaelmoussa https://joind.in/talk/97b36

Slide 138

Slide 138

Primary Availability Zone Zero downtime scaling and fast recovery Standby Availability Zone MySQL on RDS @michaelmoussa https://joind.in/talk/97b36

Slide 139

Slide 139

Primary Availability Zone Zero downtime scaling and fast recovery Standby Availability Zone MySQL on RDS @michaelmoussa https://joind.in/talk/97b36

Slide 140

Slide 140

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

Slide 141

Slide 141

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

Slide 142

Slide 142

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

Slide 143

Slide 143

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

Slide 144

Slide 144

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

Slide 145

Slide 145

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

Slide 146

Slide 146

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

Slide 147

Slide 147

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

Slide 148

Slide 148

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

Slide 149

Slide 149

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

Slide 150

Slide 150

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

Slide 151

Slide 151

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

Slide 152

Slide 152

Relational Database Service (RDS) Amazon Aurora • MySQL and PostgreSQL compatible @michaelmoussa https://joind.in/talk/97b36

Slide 153

Slide 153

Relational Database Service (RDS) Amazon Aurora • • MySQL and PostgreSQL compatible Pay-as-you-go on-the-fly storage @michaelmoussa https://joind.in/talk/97b36

Slide 154

Slide 154

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

Slide 155

Slide 155

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

Slide 156

Slide 156

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

Slide 157

Slide 157

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

Slide 158

Slide 158

Amazon ElastiCache @michaelmoussa https://joind.in/talk/97b36

Slide 159

Slide 159

Amazon ElastiCache • In-memory cache as a service @michaelmoussa https://joind.in/talk/97b36

Slide 160

Slide 160

Amazon ElastiCache • • In-memory cache as a service Automated setup and patching @michaelmoussa https://joind.in/talk/97b36

Slide 161

Slide 161

Amazon ElastiCache • • • In-memory cache as a service Automated setup and patching Memcached or Redis @michaelmoussa https://joind.in/talk/97b36

Slide 162

Slide 162

Amazon ElastiCache • • • • In-memory cache as a service Automated setup and patching Memcached or Redis Fast! @michaelmoussa https://joind.in/talk/97b36

Slide 163

Slide 163

Amazon ElastiCache • • • • • In-memory cache as a service Automated setup and patching Memcached or Redis Fast! Easily scalable @michaelmoussa https://joind.in/talk/97b36

Slide 164

Slide 164

Easily scalable Primary Node ElastiCache Memcached Replica Node @michaelmoussa https://joind.in/talk/97b36

Slide 165

Slide 165

Easily scalable Primary Node ElastiCache Memcached Replica Node @michaelmoussa https://joind.in/talk/97b36

Slide 166

Slide 166

Easily scalable Primary Node ElastiCache Memcached Replica Node Replica Node Replica Node @michaelmoussa https://joind.in/talk/97b36

Slide 167

Slide 167

Easily scalable Primary Node ElastiCache Redis Replica Node Replica Node Replica Node @michaelmoussa https://joind.in/talk/97b36

Slide 168

Slide 168

Easily scalable Primary Node ElastiCache Redis Replica Node Replica Node Replica Node @michaelmoussa https://joind.in/talk/97b36

Slide 169

Slide 169

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

Slide 170

Slide 170

Amazon ElastiCache • • • • • In-memory cache as a service Automated setup and patching Memcached or Redis Fast! Easily scalable @michaelmoussa https://joind.in/talk/97b36

Slide 171

Slide 171

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

Slide 172

Slide 172

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

Slide 173

Slide 173

Simple Storage Service (S3) @michaelmoussa https://joind.in/talk/97b36

Slide 174

Slide 174

Simple Storage Service (S3) • Pay-as-you-go object storage @michaelmoussa https://joind.in/talk/97b36

Slide 175

Slide 175

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

Slide 176

Slide 176

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

Slide 177

Slide 177

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

Slide 178

Slide 178

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

Slide 179

Slide 179

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

Slide 180

Slide 180

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

Slide 181

Slide 181

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

Slide 182

Slide 182

Amazon CloudFront @michaelmoussa https://joind.in/talk/97b36

Slide 183

Slide 183

Amazon CloudFront • Global content delivery network (CDN) @michaelmoussa https://joind.in/talk/97b36

Slide 184

Slide 184

100+ Edge Locations across 24 countries @michaelmoussa https://joind.in/talk/97b36

Slide 185

Slide 185

Amazon CloudFront • • Global content delivery network (CDN) Deep integration with EC2, ELB, and S3 @michaelmoussa https://joind.in/talk/97b36

Slide 186

Slide 186

Amazon CloudFront • • • Global content delivery network (CDN) Deep integration with EC2, ELB, and S3 SSL/TLS available @michaelmoussa https://joind.in/talk/97b36

Slide 187

Slide 187

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

Slide 188

Slide 188

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

Slide 189

Slide 189

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

Slide 190

Slide 190

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

Slide 191

Slide 191

https://joind.in/talk/97b36

Slide 192

Slide 192

Thanks! https://joind.in/talk/97b36