SlideShare a Scribd company logo
Introduction to Amazon Web
Services for developers
Roman Gomolko
roman@userreport.com
July 2015
Ciklum Speakers Corner
Let’s get acquired
UserReport
● Developing products that allow to learn the audience
● Started using AWS more than 5 years ago
● Fully migrated to AWS more than 1.5 years ago
● Processing 3 billions requests monthly
● Generating reports based on 8 billions of requests with batched reports
● Online reports on 300 millions of records
● Used ~50% of services provided by AWS
● Totally happy regarding using AWS
Cloud Computing
Cloud computing is a model for
enabling access to a shared pool of
configurable computing resources
Typical Cloud benefits
● Pay for what you are using
● High scalability - retrieve as many resources as you need
● High availability
● Gartner's Hype cycle – cloud computing has reached a maturity
Cloud models
● IaaS
Infrastructure like physical (rarely) or virtual servers, storage, networking,
load balancers, IP addresses allocation etc
● PaaS
Hosted databases, pre-configured web-servers that can run your
application, platforms that can run your code
● aPaaS
Tools and services that automates and facilitates utilizing Cloud Services.
Providing tools for development, deployment, monitoring etc
● SaaS
Gmail, MailChimp, Highrise, Google photo, Jira Cloud etc
Amazon Web Services
IaaS
PaaS
aPaaS
SaaS
Introduction to amazon web services for developers
Naming convention
● Everything is Elastic
● Everything is Simple
● DRY
Elastic Compute Cloud = ECC = EC2
Simple Storage Service = SSS = S3
Elastic Load Balancer = ELB
AutoScale Group = ASG
...
AWS is regional
AWS is regional
● Almost all services are region specific
● Pricing of services depends on region
● Not all services are available in all regions
● New services are launching in N. Virginia (US East 1) first
http://aws.amazon.com/about-aws/global-infrastructure/regional-product-
services/
Regions are not solid
● Splitted into Availability Zones (AZ)
● AZs have independent power supply
● Cross-AZ network speed is blazing fast
● Some services belong to AZ, some - not
Iaas basics
● EC2
Virtual computers managed by XEN running on Intel CPUs
● EBS
SSD or magnetic drives dynamically attached to EC2 instances with
configurable size (up to 16Tb) with configurable IOPs
● ELB
Load balancing before your EC2 instances
● VPC
Creating network and group your instances/services into “Private Cloud”
PaaS basics
● CloudFront
CDN for downloading and streaming
● S3
Infinite storage for objects (files) with security and HTTP access
● RDS
Hosted databases like MySQL, MS SQL, PostgreSQL, Oracle, Aurora with
licenses included
● DynamoDB
NoSQL database designed for high performance and availability
PaaS basics
● Route53
Fully managed and DNS and domain registration
● ElastiCache
Fully managed hosted memcache and Redis
● SQS
Queue designed for high availability and millions of messages
Some more PaaS
● CloudSearch
Search engine for free-text search among millions of documents
● EMR
Fully managed Elastic MapReduce and Spark clusters
● Elastic Transcoder
Encoding media-files in different formats with different quality
● … and more
aPaaS
● CloudWatch
Monitoring of your infrastructure and applications
● Elastic Beanstalk
Automated web-applications and workers hosting
● CloudFormation
Manage your cloud services in one place with help of text file
● CodeDeploy
Automates deployment of your application
● OpsWorks
Chef cooked by AWS to automate provisioning and deployment
SaaS basics
● SES
Sending e-mails from Cloud
● SNS
Push notifications
● WorkMail
Hosted exchange server for organizations
● WorkSpaces
Virtual office became reality
Migration of existing web-application to AWS
DBWebServer
Migration to Cloud
● One bite at a time - migration to Cloud itself is a big deal
● Cloud may have similar services to what you are using in your app. Similar
is not the same.
● Usually you have application which works somehow try to keep your
structure unchanged
● Less efforts, faster migration
Hosting your web-application
1. Create EC2
2. Connect to it
3. Configure it
4. Deploy code to it
5. Access website
Creating EC2. Choose operating system image
Creating EC2. Choose instance type
Creating EC2. Instance details
Creating EC2. Storage
Creating EC2. Tags
Creating EC2. Security group
Creating EC2. Review. Almost done
Creating EC2. Selecting key-pair
Connecting to your instance. Wait until launched
Connecting to your Linux instance
Linux / Mac OS X
ssh -i "<keypair>.pem" ec2-user@<instance IP>
Windows
● convert .pem to .ppk using Putty KeyGen
● connect to instance using Putty
● refer help for more details
Connecting to your Windows instance
● Wait 4-20 minutes after starting instance
● Retrieve password using you keypair
● Use Remote Desktop to connect to your instance. Use Administrator as
name
● Password will expire, better create permanent user
Configuring your instance as you like
sudo apt-get install apache2
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5
sudo /etc/init.d/apache2 restart
import-module servermanager
add-windowsfeature Web-Server,
Web-WebServer, Web-Security
Deploy your application
Accessing your web-application
● Your public IP is not static. It will be changed after reboot
● You can request IP address and attach it to instance dynamically
● In future you can assign this IP to another instance
● Put this IP to your DNS or write to host file
Database. Let’s try RDS
Multi-AZ deployments for reliability
multiply hosting cost by number of AZ zones
Configure your instance and DB master credentials
Secure your database
Take advantage of managed solutions
Wait. Cloud? I need more redundancy
1. Create EC2
2. Connect to it
3. Configure it
4. Stop it
5. Create AMI
6. Launch required number of instances using this AMI
7. Deploy code to them
8. Access website
Launching from you AMI
Horizontal scaling of application checklist
● Data-less
● Stateless
● Shared session
● Same encryption keys
Distribute traffic between instances
● DNS round-robin
● Load balancer
Elastic Load Balancer
● Accept incoming traffic and distribute among instances
● Monitors instance availability
● Can accept HTTPS traffic and map to HTTP endpoint of web-server
● Allows to not expose web-servers to worldwide
● Allows Connection Draining
● Provides useful metrics like latency, requests per minute, count of 2XX,
4XX and 5XX response codes
I’ve become popular. Need to scale
Instance roles:
● Web/front-end
● Worker/back-end
● DB
Scaling strategies:
● Vertical scaling
● Horizontal scaling
Vertical scaling
● Good if your bottleneck is CPU, RAM or disk
● Can be done with downtime or without it
Vertical scaling of EC2.
● Simple - downtime
○ Stop
○ Change instance type
○ Start
● Complex - no downtime
○ Launch new instance with required instance type
○ Switch traffic from old instance to new one
Vertical scaling of RDS
● Can be done without downtime in case of Multi-AZ deployment
● Not that fast in any way
Where is fun stuff?
I want to be Elastic
AutoScale groups
Launch configuration - how your instance will look like
AutoScale group - control how many instances will be in your group
Launch Configuration - customize instance bootstrap
AutoScale group
AutoScale Group - scaling policies
Finally
● AWS can scale our application automatically looking on CPU load
● AWS can scale-down instances when load decreased
Introduction to amazon web services for developers
Small catch-up
● We know what is EC2 and how to deploy application first time
● We know how to horizontally scale up and down your application
● It looks pretty cumbersome
● We don’t know where we should store users’ files
● We don’t know how to improve website performance
● We don’t know how to update your application
Pricing
http://calculator.s3.amazonaws.com/index.html
Bad reasons to migrate
● Migrating everything by just virtualizing existing stuff and expecting
savings
● Expecting magical performance boost and “Cloud will solve all problems”
Good reasons to migrate
● Extremely flexible
● Pay for what you use
o cheap to fail
o cutting cost of testing and applying new technologies
● Fast changes - get what you need when you need
● Allows to focus on your product - not on CDN, Mail sending, file storages,
File storage
● DIY - Distributed File System
● Let’s Amazon handle it - Elastic File System (Preview)
● Ready to change code - S3
S3, CloudFront, Beanstalk demo time

