41
Getting Started With Amazon Web Services Sunday, 5 July 15

PHPNW14 - Getting Started With AWS

Embed Size (px)

Citation preview

Ben Waine

• Worked With PHP For 5 Years

• Worked With AWS for 3 Years

• Software / Infrastructure ‘Gun For Hire’

Sunday, 5 July 15

Signed Up For AWS? - http://aws.amazon.com/free/

Sunday, 5 July 15

Todays Roadmap

1. Working With EC22. Automating With Cloud Formation3. Creating A Cloud Front Distribution4. Lessons Learnt In The Cloud

5.RDS - Relational Database Service6. IAM - Mutli user management7. The PHP SDK

Critical

Extension

Sunday, 5 July 15

Why The Cloud?

Sunday, 5 July 15

Flexibility

Sunday, 5 July 15

Sunday, 5 July 15

Sunday, 5 July 15

Why Amazon?

Sunday, 5 July 15

Sunday, 5 July 15

Feature Rich

Sunday, 5 July 15

PaaS vs IaaS

Sunday, 5 July 15

All The Little Pieces

EC2 RDS S3 Cloud Front

IAM Cloud Formation

Sunday, 5 July 15

1.Use the AWS management console to create a new IAM account.

http://aws.amazon.com/console/

Exercise 1:Creating An IAM User

Sunday, 5 July 15

1. Produce an infrastructure capable of hosting a traditional php web application.

2. Components: Webserver, database, CDN

3. The design should be resilient to failure

4. The design should be secure

Infrastructure Goals

Sunday, 5 July 15

1. Build a simple architecture in the management console.

2. Install a ‘hello world’ application on a webserver

3. Use Cloud Former to create a Cloud Formation template

4. Use Cloud Formation to create a new stack

Exercise 2: Building The Basics

Sunday, 5 July 15

Sunday, 5 July 15

1. Produce an infrastructure capable of hosting a traditional php web application.

2. Components: Webserver, database, CDN

3. The design should be resilient to failure

4. The design should be secure

Infrastructure Goals

Sunday, 5 July 15

1. Create a custom AMI from the configured server

Exercise 2: Creating An AMI

Sunday, 5 July 15

1. Produce an infrastructure capable of hosting a traditional php web application.

2. Components: Webserver, database, CDN

3. The design should be resilient to failure

4. The design should be secure

Infrastructure Goals

Sunday, 5 July 15

Cloud 101: Everything Is Ephemeral

Sunday, 5 July 15

1.Add another subnet in another availability zone

2. Swap the single web server for an autoscaling group of servers, spanning two availability zones

3. Add a load balancer

Exercise 3: Availability & Redundancy

Sunday, 5 July 15

Sunday, 5 July 15

1. Produce an infrastructure capable of hosting a traditional php web application.

2. Components: Webserver, database, CDN

3. The design should be resilient to failure

4. The design should be secure

Infrastructure Goals

Sunday, 5 July 15

1. Create two private subnets

2. Create a new autoscaling web group which launches into the private subnets

3. Create a ‘Bastion’ host and security group

4. Update the webserver security group

Exercise 4: Security

Sunday, 5 July 15

Sunday, 5 July 15

1. Produce an infrastructure capable of hosting a traditional php web application.

2. Components: Webserver, database, CDN

3. The design should be resilient to failure

4. The design should be secure

Infrastructure Goals

Sunday, 5 July 15

1. Add an additional database security group

2.Create an RDS subnet group

3. Launch An RDS database

Exercise 5:Create An RDS Database

Sunday, 5 July 15

Sunday, 5 July 15

1. Produce an infrastructure capable of hosting a traditional php web application.

2. Components: Webserver, database, CDN

3. The design should be resilient to failure

4. The design should be secure

Infrastructure Goals

Sunday, 5 July 15

1. Create an S3 Bucket

2. Modify the buckets access rights

3. Create a cloud front distribution backed by the bucket

Exercise 6:Create A Cloud Front

Distribution

Sunday, 5 July 15

Sunday, 5 July 15

1. Produce an infrastructure capable of hosting a traditional php web application.

2. Components: Webserver, database, CDN

3. The design should be resilient to failure

4. The design should be secure

Infrastructure Goals

Sunday, 5 July 15

More Little Pieces...

Elasticache Route 53 SES Glacier

Sunday, 5 July 15

Provisioning

Sunday, 5 July 15

General Tips1. Deploy In Multiple AZ’s 2. Deploy Multiple Regions3. Think Ephemeral4. Automate Everything5. Name Everything Consistently6. Invest Time in Provisioning Software7. Will Your Customers Accept Cloud?8. Are You Legally Compliant?9. Is It cost effective? 10. Reserved Instances

Sunday, 5 July 15

End Of Section: Questions?

Sunday, 5 July 15

The PHP SDK

1. Install Using Composer2. Vast majority of features supported3. Uses Guzzle under the hood4. Use with IAM for credential-less use in production

Sunday, 5 July 15

1. Use the PHP SDK to create a command line app to upload images to S3

Exercise 7: The PHP SDK

Sunday, 5 July 15

Any running resources could eventually incur usage costs

Delete all stacks, instances, databases, IP addresses etc.

Final Exercise: Clean Up

Sunday, 5 July 15

Everything Is Ephemeral

Everything.

Sunday, 5 July 15