- Level Set: What is the cloud?
- Getting Hands-on: Build Infrastructure to Host your Website.
- Powerful Tools to Research Next
- Passing the Interview

What is Cloud Computing?

- Network of Remote Servers
- Platform to help build scalable applications
- Fast access to low cost resources over the internet
What are the benefits?
- Cost! Pay for infrastructure as needed




- Scale up to balance load
- Low risk- great for experiments (hello start-up)
- Deploy applications in muiltiple regions
Which is why so many companies run on AWS!









Demo : 01 Let's Deploy Our Website on AWS using EC2 nginx


Resources Could Use:

Architecture Diagram

https://console.aws.amazon.com/
Region should be us-west-oregon.

Security!
Make a Key Pair


Kind of like password to log into the EC2.
Create Security Group


Firewall controlling traffic around the application.
Create IAM Role
Identity and Access Management.
Gives the EC2 access to other resources in AWS.
(Like our Database.)





Check-in: All Good?
Elastic Compute Cloud (EC2)


Log in!

Mac: Terminal SSH
Windows: Putty
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html
Start the Webserver

sudo yum update -y
sudo yum install -y httpd php mysql
sudo service httpd start
sudo chkconfig httpd on
Logged into the EC2, run:
View Server running on public DNS!


Amazon Machine Image
AMIs are EC2 templates.
(It would be super annoying to have to manually configure our web server each time.)





Check-in: All Good?


Configure the Database
RDS Instance: Relational Database Service





Create Security Group #2

This controlls traffic around the database.

Create RDS Instance
Automagically makes replica in another availability zone.


- Relational Database
- Resizable capacity
- MySQL, PostgreSQL, etc.
- Object Storage
- Pay for storage use
- Glacier for long-term archive
- Good for big data analytics, backup, and other applications
S3
RDS











Check-in: All Good?
Elastic Load Balancer (ELB)
Distributes application traffic across multiple EC2s.
Helps meet business requirements of:
- Fault tolerant
- Scalable to help app performance
- Availability



Select TCP for Health Check










Simple Notification Service
Push notification to email us when EC2s are created or deleted.
(Can use SNS for many other things too.)


Auto Scaling Group
Launch or terminate EC2 instances based off of policy.
- Maintain application performance by adding and removing EC2s based on CPU, requests, time of day
- Decrease cost by "turning off the lights"
- Cross region availability

Launch Configuration
Template for the auto scaling group.


- Choose My AMIs: summit
- Follow Configure Details
- Select our app Security Group
#!bin/bash
yum update -y
service httpd start
chkconfig httpd on
Auto Scaling Group



Make sure to select our Security Group!
Set TCP for Health Check
Hit Your Server through the ELB



Working Infrastructure?
Recap of What we Built
- EC2
- Security Groups
- Key Pairs
- IAM Policies
- AMI

- RDS
- ELB
- SNS
- Launch Config
- Autoscaling Group
Now delete it all :)
More Cool Stuff to Check Out
- Cloud formation templates
- Chef
- Ansible
- Docker
- Jenkins
- Terraform



Pass the Interview!

What are the layers of cloud computing?
Infrastructure as a Service
IaaS is the hardware and software that powers it all – servers, storage, networks, operating systems.


What are the layers of cloud computing?
Platform as a Service
PaaS is the set of tools and services designed to make coding and deploying applications quick and efficient.


What are the layers of cloud computing?
Software as a Service
SaaS applications are designed for end-users, delivered over the web via third party vendors.



Describe the difference between
Scalability & Elasticity.
Elasticity
- The ability to fit the resoures with needs of your system to cope with the demand dynamically.
- ie -The ability to scale up and down appropriately
Scalability
- Ability of your system to add more resources to accommodate larger work loads
Learn More and Get Certified
- AWS qwiklabs
- Cloud Academy


AWS offers several different certification you can take to show companies how awesome you are in the cloud!
Thanks!

DevOps Day 06 - AWS-basics 1.1
By Tarun Sharma
DevOps Day 06 - AWS-basics 1.1
- 854