More Related Content

What's hot (7)

ODP
Introduction to Amazon Web Services
James Armes
 
PPTX
Escalando para sus primeros 10 millones de usuarios
Amazon Web Services LATAM
 
PPTX
Compute Services con AWS
Amazon Web Services LATAM
 
PPT
Cloud Computing and Amazon Web Services
Aditya Jha
 
PPTX
AWS vs Azure
William Simms
 
PPTX
Aws overview
Minh Nghiem
 
PPTX
AWS Basics
achudhivi
 
Introduction to Amazon Web Services
James Armes
 
Escalando para sus primeros 10 millones de usuarios
Amazon Web Services LATAM
 
Compute Services con AWS
Amazon Web Services LATAM
 
Cloud Computing and Amazon Web Services
Aditya Jha
 
AWS vs Azure
William Simms
 
Aws overview
Minh Nghiem
 
AWS Basics
achudhivi
 

Viewers also liked (20)

PPTX
Абрамович Максим, "Rad studio xe4"
EPAM Systems
 
PDF
Groovy on Android
Ciklum Ukraine
 
PPTX
ДмитрийРадченко, "Brief introduction to dundas"
EPAM Systems
 
PDF
Unit Tesing in iOS
Ciklum Ukraine
 
PPTX
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat
EPAM Systems
 
