so there’s this amazon thing

40
So There’s This Amazon Thing Jared Faris @jaredthenerd jaredthenerd.com [email protected]

Upload: jared-faris

Post on 20-Dec-2014

681 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: So There’s This Amazon Thing

So There’s This Amazon ThingJared Faris

@jaredthenerd

jaredthenerd.com

[email protected]

Page 2: So There’s This Amazon Thing

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

Page 3: So There’s This Amazon Thing

Topics Application Hosting

Storage

Databases

Networking

Other Stuff

Page 4: So There’s This Amazon Thing

Application Hosting

Page 5: So There’s This Amazon Thing

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

Page 6: So There’s This Amazon Thing

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

Page 7: So There’s This Amazon Thing

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.

Page 8: So There’s This Amazon Thing

EC2 AMIs Databases MS SQL Server Oracle Mongo

Application Servers WebSphere Tomcat IIS

Business Intelligence SAP JasperReports

Others WordPress Drupal

Licensing Options

Page 9: So There’s This Amazon Thing

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”

Page 10: So There’s This Amazon Thing

EC2 Pricing

Page 11: So There’s This Amazon Thing

EC2 SQL Server

Page 12: So There’s This Amazon Thing

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)

Page 13: So There’s This Amazon Thing

Under the Beanstalk

Page 14: So There’s This Amazon Thing

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.

Page 15: So There’s This Amazon Thing

Network

Page 16: So There’s This Amazon Thing

Route 53 This is Amazon’s high availability DNS service.

A must have if you are hosting your app in AWS.

Page 17: So There’s This Amazon Thing

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.

Page 18: So There’s This Amazon Thing

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

Page 19: So There’s This Amazon Thing

CloudFront CloudFront is Amazon’s CDN offering.

Can tie to data in S3 or EC2 instances.

Page 20: So There’s This Amazon Thing

Example SetupMultiple EC2 instances with load balancing

Page 21: So There’s This Amazon Thing

Database

Subnet 2

Subnet 1

EC2 InstancesInternet

Security Group

ELB

DNS Resolution

Page 22: So There’s This Amazon Thing

Storage

Page 23: So There’s This Amazon Thing

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.

Page 24: So There’s This Amazon Thing

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.

Page 25: So There’s This Amazon Thing

Storage Pricing

Page 26: So There’s This Amazon Thing

Storage ExamplesA couple different ways to store data

Page 27: So There’s This Amazon Thing

Direct writes to S3 of big data

Subnet 2

Subnet 1

EC2 Instance

Another Machine

An EBS volume with RAID 10

Page 28: So There’s This Amazon Thing

Databases

Page 29: So There’s This Amazon Thing

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.

Page 30: So There’s This Amazon Thing

SQL Server Standard BYOL

Page 31: So There’s This Amazon Thing

SQL Server Standard w/o License

Page 32: So There’s This Amazon Thing

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.

Page 33: So There’s This Amazon Thing

Dynamo Pricing

Page 34: So There’s This Amazon Thing

Redshift (beta) Amazon’s new petabyte-scale data warehousing tool.

Priced per node with all nodes in a cluster you access as one repository.

Page 35: So There’s This Amazon Thing

ElastiCache Amazon’s Memcached compliant data caching service.

Setup multiple “nodes” in a cluster that are accessible from your application.

Page 36: So There’s This Amazon Thing

Messaging & Notifications

Page 37: So There’s This Amazon Thing

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.

Page 38: So There’s This Amazon Thing

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.

Page 39: So There’s This Amazon Thing

SNS Pricing

Page 40: So There’s This Amazon Thing

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