5. cloud software development - amazon web-services
DESCRIPTION
Amazon Web Services Telerik Software Academy: http://clouddevcourse.telerik.com/ The website and all video materials are in Bulgarian What are Amazon Web services (AWS) ?; What’s cool when developing with AWS ?; Architecture of AWS; Quota & Pricing; Amazon Web Services; Demo application; Deploying Simple ApplicationsTRANSCRIPT
AmazonWeb Services
Nikolay TomitovTechnical TrainerSoftAcad.bg
http://clouddevcourse.telerik.com
&
What are Amazon Web services (AWS) ? What’s cool when developing with AWS ? Architecture of AWS Quota & Pricing Amazon Web Services Demo application Deploying Simple Applications
Topics Today
Simple Storage Service (S3)◦ Provides limitless storage of large files in the cloud
Elastic Compute Cloud (EC2)◦ Provides virtual machine instances called Amazon Machine
Instances
◦ Ability to create AMI’s on the fly according to demand
Simple Queue Service (SQS)◦ Provides reliable messaging between any applications using AWS
Amazon EBS Amazon Cloud Front
◦ Think of this as a simple web server for static content
Amazon SimpleDB, and others …
What are These AWS ?
Services are provided over Web
Communication is web-service based
Communication interface API has been designed to be simple and effective
Three kinds of interfaces: REST, Query & SOAP based
Authentication embedded in each message
AWS Key Features
www.softacad.bg
Standard On-Demand Instances
Small (Default) $0.090 per Hour $0.115 per Hour
Medium $0.180 per Hour $0.230 per Hour
Large $0.360 per Hour $0.460 per Hour
Extra Large $0.720 per Hour $0.920 per Hour
Prices
http://aws.amazon.com/ec2/pricing/
Ability to increase or decrease capacity within minutes
Ability to commission one, hundreds, or even thousands of server instances simultaneously
A web service API to control the scaling of instances depending on your needs
A “pay only for what you use” pricing model
Elastic ComputeCloud (EC2)
Highly available and highly reliable storage volumes◦ From 1GB to 1TB
◦ Mounted as devices by EC2 instances
Use them as hard drives Created in specific availability zone Automatically replicated Performance metrics (Amazon
CloudWatch) $0.10 per 1 million I/O requests you
make to your volume
Amazon Elastic Block Store (EBS)
Backups of your data lying in Amazon S3
Incremental
Loaded lazily
Shared
Amazon EBS Snapshots
Amazon SimpleQueue Service
(SQS)
Simple Queue Service
Provides reliable messaging between any applications using AWS
Multiple writers and readers◦Multiple parts of your system can send or
receive messages at the same timeConfigurable properties and access control
Messages are stored in distributed environment◦To facilitate reliable delivery
SQS Features
www.softacad.bg
EC2 & SQS
www.softacad.bg
EC2 & SQS
www.softacad.bg
EC2 & SQS
www.softacad.bg
EC2 & SQS
Web service that makes it easy to set up, operate, and scale a relational database in the AWS cloud
◦Currently supporting Oracle and MySQL
Simple to deploy
Scalable & reliable
Secure
Amazon Relational Database Service
(RDS)
Stores textual information in a simple database structure
Does not mandate schema for database Indexes information to facilitate faster
query Stores data securely and reliably across
multiple data centers No limits on amount of data
SimpleDB
Offers secure online storage system for any kind of data
Data is universally accessible over the Web
No limits on amount of data, longevity or bandwith for transfer or publish
Scalable, distributed system◦Stores data redundantly across
geographically separated data centers
Simple StorageService (S3)
A relational database service with minimal administration ? ( Amazon RDS )
A fast, highly scalable NoSQL database service ? ( Amazon DynamoDB )
A NoSQL database service for smaller datasets ? ( Amazon SimpleDB )
A relational database you can manage on your own ( Amazon EC2 + Amazon EBS )
Data Storage in Amazon ?
Easy setup, operate and send notifications from the cloud !
Highly scalable, flexible, cost-effective
Broad protocol choice (HTTP,email, SMS, etc.)
Best for event-driven workflows
“Pull” mechanism
Amazon Simple Notification
Service (SNS)
DEMO APPLICATION
Live Demo
Authoritative Domain Name System (DNS) service
Well documented and easy to setup
Amazon Route 53
Web service for content delivery (CDN)
Supports edge locations
Map domain name to distribution
Fast, simple, elastic, reliable, global and cost-effective
Amazon CloudFront
Supports Adobe’s Flash and Windows Media Services
Benefits to end users – close; easy to pause, rewind; different encodings
Wide variety of formats
CloudFront and Streaming
Distributions
Hosting your most frequently accessed website components
Distributing software
Publishing popular media files
Some use cases for Amazon CloudFront
The problem with databases ?
Memcached solution
Implements Memory Caching system by caching repetitive queries
Easy to setup, manage, scale
Each cluster has one or more cache nodes
Amazon ElastiCache
Questions ?
Follow the tutorial at: http://whatiscomingtomyhead.wordpress.com/2010/11/24/absolute-first-step-tutorial-for-amazon-web-services/
1. Sign up to Amazon AWS
2. Create an EC2 machine with Linux
3. Connect and install Apache Web Server
4. Test the Apache Web Server's Home Page
Submit the URL of your Apache Web server in the AWS cloud.
Homework: Try EC2
www.softacad.bg
Create a simple application in C#, Java, PHP or other language to upload / download a file in Amazon S3. Follow these tutorials:
1. http://docs.amazonwebservices.com/AmazonS3/latest/gsg/
2. http://docs.amazonwebservices.com/AmazonS3/latest/dev/UploadInSingleOp.html
3. http://docs.amazonwebservices.com/AmazonS3/latest/dev/GettingObjectsUsingAPIs.html
Homework: Try S3
Free Trainings @ Telerik Academy
“Cloud Development" course @ Telerik Academy
clouddevcourse.telerik.com Telerik Software Academy
academy.telerik.com Telerik Academy @ Facebook
facebook.com/TelerikAcademy Telerik Software Academy Forums
forums.academy.telerik.com