PPTX
"Как общаться эффективнее" by Natallia Kapatsevich
EPAM Systems
 
PDF
HOW WE MAKE IT IN IT
Dmitry Fedorenko
 
PDF
Test Driven Development
Ciklum Ukraine
 
PPTX
Collection view layout
Ciklum Ukraine
 
PPTX
“Xcore (library) for android platform” by Uladzimir Klyshevich
EPAM Systems
 
PPTX
Евгений Дрозд, Василий Сливка Тема: "Как тестировщику сделать счастливым Java...
Ciklum Minsk
 
PPTX
Антон Гордийчук Тема: "AngularJS — продвинутый HTML для web-приложений"
Ciklum Minsk
 
PPTX
Mobile sketching
Ciklum Ukraine
 
PDF
Model-View-Controller: Tips&Tricks
Ciklum Ukraine
 
PPTX
Kanban development
Ciklum Ukraine
 
PDF
More UX in our life
Ciklum Ukraine
 
PPTX
Developing high load systems using C++
Ciklum Ukraine
 
PDF
Михаил Попчук "Cкрытые резервы команд или 1+1=3"
Ciklum Ukraine
 
PPTX
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
Ciklum Ukraine
 
PPTX
Your 1st Apple watch Application
Ciklum Ukraine
 
Абрамович Максим, "Rad studio xe4"
EPAM Systems
 
Groovy on Android
Ciklum Ukraine
 
ДмитрийРадченко, "Brief introduction to dundas"
EPAM Systems
 
Unit Tesing in iOS
Ciklum Ukraine
 
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat
EPAM Systems
 
"Как общаться эффективнее" by Natallia Kapatsevich
EPAM Systems
 
HOW WE MAKE IT IN IT
Dmitry Fedorenko
 
Test Driven Development
Ciklum Ukraine
 
Collection view layout
Ciklum Ukraine
 
“Xcore (library) for android platform” by Uladzimir Klyshevich
EPAM Systems
 
Евгений Дрозд, Василий Сливка Тема: "Как тестировщику сделать счастливым Java...
Ciklum Minsk
 
Антон Гордийчук Тема: "AngularJS — продвинутый HTML для web-приложений"
Ciklum Minsk
 
Mobile sketching
Ciklum Ukraine
 
Model-View-Controller: Tips&Tricks
Ciklum Ukraine
 
Kanban development
Ciklum Ukraine
 
More UX in our life
Ciklum Ukraine
 
Developing high load systems using C++
Ciklum Ukraine
 
Михаил Попчук "Cкрытые резервы команд или 1+1=3"
Ciklum Ukraine
 
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
Ciklum Ukraine
 
Your 1st Apple watch Application
Ciklum Ukraine
 
Ad

Similar to Introduction to amazon web services for developers (20)

PDF
What is Amazon Web Services & How to Start to deploy your apps ?
Sébastien ☁ Stormacq
 
PPTX
AWS 101 - An Introduction to the Amazon Cloud
CloudHesive
 
PPTX
Website on aws
mydatasync
 
PPT
Amazon web services : Layman Introduction
Parashar Borkotoky
 
PDF
Awsgsg computebasics
james0417
 
PPTX
Introduction to AWS July
CloudHesive
 
DOC
AWS.doc
RakeshKumarKumar11
 
PPTX
Jump Start to Amazon Web Services
Gagan Sikri
 
PDF
Scale, baby, scale! (June 2016)
Julien SIMON
 
PPTX
Scaling on AWS to the First 10 Million Users
mauerbac
 
PPTX
2011 Introduction to Cloud Computing and Amazon Web Services
Simone Brunozzi
 
PPTX
Aws 101 garage+
Bruce Chen
 
