Your SlideShare is downloading. ×
0
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

[OSDC.tw 2011] The Path to Pass into PaaS -- How We Build the Solution

2,266

Published on

Elaster CAP is a Platform-as-a-Service (PaaS) solution that enable any developer or service provider to host their own PaaS cloud. So they can focus on application logic and Elaster CAP will help to …

Elaster CAP is a Platform-as-a-Service (PaaS) solution that enable any developer or service provider to host their own PaaS cloud. So they can focus on application logic and Elaster CAP will help to reduce operation cost. Elaster CAP supports Java Web Applications and Hadoop Map/Reduce Applications. It also provides many cloud-based infrastructures to support your Software-as-a-Service applications, such as Relational Database, Index/Search service, and Big-data Storage with S3 compatible adapter. Elaster CAP is designed to be elastic that, depends on the use cases, the cloud can be as small as one node, or as big as more than hundreds of nodes. The nodes in Elaster CAP can run on physical machines in your data center, or virtual machines hosted by Infrastructure-as-a-Service (IaaS) providers such as EC2 and TCloud Elaster.

In this talk, We'd like to describe the technology and strategy we took when building Elaster CAP. And share the pitfalls and gotchas that we experienced during the journey.

Published in: Technology, Business
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,266
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
80
Comments
0
Likes
9
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • http://blogs.msdn.com/b/dachou/archive/2009/01/13/cloud-computing-and-the-microsoft-platform.aspx
  • Application Development Platform: Suitable for startups or companies want to revisit and rewrite existing applicationsApplication Management Platform: Help companies move their applications as-is with little or no need for retrofit.http://www.prudentcloud.com/cloud-computing-technology/multiple-personalities-of-platform-as-a-service-18102010/Force.com: http://www.salesforce.com/platform/Microsoft Azure: http://www.microsoft.com/windowsazure/Google AppEngine: http://code.google.com/appengine/Heroku: http://heroku.com/RIghtScale: http://www.rightscale.com/Makara: http://www.makara.com/JBoss/PHPJoins Red Hat
  • Transcript

    • 1. Copyright 2010 TCloud Computing Inc.<br />The Path to Pass into PaaS<br />How We Build the Solution<br />
    • 2. The Speaker<br />Jeff Hung<br />A Bloggerwww.jeffhung.net/blog<br />Identity on the Net@jeffhung<br />Developer of Trend Microjeff_hung@trend.com.tw<br />Copyright 2010 TCloud Computing Inc.<br />
    • 3. Cloud Computing & Elaster CAP<br />3<br />Copyright 2010 TCloud Computing Inc.<br />
    • 4. The History of Computing<br />4<br />Copyright 2010 TCloud Computing Inc.<br />
    • 5. 5<br />Mr. User<br />More like a Capital Game<br />Value Near to End User<br />
    • 6. Elaster CAP 1.0<br />SaaS 5<br />SaaS 1<br />SaaS 7<br />SaaS 4<br />SaaS 2<br />SaaS 3<br />SaaS 6<br />Elaster CAP is a Product for public / private / vertical PaaS operators.<br />Softwareas-a-Service<br />Developeror Startups<br />Run<br />Dynamic Workload Distribution & Optimization<br />Scalability & Availability <br />Platform as-a-Service<br />Cloud ServiceOperator<br />Provide<br />ElasterCloud Application Platform API<br />Development<br />Deployment<br />TcloudComputing<br />Sale<br />Publish<br />Management<br />TCloudElaster CAP<br />(Cloud Application Platform)<br />Big Data<br />Unpredictable<br />Peak Workloads <br />Massive<br />Compute<br />6<br />
    • 7. Elaster CAP Philosophy<br />Minimum change of skill-set of developer<br />Developers don’t need to learn new skill for developing or porting their applications runon top of Elaster CAP<br />Cloud-based infrastructure in a box<br />native high-scalability, high-availability,and load-balancing in system design<br />7<br />Copyright 2010 TCloud Computing Inc.<br />
    • 8. PaaS Personalities<br />Application Development Platform<br />Radically embracing cloud computing<br />Force.com, Microsoft Azure, Google AppEngine, Heroku<br />Application Management Platform<br />Enable existing on-premise frameworks<br />RightScale, Makara<br />And… Elaster CAP<br />Data Processing Platform<br />Specialized purpose-driven<br />Amazon Map/Reduce, PingIdentity, Akamai<br />8<br />http://www.prudentcloud.com/cloud-computing-technology/multiple-personalities-of-platform-as-a-service-18102010/<br />
    • 9. Copyright 2010 TCloud Computing Inc.<br />9<br />Runtime Services:<br />JSP (2.1) / Servlet (2.5) / J2SE 5 or Java SE 6<br />PHP (5.3)<br />Hadoop Map/Reduce (0.20.2)<br />Resource Services:<br />RDB (MySQL 5.1)<br />Search Engine<br />Big Data Storage(Like Amazon S3)<br />
    • 10. Free PaaS Playground<br />Enabled by ElasterCAP<br />Hosted by TCloud.<br />Elaster CAP Official Site<br />Download Center<br />Document Center<br />Tech Support Forum<br />Launched in Jan, 2011: www.elasterlabs.com.tw<br />10<br />Copyright 2010 TCloud Computing Inc.<br />
    • 11. How to Build a PaaS Platform?<br />11<br />
    • 12. The Technical Problems<br />Hundreds or thousands of machines<br />Each with tens or hundreds of instances<br />Instances should be paired or clustered together,for HA and Balancing<br />Dispatch network traffics to correct back-end<br />Plan to deliver various cloud services,from time to time<br />Eventually, we still have to face the problem:How do we optimize it?<br />12<br />Copyright 2010 TCloud Computing Inc.<br />
    • 13. The Realistic Problems<br />We won’t really operate it.<br />Customer don’t know how to operate it.<br />Developer want silver bullet, maybe.<br />Who’s gonna buy it?<br />How will it sale?<br />13<br />Copyright 2010 TCloud Computing Inc.<br />CHANGE<br />
    • 14. That’s Simplify the Problem<br />Static configurable feature set<br />Define enabled services when bootstrapping<br />Same static configurations everywhere<br />No online upgrade<br />dynamically wired<br />incrementally deployed and tested<br />Believe some fallacies<br />FQDN and flat L3 environment<br />Homogenous topology, sort of<br />No provisioning<br />Install everything, launch by needs<br />14<br />
    • 15. Scale from 1 to N<br />ZooKeeper<br />ElasterCAP Composite Server<br />ElasterCAP Composite Server<br />HadoopNameNode<br />API Server<br />Resource Host<br />API Server<br />Resource Host<br />Hadoop<br />Data Node<br />Load Balancer<br />Hadoop<br />Data Node<br />Load Balancer<br />Hbase Master<br />Java Web Container<br />Hbase Region Server<br />Java Web Container<br />Hbase Region Server<br />LDAP Server<br />AMP Server<br />AMP Server<br />WOE Instance<br />MySQL Database<br />WOE Instance<br />MySQL Database<br />System DB<br />Fedora 12 x64<br />Fedora 12 x64<br />Master Node<br />Worker Node * N<br />
    • 16. Network Configurations<br />Recognize 2 network segments:<br />The Public Network –Accepting Web Traffics from Internet.<br />The Private Network – Inter-communicate between nodes.<br />These 2 network segments can be the same one.<br />Use wildcard DNS as 1st tier load balancing<br />www.elasterlabs.com.tw<br />api.elasterlabs.com.tw<br />*.app.elasterlabs.com.tw<br />*.s3.elasterlabs.com.tw<br />16<br />Copyright 2010 TCloud Computing Inc.<br />All point to multiple IP addresses configured as the public network.<br />The 2nd tier load balancers are waiting there to dispatch requests to backend application servers.<br />
    • 17. Copyright 2010 TCloud Computing Inc.<br />17<br />Internet<br />MySQL Database<br />MySQL Database<br />MySQL Database<br />MySQL Database<br />Elaster CAP Service (API Server)<br />Elaster CAP Service (API Server)<br />Java Web Container<br />Elaster CAP Service (API Server)<br />Java Web Container<br />Elaster CAP Service (API Server)<br />Java Web Container<br />Java Web Container<br />api.elasterlabs.com.tw<br />Manage<br />Balancer<br />*.app.elasterlabs.com.tw<br />Lucene Indexer<br />Lucene Indexer<br />Lucene Indexer<br />Search Engine<br />Driven by Workload Optimization Engine (WOE)<br />HadoopHBase<br />HadoopHBase<br />HadoopHBase<br />HadoopHBase<br />
    • 18. Resource Host vs. Guest Instances<br />18<br />Fedora 12 x86 on Physical/Virtual Machine<br />API Server<br />CompositeServer (JVM)<br />NginxGuest Instance<br />Nginx Balancer(Daemon)<br />Resource Host<br />JettyGuest Instance<br />Jetty Container (JVM)<br />WOE<br />≈<br />MySQLGuest Instance<br />MySQL Server(Daemon)<br />
    • 19. 19<br />API Server<br />1: Where is WOE?<br />Coordination Service<br />(ZooKeeper)<br />2: Hey, I need a Jetty.<br />3: Locate hosting based on global knowledge.<br />WOE<br />0: Hosted in all nodes, only leader activate.<br />5: I’m currently running a Jetty.<br />4: Oh, I’m expected to run a Jetty.<br />
    • 20. Cloud Entity and Expected/Current State<br />20<br />Copyright 2010 TCloud Computing Inc.<br />WOE<br />/<br />resourcehosts<br />Cloud Entity<br />0ea40b00...5c3f4c436e7b<br />expected<br />current<br />Resource Host<br />Guest Instance<br />(ephemeral)<br />JAVA_WEB_CONTAINER<br />8e1bb5f1...766787dd7540<br />expected<br />JettyGuest Instance<br />MySQLGuest Instance<br />NginxGuest Instance<br />current<br /><<realize>><br />DATABASE<br />
    • 21. State Transaction<br />21<br />Transit from anycurrent state to expected state.<br />INITIALIZING<br />STARTING<br />STOPPED<br />STARTED<br />UPDATING<br />STOPPING<br />DESTROYING<br />DESTROYED<br />CRASHED<br />NeedRecovery<br />
    • 22. Why not RPC or MQ?<br />RPC doesn’t scale. Consider locating best hosting.<br />MQ can’t remember, and can’t be tracked.<br />Communicate via Whiteboard using ZooKeeper<br />Strict ordering<br />Event notification<br />Asynchronous<br />Global Knowledge<br />22<br />Copyright 2010 TCloud Computing Inc.<br />
    • 23. Application IDE (Integrated development environment)<br />Elaster CAP SDK<br />Application Management API<br />Application Management<br />Portal<br />App Runtime<br />Workload Optimization Engine (WOE)<br />MapReduce<br />Web Container<br />Servlet Container<br />M/R Jobs<br />HTML<br />JSP<br />Resource Host<br />Elaster CAP API<br />System Administration CLI<br />Relational DB (MySQL)<br />Search Engine<br />Other…<br />Big-Data Storage<br />Operating System (Linux Fedora 12)<br />Infrastructure Service (virtual machine or physical machine)<br />
    • 24. Elaster Labs – Current Status<br />5+ virtual machines<br />13x Running Applications<br />Just released Elaster CAP 1.0.1.1025<br />Download from www.elasterlabs.com.tw<br />VM Image Distribution<br />Platform of TM Programming Contest 2011<br />We appreciate your comments. <br />24<br />Copyright 2010 TCloud Computing Inc.<br />
    • 25. Thank You.<br />25<br />Copyright 2010 TCloud Computing Inc.<br />
    • 26. Questions?<br />26<br />Copyright 2010 TCloud Computing Inc.<br />

    ×