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

Briana.Crabb
@capitalone.com









Renee.Seaman
@capitalone.com


Aaron.Suarez
@capitalone.com






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 multiple 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:

https://d0.awsstatic.com/whitepapers/aws-overview.pdf

Architecture Diagram


Security!
Make a Key Pair

Kind of like password to log into the EC2.

Create Security Group


Firewall controlling traffic around the application.
Create Security Group #2

This controlls traffic around the database.




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


Start the Webserver

sudo yum update -y
sudo yum install -y httpd php mysql
sudo service httpd start
sudo chkconfig httpd on
Add these lines to your User Data section.
Amazon Machine Image
AMIs give the baseline set-up for EC2 instances.
You can customize AMIs to include encryption, resource configurations, and software updates.





Check-in: All Good?


Configure the Database
RDS Instance: Relational Database Service





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?









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
Recap of What we Built
- EC2
- Security Groups
- Key Pairs
- AMI

- RDS
- SNS
- Launch Config
- Autoscaling Group
Now delete it all :)
Other Cloud Technology
- Microsoft Azure
- Google Cloud Platform
- IBM Cloud
- Rackspace



More Cool Stuff to Check Out
- Cloud formation templates
- Chef
- Ansible
- Docker
- Jenkins
- Terraform



Pass the Interview!


Can anyone think of use cases for resources we didnt use?

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!

2017 Fall - Summit For Software Engineers: AWS
By Briana Crabb
2017 Fall - Summit For Software Engineers: AWS
- 694