PDF
AWS 101 December 2014
Ian Massingham
 
PDF
Barcamp Macau 2014 - Introduction to AWS
Wong Hoi Sing Edison
 
PDF
Scaling web application in the Cloud
Federico Feroldi
 
PDF
AMAZON CLOUD Course Content
Varnaaz Technologies
 
PPTX
Architecting Cloud Apps
jineshvaria
 
PPTX
AWS101: London May 2014
Ian Massingham
 
PPTX
Cloud computing &amp; aws concepts
ABHINAV ANAND
 
PPTX
AWS Cloud Computing Tech Talks By Halieb Andemichael
Halieb Andemichael
 
What is Amazon Web Services & How to Start to deploy your apps ?
Sébastien ☁ Stormacq
 
AWS 101 - An Introduction to the Amazon Cloud
CloudHesive
 
Website on aws
mydatasync
 
Amazon web services : Layman Introduction
Parashar Borkotoky
 
Awsgsg computebasics
james0417
 
Introduction to AWS July
CloudHesive
 
Jump Start to Amazon Web Services
Gagan Sikri
 
Scale, baby, scale! (June 2016)
Julien SIMON
 
Scaling on AWS to the First 10 Million Users
mauerbac
 
2011 Introduction to Cloud Computing and Amazon Web Services
Simone Brunozzi
 
Aws 101 garage+
Bruce Chen
 
AWS 101 December 2014
Ian Massingham
 
Barcamp Macau 2014 - Introduction to AWS
Wong Hoi Sing Edison
 
Scaling web application in the Cloud
Federico Feroldi
 
AMAZON CLOUD Course Content
Varnaaz Technologies
 
Architecting Cloud Apps
jineshvaria
 
AWS101: London May 2014
Ian Massingham
 
Cloud computing &amp; aws concepts
ABHINAV ANAND
 
AWS Cloud Computing Tech Talks By Halieb Andemichael
Halieb Andemichael
 
Ad

More from Ciklum Ukraine (18)

PDF
"How keep normal blood pressure using TDD" By Roman Loparev
Ciklum Ukraine
 
PDF
"Through the three circles of the it hell" by Roman Liashenko
Ciklum Ukraine
 
PDF
Alex Pazhyn: Google_Material_Design
Ciklum Ukraine
 
PPTX
Back to the future: ux trends 2015
Ciklum Ukraine
 
PPTX
Introduction to auto layout
Ciklum Ukraine
 
PDF
Unit Testing: Special Cases
Ciklum Ukraine
 
PPTX
Material design
Ciklum Ukraine
 
PDF
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Ciklum Ukraine
 
PDF
"To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod...
Ciklum Ukraine
 
PDF
Why to join Ciklum?
Ciklum Ukraine
 
PDF
Ciklum Mobile Development Capability: Project Clients' References
Ciklum Ukraine
 
PDF
Mecom Group's Digital Innovation and IT Sourcing Strategy
Ciklum Ukraine
 
PPTX
Journey and lessons from launching a new SaaS based marketing platform
Ciklum Ukraine
 
PPTX
Marmalade: more platforms, more possibilities
Ciklum Ukraine
 
PPTX
How to set up and manage Own Agile Software Development Center in Eastern Eur...
Ciklum Ukraine
 
PDF
Comparative Agile Measurement System - Ciklum White Paper
Ciklum Ukraine
 
PDF
How to Build the Next Great Cloud ISV
Ciklum Ukraine
 
PPTX
Open Text Direction to to the Cloud with Microsoft Windows Azure
Ciklum Ukraine
 
"How keep normal blood pressure using TDD" By Roman Loparev
Ciklum Ukraine
 
"Through the three circles of the it hell" by Roman Liashenko
Ciklum Ukraine
 
Alex Pazhyn: Google_Material_Design
Ciklum Ukraine
 
Back to the future: ux trends 2015
Ciklum Ukraine
 
Introduction to auto layout
Ciklum Ukraine
 
Unit Testing: Special Cases
Ciklum Ukraine
 
Material design
Ciklum Ukraine
 
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Ciklum Ukraine
 
"To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod...
Ciklum Ukraine
 
Why to join Ciklum?
Ciklum Ukraine
 
Ciklum Mobile Development Capability: Project Clients' References
Ciklum Ukraine
 
