ABOUT THE BOOK
A look at core Amazon Web Services (AWS) services with an emphasis on implementation and skill development. You will start with a simple web application on a single Elastic Cloud Compute (EC2) instance and improve the stack step by step by adding high availability, fault-tolerance, scalability, security and ease of deployment. The book has 8 chapters and a capstone project, code, and commands required for the project are included.
You will learn about these AWS services - Elastic Cloud Compute (EC2), Elastic Block Store (EBS), Relational Database Service (RDS), Simple Storage Service (S3), DynamoDB, Identity and Access Management (IAM), ElastiCache, CloudFront, Elastic Beanstalk and Virtual Private Cloud (VPC).
You will use these important aspects of AWS:
- Infrastructure: AWS Regions and Availability Zones.
- EC2: Amazon Machine Images, EBS Snapshots, Application Load Balancers, Sticky Sessions, Auto-Scaling Groups.
- RDS: Read Replicas, Multi-AZ Deployment.
- Network: Public and Private Subnets, VPC Service Endpoints, Security Groups, NAT Gateways.
- Security: IAM Roles, IAM policies, S3 bucket policies, S3 Access Control Lists, CloudFront signed URLs.
- App development: AWS SDK.
You will implement these AWS best practices:
- Configure separate root and data EBS volumes.
- Create snapshots of EBS data volumes.
- Create Amazon Machine Images of your app servers.
- Use multiple instances and multiple zones.
- Centralize sessions, content and the database.
- Use auto-scaling groups for your app servers.
- Off-load database requests to read replicas or to in-memory databases.
- Use a Content Distribution Network to deliver content to users around the world.
- Use signed URLs when delivering private content.
- Configure security using the principle of least privileges.
- Use an automation platform for frequent deployments.
You will understand AWS best practices for typical web app functions:
- Session management.
- Content delivery.
- Content security.
- Databases.
AUDIENCE
Developers, system administrators or a solutions architects who need to use AWS in their projects, or need to develop, and perhaps showcase, strong skills in this technology. Those preparing for AWS certification exams, and like to learn by doing.
REQUIRED SKILLS
You will use, modify, and configure a Linux (Ubuntu), Apache, MySQL and PHP app throughout this project. This book assumes you have some familiarity with Linux, SSH, vi (or similar) editors and with Git. PHP skills are NOT required.
FROM THE AUTHOR
I am AWS certified (Solutions Architect - Associate level) and have over 20 years of experience in IT. I adopted AWS early, back in 2008, when setting up an AWS based SaaS business. As part of this project, I coached, for several years, a team of system admins and developers on this technology. For the last couple of years, I have been teaching a webinar based AWS solutions architecture course. This book has evolved from this long experience using and teaching AWS. I hope you will find it useful.