Presentation is loading. Please wait.

Presentation is loading. Please wait.

Www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Developing Cloud Computing Applications with Open Source Technologies Shlomo Swidler.

Similar presentations


Presentation on theme: "Www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Developing Cloud Computing Applications with Open Source Technologies Shlomo Swidler."— Presentation transcript:

1 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Developing Cloud Computing Applications with Open Source Technologies Shlomo Swidler CTO & co-Founder mydrifts.com 1 December 2008

2 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Agenda Open Source and Cloud Computing: a great match! Challenges faced by developers in the cloud...... and open source solutions

3 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Marketing platform for indie music promotion Help indie musicians find fans among social network users Cloud-based, using open source solutions Professional Services and Consulting Cloud computing, scalable web applications

4 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Open Source and Cloud Computing Same motivation: low ongoing costs mydrifts.com chose Amazon’s EC2 Rich set of complementary tools Many open source projects, too Freedom to choose OS, language, DB - the entire stack Choice of hardware

5 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Challenges Faced by Developers in the Cloud HOW?

6 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Developing Scalable Cloud Applications Optimize your database Use caching Use service pools

7 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Typical Application Architecture: Three Tiers Load Balancer Client Web Tier Business Logic Tier Database Tier

8 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Scaling the Database Tier: Optimize Queries Database Tier Optimize your database Know your queries Know your indexes De-normalize tables where needed Open-source: (MySQL) Use the slow query log EXPLAIN SELECT… is your friend MySQL has query analysis tools ($)

9 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability DB Database Tier Cache to reduce database hits Not just query results Objects, partially rendered pages, etc… Open-source: memcached Scaling the Database Tier: Cache

10 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability DB memcached Distributed in-memory cache Extremely low CPU usage Used by facebook, Wikipedia, Amazon, Yahoo, etc. Use “leftover” memory on a machine to serve as cache Great for cloud instances memcached server A memcached server C memcached server B

11 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Load Balancer Client DB Application with Scalable Database Tier Database Tier cache Web Tier Business Logic Tier

12 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Anatomy of the Business Logic Tier Components have different resource usage Requests flow through different components Limited scaling granularity

13 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Scaling the Business Logic Tier: Service Pools Pool A Pool B Pool CPool D Separate homogeneous pools of instances Each pool of services is independently scalable

14 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Status Logger Service Architecture of Service Pools Message Queue Service Pool Storage Msg Queue input output status work request Pool Manager Ingestor Message Queue

15 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Pool D Service Service D Pool B Service Service B Pool C Pool A DB Scalable Business Logic Tier Service Service A Service Service C Database Tier cache

16 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Open Source Service Pools on Amazon EC2 Lifeguard (Java) http://code.google.com/p/lifeguard see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=915 Kato (Ruby) http://rubyforge.org/projects/kato/ Implemented using boto (Python) see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=691

17 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Load Balancer Client DB Scalable Cloud Application Architecture Database Tier cache Web TierBusiness Logic Tier Pool

18 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Q & A

19 www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Developing Cloud Computing Applications with Open Source Technologies Shlomo Swidler shlomo.swidler@mydrifts.com


Download ppt "Www.Grid.org.il Cloud Computing: Pay-per-Use for On-Demand Scalability Developing Cloud Computing Applications with Open Source Technologies Shlomo Swidler."

Similar presentations


Ads by Google