Mecom Group's Digital Innovation and IT Sourcing Strategy
Ciklum Ukraine
 
Journey and lessons from launching a new SaaS based marketing platform
Ciklum Ukraine
 
Marmalade: more platforms, more possibilities
Ciklum Ukraine
 
How to set up and manage Own Agile Software Development Center in Eastern Eur...
Ciklum Ukraine
 
Comparative Agile Measurement System - Ciklum White Paper
Ciklum Ukraine
 
How to Build the Next Great Cloud ISV
Ciklum Ukraine
 
Open Text Direction to to the Cloud with Microsoft Windows Azure
Ciklum Ukraine
 

Recently uploaded (20)

PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Digital Circuits, important subject in CS
contactparinay1
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 

Introduction to amazon web services for developers

  • 1. Introduction to Amazon Web Services for developers Roman Gomolko [email protected] July 2015 Ciklum Speakers Corner
  • 3. UserReport ● Developing products that allow to learn the audience ● Started using AWS more than 5 years ago ● Fully migrated to AWS more than 1.5 years ago ● Processing 3 billions requests monthly ● Generating reports based on 8 billions of requests with batched reports ● Online reports on 300 millions of records ● Used ~50% of services provided by AWS ● Totally happy regarding using AWS
  • 4. Cloud Computing Cloud computing is a model for enabling access to a shared pool of configurable computing resources
  • 5. Typical Cloud benefits ● Pay for what you are using ● High scalability - retrieve as many resources as you need ● High availability ● Gartner's Hype cycle – cloud computing has reached a maturity
  • 6. Cloud models ● IaaS Infrastructure like physical (rarely) or virtual servers, storage, networking, load balancers, IP addresses allocation etc ● PaaS Hosted databases, pre-configured web-servers that can run your application, platforms that can run your code ● aPaaS Tools and services that automates and facilitates utilizing Cloud Services. Providing tools for development, deployment, monitoring etc ● SaaS Gmail, MailChimp, Highrise, Google photo, Jira Cloud etc
  • 9. Naming convention ● Everything is Elastic ● Everything is Simple ● DRY Elastic Compute Cloud = ECC = EC2 Simple Storage Service = SSS = S3 Elastic Load Balancer = ELB AutoScale Group = ASG ...
  • 11. AWS is regional ● Almost all services are region specific ● Pricing of services depends on region ● Not all services are available in all regions ● New services are launching in N. Virginia (US East 1) first http://aws.amazon.com/about-aws/global-infrastructure/regional-product- services/
  • 12. Regions are not solid ● Splitted into Availability Zones (AZ) ● AZs have independent power supply ● Cross-AZ network speed is blazing fast ● Some services belong to AZ, some - not
  • 13. Iaas basics ● EC2 Virtual computers managed by XEN running on Intel CPUs ● EBS SSD or magnetic drives dynamically attached to EC2 instances with configurable size (up to 16Tb) with configurable IOPs ● ELB Load balancing before your EC2 instances ● VPC Creating network and group your instances/services into “Private Cloud”
  • 14. PaaS basics ● CloudFront CDN for downloading and streaming ● S3 Infinite storage for objects (files) with security and HTTP access ● RDS Hosted databases like MySQL, MS SQL, PostgreSQL, Oracle, Aurora with licenses included ● DynamoDB NoSQL database designed for high performance and availability
  • 15. PaaS basics ● Route53 Fully managed and DNS and domain registration ● ElastiCache Fully managed hosted memcache and Redis ● SQS Queue designed for high availability and millions of messages
  • 16. Some more PaaS ● CloudSearch Search engine for free-text search among millions of documents ● EMR Fully managed Elastic MapReduce and Spark clusters ● Elastic Transcoder Encoding media-files in different formats with different quality ● … and more
  • 17. aPaaS ● CloudWatch Monitoring of your infrastructure and applications ● Elastic Beanstalk Automated web-applications and workers hosting ● CloudFormation Manage your cloud services in one place with help of text file ● CodeDeploy Automates deployment of your application ● OpsWorks Chef cooked by AWS to automate provisioning and deployment
  • 18. SaaS basics ● SES Sending e-mails from Cloud ● SNS Push notifications ● WorkMail Hosted exchange server for organizations ● WorkSpaces Virtual office became reality
  • 19. Migration of existing web-application to AWS DBWebServer
  • 20. Migration to Cloud ● One bite at a time - migration to Cloud itself is a big deal ● Cloud may have similar services to what you are using in your app. Similar is not the same. ● Usually you have application which works somehow try to keep your structure unchanged ● Less efforts, faster migration
  • 21. Hosting your web-application 1. Create EC2 2. Connect to it 3. Configure it 4. Deploy code to it 5. Access website
  • 22. Creating EC2. Choose operating system image
  • 23. Creating EC2. Choose instance type
  • 28. Creating EC2. Review. Almost done
  • 30. Connecting to your instance. Wait until launched
  • 31. Connecting to your Linux instance Linux / Mac OS X ssh -i "<keypair>.pem" ec2-user@<instance IP> Windows ● convert .pem to .ppk using Putty KeyGen ● connect to instance using Putty ● refer help for more details
  • 32. Connecting to your Windows instance ● Wait 4-20 minutes after starting instance ● Retrieve password using you keypair ● Use Remote Desktop to connect to your instance. Use Administrator as name ● Password will expire, better create permanent user
  • 33. Configuring your instance as you like sudo apt-get install apache2 sudo apt-get install php5 sudo apt-get install libapache2-mod-php5 sudo /etc/init.d/apache2 restart import-module servermanager add-windowsfeature Web-Server, Web-WebServer, Web-Security
  • 35. Accessing your web-application ● Your public IP is not static. It will be changed after reboot ● You can request IP address and attach it to instance dynamically ● In future you can assign this IP to another instance ● Put this IP to your DNS or write to host file
  • 37. Multi-AZ deployments for reliability multiply hosting cost by number of AZ zones
  • 38. Configure your instance and DB master credentials
  • 40. Take advantage of managed solutions
  • 41. Wait. Cloud? I need more redundancy 1. Create EC2 2. Connect to it 3. Configure it 4. Stop it 5. Create AMI 6. Launch required number of instances using this AMI 7. Deploy code to them 8. Access website
  • 43. Horizontal scaling of application checklist ● Data-less ● Stateless ● Shared session ● Same encryption keys
  • 44. Distribute traffic between instances ● DNS round-robin ● Load balancer
  • 45. Elastic Load Balancer ● Accept incoming traffic and distribute among instances ● Monitors instance availability ● Can accept HTTPS traffic and map to HTTP endpoint of web-server ● Allows to not expose web-servers to worldwide ● Allows Connection Draining ● Provides useful metrics like latency, requests per minute, count of 2XX, 4XX and 5XX response codes
  • 46. I’ve become popular. Need to scale Instance roles: ● Web/front-end ● Worker/back-end ● DB Scaling strategies: ● Vertical scaling ● Horizontal scaling
  • 47. Vertical scaling ● Good if your bottleneck is CPU, RAM or disk ● Can be done with downtime or without it
  • 48. Vertical scaling of EC2. ● Simple - downtime ○ Stop ○ Change instance type ○ Start ● Complex - no downtime ○ Launch new instance with required instance type ○ Switch traffic from old instance to new one
  • 49. Vertical scaling of RDS ● Can be done without downtime in case of Multi-AZ deployment ● Not that fast in any way
  • 50. Where is fun stuff?
  • 51. I want to be Elastic
  • 52. AutoScale groups Launch configuration - how your instance will look like AutoScale group - control how many instances will be in your group
  • 53. Launch Configuration - customize instance bootstrap
  • 55. AutoScale Group - scaling policies
  • 56. Finally ● AWS can scale our application automatically looking on CPU load ● AWS can scale-down instances when load decreased
  • 58. Small catch-up ● We know what is EC2 and how to deploy application first time ● We know how to horizontally scale up and down your application ● It looks pretty cumbersome ● We don’t know where we should store users’ files ● We don’t know how to improve website performance ● We don’t know how to update your application
  • 60. Bad reasons to migrate ● Migrating everything by just virtualizing existing stuff and expecting savings ● Expecting magical performance boost and “Cloud will solve all problems”
  • 61. Good reasons to migrate ● Extremely flexible ● Pay for what you use o cheap to fail o cutting cost of testing and applying new technologies ● Fast changes - get what you need when you need ● Allows to focus on your product - not on CDN, Mail sending, file storages,
  • 62. File storage ● DIY - Distributed File System ● Let’s Amazon handle it - Elastic File System (Preview) ● Ready to change code - S3