CloudCamp Athens presentation: Introduction to cloud computing


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

CloudCamp Athens presentation: Introduction to cloud computing

  1. 1. Introduction to Cloud Computing and the Amazon Cloud 1st CloudCamp Athens Colab Athens Oct 1, 2011 Fotis Stamatelopoulos @fstama
  2. 2. About the Presentation 20 presentation ○ What is Cloud Computing ○ The Amazon Cloud ○ Case study
  3. 3. What is CloudComputing ?
  4. 4. "The Cloud"Different meaning: (a) user perspective, (b) software engineer /systems perspectivesource: source:
  5. 5. 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
  6. 6. 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) -● Based on ownership: ○ Public clouds - offer services to everyone ○ Private clouds - in-house solutions ○ Hybrid clouds - little bit of both
  7. 7. the goal of cloud computing is to provide on demand, scalable access to computing resources & IT services
  8. 8. 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 & scalabilityPaaS: ○ Deploy your specially designed application and the service handles elastic usage of resources / scalingSaaS: 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
  9. 9. What, how, why in 3 bullets... ● Whats 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)
  10. 10. ... in a picture
  11. 11. Snapshot of the management console
  12. 12. 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: Amazons CDN● Cloudwatch / Autoscaling: monitoring and scaling of EC2● Elastic Cache: distributed in-memory cache
  13. 13. AWS products & services (contd)● SQS: distributed queue● SNS: notification service(messaging / topics & events)● SES: scalable, bulk e-mail service● SimpleDB / RDS: Amazons NoSQL / RDBMS services● Elastic MapReduce: Hadoop on EC2/S3● and more on deployment and management, payments/e- commerce, networking... etc
  14. 14. 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
  15. 15. 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● Its not cost-effective to use EC2 instances for your low- traffic web site (maybe on the free-tier)
  16. 16. Real world case
  17. 17. ● SaaS offering implemented by● 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 EBSs open source project● It is designed for operating in the cloud, currently deployed at the Amazon cloud.
  18. 18. 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.
  19. 19. 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
  20. 20. Hosted vs the Cloud● Having 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
  21. 21. 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
  22. 22. Thank you! Questions? @fstama