cloudcamp athens presentation: introduction to cloud computing

25
Introduction to Cloud Computing and the Amazon Cloud 1st CloudCamp Athens Colab Athens Oct 1, 2011 Fotis Stamatelopoulos @fstama http://linkedin.com/in/fstamatelopoulos

Upload: fotis-stamatelopoulos

Post on 13-Jan-2015

422 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: CloudCamp Athens presentation: Introduction to cloud computing

Introduction to Cloud Computing and the Amazon Cloud

1st CloudCamp Athens

Colab Athens Oct 1, 2011

Fotis Stamatelopoulos@fstama

http://linkedin.com/in/fstamatelopoulos

Page 2: CloudCamp Athens presentation: Introduction to cloud computing

About the Presentation

20' presentation

○ What is Cloud Computing

○ The Amazon Cloud

○ Case study

Page 3: CloudCamp Athens presentation: Introduction to cloud computing

What is Cloud Computing ?

Page 4: CloudCamp Athens presentation: Introduction to cloud computing

"The Cloud"Different meaning: (a) user perspective, (b) software engineer / systems perspective

source: shanghaiwebhosting.com

source: wikipedia.org

Page 5: CloudCamp Athens presentation: Introduction to cloud computing

Cloud Computing

● The natural evolution of widely used technologies and computing paradigms, like:

○ the client-server model○ virtualization (dynamic multiple "virtual" machines

contained into a physical one)○ the service oriented architecture ○ utility computing

● The "Cloud Computing" buzzword focuses more on the

business model than on the technologies involved○ computing/network resources consumed on demand○ elasticity - scalability○ service, resources managed by the provider

Page 6: CloudCamp Athens presentation: Introduction to cloud computing
Page 7: CloudCamp Athens presentation: Introduction to cloud computing

Type of Cloud Computing Services

● Based on the service offered:

○ Infrastructure-as-a-Service (IaaS) - Amazon AWS○ Platform-as-a-Service (PaaS) - Google Appengine○ may also include Software-as-a-Service (SaaS) -

SalesForce.com

● Based on ownership:

○ Public clouds - offer services to everyone○ Private clouds - in-house solutions○ Hybrid clouds - little bit of both

Page 8: CloudCamp Athens presentation: Introduction to cloud computing

the goal of cloud computing is to provide on demand, scalable access to computing resources & IT services

Page 9: CloudCamp Athens presentation: Introduction to cloud computing

How ? IaaS: you built your software and rent

○ Virtual machines (time based)○ Storage (e.g. bytes per month)○ Traffic in/out (per month)○ Additional services (via API calls)○ Deploy your software components and

you manage elasticity & scalability PaaS:

○ Deploy your specially designed application and the service handles elastic usage of resources / scaling

SaaS: you rent the usage of a software product○ on a subscription basis (per user cost)○ or on demand (time & per user cost)○ some application customization is offered

Page 10: CloudCamp Athens presentation: Introduction to cloud computing
Page 11: CloudCamp Athens presentation: Introduction to cloud computing

What, how, why in 3 bullets...

● What's Amazon Web Services: pay-as-you-go access to cloud infrastructure and elastic services via REST/SOAP and/or a Web-based console.

● How (simplified):

○ create machine images (AMIs)○ launch VMs (boot from AMIs)○ attach persistent volumes (EBS vols)○ login and install software & applications○ (optional) use other AWS services via REST/SOAP

● Why:

○ dynamic, elastic usage of resources○ cost-effective high availability (e.g. S3)○ pay on usage (hourly-rate)

Page 12: CloudCamp Athens presentation: Introduction to cloud computing

... in a picture

Page 13: CloudCamp Athens presentation: Introduction to cloud computing

Snapshot of the management console

Page 14: CloudCamp Athens presentation: Introduction to cloud computing

AWS products & services

● EC2: your virtual machines in predefined HW configurations

● EBS: persistent block storage (faster than S3, slower than volatile EC2 instance disks)

● S3: object (file) storage via REST/SOAP, high availability

