ArtisanTinkerer.github.io

Blog

View on GitHub

Just trying to document how we move from 1 live server to a load balanced horizontally scaled architecture.

Terminology

IAM - security Route 53 - DNS Key pairs - belong to an IAM user and are SSH keys. .pem Cloudfront - serves assets

Elastic beanstalk - for deploying and scaling

CodeDeploy - automates deployment

EC2 instance - virtual server (Elastic Compute Cloud)

EBS - Block Storage

S3 - File Storage

EC2

Just for spinning up VMs

Security on Virtual Private Cloud

Can also connect to on premise using hardware

Elastic Beanstalk

Deploys, Manages and Scales.

Automatically scales.

You can tweak after.

Cloud Formation

To create and manage AWS resources.

Provisions based on a template (JSON file).

Defines what resources are required to run the application.

Or pre-built stack.

Upload temmplate.

Load Balancing

Code Deploy

Coordinates deployment and updates across a fleet.

Dev machine has AppSpec file (application specific). Deploys to a Deployment Group.

Blue/green deployment

Just creating a parallel environment before switching.

CodeDeploy with Auto Scaling

http://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html

“When new Amazon EC2 instances are launched as part of an Auto Scaling group, AWS CodeDeploy can deploy your revisions to the new instances automatically”

https://aws.amazon.com/blogs/devops/under-the-hood-aws-codedeploy-and-auto-scaling-integration/

Deep Dive

https://www.youtube.com/watch?v=aX54mhZbN58

Dev Ops

http://docs.aws.amazon.com/devops/latest/gsg/setup-access.html

Looking a this one:

http://docs.aws.amazon.com/autoscaling/latest/userguide/as-register-lbs-with-asg.html

Tutorial Linux

Video 1

Create EC2 instance

Video 2

Stop instance. Auto scaling group.

Deploying code to an auto scaling group. Launch Configuration - bash script here could do a git pull?

https://deliciousbrains.com/scaling-laravel-aws-elastic-beanstalk-part-1-setting-up-laravel/

Where do we start?

Code Deploy

https://www.youtube.com/watch?v=qZa5JXmsWZs

Cloud Formation

Application Templates

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/sample-templates-appframeworks-us-west-2.html

Maybe just do this

Tutorial: Set Up a Scaled and Load-Balanced Application

http://docs.aws.amazon.com/autoscaling/latest/userguide/as-register-lbs-with-asg.html

http://docs.aws.amazon.com/autoscaling/latest/userguide/GettingStartedTutorial.html

The Plan

Don’t touch the current box.

1, Create a new box. 2, Use this to make an AMI. 3, Use this to setup a load balanced auto-scaling group.

Box build

To Do

Sessions Logs - central AWS thing? Code Deploy

Architect Cert?

AWS Technical Essentials

https://acloud.guru/learn/aws-technical-essentials

AWS Certified Solutions Architect - Associate

https://acloud.guru/learn/aws-certified-solutions-architect-associate

http://cantrill.io/certification/aws/2016/03/27/how-to-pass-AWS-certifications.html Udemy - Ryan

Ryan Kroonenburg

Google Play app Sorry forgot to tell you guys what it was: https://play.google.com/store/apps/details?id=com.ionicframework.awsquiz543924

http://www.cardinalpath.com/autoscaling-your-website-with-amazon-web-services-part-1/

Immutable - Mutable https://aws.amazon.com/answers/configuration-management/aws-ami-design/

https://www.quora.com/Whats-the-best-way-to-push-code-to-production-on-multiple-EC2-instances

set -e in Bash Scripts

https://3e8.io/2016/lessons-learned-using-aws-codedeploy-with-auto-scaling-groups/

How to handle database migrations

The biggest

What can I do on Free Tier?

https://www.infoworld.com/article/2613845/cloud-computing/free-amazon-web-services—-and-how-to-make-the-most-of-them.html

Big questions

How to pull the code How to run database migrations - nothing to migrate?