• 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!

So Let's Deploy Our Website on AWS too

Non-Functional Requirements?

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.

  1. Choose My AMIs:  summit
  2. Follow Configure Details
  3. 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!

Made with Slides.com