so there’s this amazon thing
Post on 20-Dec-2014
681 Views
Preview:
DESCRIPTION
TRANSCRIPT
So There’s This Amazon ThingJared Faris
@jaredthenerd
jaredthenerd.com
jfaris@gmail.com
Amazon Web Services (AWS) In 2004 an Amazon engineer suggested their internal infrastructure could be turned into a service.
That year the first product, Simple Queue Service was launched.
In 2006 the AWS officially launched.
http://en.wikipedia.org/wiki/Amazon_Web_Services
Topics Application Hosting
Storage
Databases
Networking
Other Stuff
Application Hosting
IaaS or PaaS Two basic ways to host applications on Amazon Elastic Compute Cloud – Infrastructure as a
Service (IaaS) Elastic Beanstalk – Platform as a Service (PaaS)
EC2 is the traditional AWS technology with Beanstalk being relatively new.
Elastic Beanstalk seems like Amazon’s response to services like Heroku and Azure’s worker roles
EC2 – Elastic Compute Cloud Infrastructure as a Service – VMs in the cloud
Variety of operating system choices: Amazon Linux AMI Ubuntu Red Hat Windows Server 2003/2008/2012
Tons of preconfigured AMIs (Amazon Machine Image) available
A Note About Prices Amazon charges for everything: the storage on disk, CPU time, data transfer, etc.
Data transfer is billed at a pretty standard rate throughout AWS.
Everything else seems to be billed based on EC2 instance costs plus a service charge.
EC2 AMIs Databases MS SQL Server Oracle Mongo
Application Servers WebSphere Tomcat IIS
Business Intelligence SAP JasperReports
Others WordPress Drupal
Licensing Options
EC2 Continued Leased access to “EC2 Compute Units” or ECUs.
An “ECU” is roughly a 1.0 GHz 2007 Opteron or Xeon.
Various sizes are available that give increased CPU, memory and local storage. Some examples:
Micro – 642MB of memory, “small” amount of CPU
Large – 8GB of memory, 4 “EC2 Compute Units”
EC2 Pricing
EC2 SQL Server
Elastic Beanstalk Similar in concept to services like Windows Azure Cloud Services or Heroku.
A number of technologies are supported: .NET (Windows Server 2008 R2 w/ IIS 7.5) Java (Amazon Linux w/ Tomcat) PHP/Ruby/Python (Amazon Linux)
Under the Beanstalk
Deploying to EB .NET deployments use the AWS Toolkit for Visual Studio.
PHP/Ruby/Python sort of kind of supports git publishing.
Java developers upload a WAR file through the management console.
Network
Route 53 This is Amazon’s high availability DNS service.
A must have if you are hosting your app in AWS.
ELB – Elastic Load Balancing Amazon’s answer to load balancing.
You assign IP addresses (and probably domain names) to an ELB and point it at a group of EC2 instances.
Supports sticky connections or truly dynamic requests.
Private CloudVPC – Virtual Private Cloud Customized AWS network topology.
Your application is still on their shared servers but the network is totally isolated.
$.05 per VPN connection hour to the VPC.
Direct Connect
DC is a hardware connection from AWS to your data center.
AWS instances ultimately use your local network connection to get out.
$.30/hour for 1Gbps
$2.25/hour for 10Gbps
CloudFront CloudFront is Amazon’s CDN offering.
Can tie to data in S3 or EC2 instances.
Example SetupMultiple EC2 instances with load balancing
Database
Subnet 2
Subnet 1
EC2 InstancesInternet
Security Group
ELB
DNS Resolution
Storage
S3 – Simple Storage Service BLOBs – Binary Large Objects
Writes are sent to three locations before considered ‘finished’.
Can sustain losing any two locations.
Supports versioning.
More Options
RRS – Reduced Redundancy S3 with less redundancy. Can lose one location without losing data.
Recommended for reproducible things like thumbnails or transcoded media.
Glacier – Long Term
Archival storage: Not accessible day to day like S3 or RRS.
Storage Pricing
Storage ExamplesA couple different ways to store data
Direct writes to S3 of big data
Subnet 2
Subnet 1
EC2 Instance
Another Machine
An EBS volume with RAID 10
Databases
RDS – Relational Database Service Amazon manages instances of MySQL, Oracle or SQL Server.
Basically PaaS SQL databases vs IaaS virtual machines.
Sits on top of EC2, adds a service cost and, optionally, licensing costs.
SQL Server Standard BYOL
SQL Server Standard w/o License
DynamoDB Amazon’s preferred NoSQL document store (replacing SimpleDB).
Runs entirely on SSDs and has no upper storage limit.
You reserve CPU capacity (so they have enough machines to support your queries) but it auto-scales after that.
Dynamo Pricing
Redshift (beta) Amazon’s new petabyte-scale data warehousing tool.
Priced per node with all nodes in a cluster you access as one repository.
ElastiCache Amazon’s Memcached compliant data caching service.
Setup multiple “nodes” in a cluster that are accessible from your application.
Messaging & Notifications
SQS - Simple Queuing Services A polling based queuing service that you can use to tie together various pieces of your application.
Supports messages up to 64KB.
Supports locking of messages and handles deleting/expiring.
SNS – Simple Notification Service Publish/Subscribe messaging between parts of your application.
Non-persistent (unlike Queues).
Can be used with SQS to eliminate polling. When new items are on the queue your application is notified.
SNS Pricing
Other Stuff Elastic Transcoder – Media transcoding as a service
CloudSearch – Managed search service that you can tie to your data
Simple Email Service – Managed email (think Sendgrid)
CloudWatch – A management portal where you can customize AWS metrics to monitor and get charged per metric
top related