and geographical replication, also used for your AMIs

● CloudFront: Amazon's CDN

● Cloudwatch / Autoscaling: monitoring and scaling of EC2

● Elastic Cache: distributed in-memory cache

Page 15: CloudCamp Athens presentation: Introduction to cloud computing

AWS products & services (cont'd)

● SQS: distributed queue

● SNS: notification service(messaging / topics & events)

● SES: scalable, bulk e-mail service

● SimpleDB / RDS: Amazon's NoSQL / RDBMS services

● Elastic MapReduce: Hadoop on EC2/S3

● and more on deployment and management, payments/e-commerce, networking... etc

Page 16: CloudCamp Athens presentation: Introduction to cloud computing

Costs

● There is a free usage tier: new user sign-up, one year for a Linux micro instance

● Pay as you go for what you use

○ pay usage per hour○ pay for traffic (volume)○ pay for storage (volume)○ pay for I/O operations / transactions

● Much more expensive than the typical rented physical

machines / VMs

Page 17: CloudCamp Athens presentation: Introduction to cloud computing

Expensive? Why should I use it?

● Cost effective high availability

● Elasticity, easy to scale up/down dynamically

● REST-based infrastructure management & monitoring

● Massive processing power for short periods○ e.g. launch 10.000 VMs for a week○ MapReduce big data projects

● It's not cost-effective to use EC2 instances for your low-

traffic web site (maybe on the free-tier)

Page 18: CloudCamp Athens presentation: Introduction to cloud computing

Real world case study

MyNeworkFolders.com

Page 19: CloudCamp Athens presentation: Introduction to cloud computing

● SaaS offering implemented by EBS.gr

● A distributed, scalable and elastic file storage platform that:○ supports access via multiple user interfaces (web

browser, mobile devices, desktop, WebDAV)○ provides an API for building custom client applications○ it is based on EBS's open source project gss-project.org

● It is designed for operating in the cloud, currently deployed

at the Amazon cloud.

Page 20: CloudCamp Athens presentation: Introduction to cloud computing
Page 21: CloudCamp Athens presentation: Introduction to cloud computing

High level architecture requirements

● MyNetworkFolders requires multiple servers for hosting its software components:

○ duplicated (for fault tolerance) front-end web server○ cluster of (at least two) application servers

implementing the core business logic○ database cluster for storing meta-data and other info○ search / indexing server cluster for full text search○ a secure, efficient and scalable file storage system

● All these add up to at least three virtual servers and can

easily grow to clusters of tens of servers.

Page 22: CloudCamp Athens presentation: Introduction to cloud computing

Hosted vs the Cloud

● Old school hosting solution: private or rented physical servers in a data center:

○ always maintain and support a minimum number of servers even when the load is low

○ energy & cost efficient adaptation to fluctuating load is almost impossible to achieve

○ scaling up requires buying/renting and setting up new physical servers (and supporting equipment)

■ for the application■ for the storage subsystem

○ high operating costs for a small company, especially for achieving a high level of fault tolerance / availability

Page 23: CloudCamp Athens presentation: Introduction to cloud computing

Hosted vs the Cloud

● Having mynetworkfolders.com hosted in the cloud:○ use and pay only what we need○ easily and dynamically grow or shrink resource usage

(and energy consumption) to meet fluctuating user demand during the day

○ easily scale up (more virtual servers) when the user base increases, or when new functionality is added

○ economy of scale offers high availability and fault tolerance in an affordable cost

○ minimize operational costs

Page 24: CloudCamp Athens presentation: Introduction to cloud computing

AWS Technologies & Products Used

● Currently using in production:

○ EC2 for server instances (app, db, search,admin)

○ S3 - reliable, replicated file storage■ the main reason we used AWS

○ CloudWatch (monitoring)

● Plan to use:

○ Elastic Load Balancing○ CloudFront

Page 25: CloudCamp Athens presentation: Introduction to cloud computing

Thank you! Questions?

@fstamahttp://linkedin.com/in/fstamatelopoulos