— Build your own enterprise-class PaaS platform
Master Cloudset Cloudset1 Cloudset Resource Pool cloud Dedicated resource can be assigned to a cloudset. Dedicated resource can be also assigned to a cloud inside an cloudset First Level Multitenant Second Level Multitenant
Cloud Service 1.A cloud contains a set of services 2.A service can handling a set of target http request. Third Level Multitenant
Service Processor 1 (Embed Jetty instance listening on: : 8083) Processor 2 (Embed Jetty instance listening on: : 8084) Processor3 (Embed Jetty instance listening on: : 8085) 1.A service is packed into a war which can be self- started with an embedded jetty. 2.A service contains several processors each refer to a running jetty instance.
5 HA Proxy / F 5 Gateway Processor Load balancer Reverse Proxy Service Processor Service Processor …… Cloud Service Processor Service Processor …… Cloud Cloudset Service Processor Service Processor …… Cloud Cloudset Processor Pool Data Center 1 Data Center 2 Infrastructure Admin/Monitor/Service Repository Management & Monitoring Server Pool …
Cloudset cloudset2 Web UI/Client Dispatch and load balance cloud2 service1service2 Processsor1 Processor 2 3. http response Processor 1 Processor 2 Master Cloudset System cloud cloudset1 Repositor y Service service1.war Other Service Gateway Processor Cluster Processor 1
1.Embedded Application Server(jetty) 2.Self-contained 3.Easy to maintain and upgrade 4.Monitoring 5.Logging 6.Remote Debugging 7.JMX integration 8.Security: ssl & application-based custom authentication
8 Combine Application (War) CloudTao Core (jetty + admin/monitoring etc.) App+ CloudTao core = Service run Processor with Embedded Application server Processor CloudTao Cluster Cloudset Cloud Service Processor Maven plug-in
Load Balancer(F5/Haproxy) Gateway 1 Gateway 2 Gateway … Processor ….. 1.Forward http request to target cloudset/cloud/service/p rocessor 2.Load balancing 3.Auditing 4.Central Authentication 5.Filtering
Application Multitenant Relational DB Traditional Relational DB NOSQL Key-Value NOSQL Document- based NOSQL Column- based 1.Relational DB is needed for legacy Application 2.Application needs ACID from relational DB, NOSQL are based on BASE model 3.Relational DB is overused in the past ①Blob data should be store in key-value based nosql db ②Application logic implementation should be moved to application layer ③Relationship between data is too complex ④No-Stand SQL
1.Multitenant DBMS that is scalable, fault-tolerant, elastic, autonomic, consistent, and supports a relational data model. 2.NOSQL is scalable, but ①Lack of transaction(ACID) ②Lack of query ability ③No built-in Multitenant support ④SLA is un-certain 3.An application with smaller storage requirements (tens of MBs to a few GB) would not utilize these scaling advantages of NOSQL Sharing ModeIsolation Shared hardwareVM Shared VMOS User Shared OSDB Instance Shared instanceDatabase Shared databaseSchema Shared tableRow Multitenant database models
1.Embedded H2/mysql Database in Processor 2.Self-Contained 3.Isolation at DB instance 4.Web-based DB management console 5.Clustering/HA between db processors 6.Application transparent DB Service Clustering/HA DB Processor 1 DB Processor 2 Embedded Database
1.Embedded Hornetq in Processor 2.Self-Contained 3.Clustering/HA between two processors Queue Service Clustering/HA Queue Processor 1 Queue Processor 2 Embedded HornetQ
S3 compatible interface Local file system implementation 1.Central storage repository 2.Only can use http request to access 3.In Master cloudset system cloud: we use storage service to store all admin information and configuration information. Distributed file system implementation.... implementation
Rest http interface Cache Service 1.Based on Ehcache 2.Put/Get cache through http restful request 3.Clusting/HA between cache processors Clustering/HA Cache processor 1 Cache processor 2
Cache Service 1 Clustering/HA Cache processor 1 Cache processor 2 Cache Service 2 Clustering/HA Cache processor 1 Cache processor 2 Cache Service … Clustering/HA Cache processor 1 Cache processor 2 Cloudtao Session Manager: 1.Generate Unique session ID 2.Hashed by session id to distrubuted HA cache service 3.No local session storage 4.No tricky session Cloudtao Session Manager: 1.Generate Unique session ID 2.Hashed by session id to distrubuted HA cache service 3.No local session storage 4.No tricky session Jetty Instance …….
Host 1.Based on Maven repository 2.Central storage for service artifacts 3.Multi-version support Application Developer mvn deploy Service1.war Service2.war Service3.war Service4.war Admin Processor 1 Service 1 Processor 1 1. Download war 2. Start processor
Developme nt TestDeployMonitor 1.Develop with traditional Method 2.Use PaaS Service 3.Deploy artifacts to repository with maven plug-in 1.Test with traditional Method 2.Maven Plug-in 3.Test in DTAP 4.Remote Debugging 1.Make deploy strategy 2.On-fly redeployment 3.Version Upgrade 1.Real-time monitoring and alert 2.Dynamic scale up/down 3.Fail-over
Gartner: Key features of Cloud-Enable Application Platform(PaaS) CloudTao Elastic resource allocation Native Support Automatic horizontal scaling (up and down) Native Support Multitenant fine-grained control of computing resources Native Support Multitenant fine-grained tracking and billing for resource use Native Support Extreme-transaction-processing (XTP)-grade performance characteristics Extensible Global-class interoperability and access models Native Support Multitenant provisioning, management, monitoring and error recovery procedures Native Support Multitenant protections of security, privacy, integrity and service-level agreement levels Native Support Multitenant configuration, customization and version control Native Support
Shared OS multitenancy implementation, Linearly horizontal scalability, fine-grain resource utilization Multitenant at multiple level Easy to management, easy to upgrade, central monitoring. Bridge dev and ops. Open, Simple and consistent Architecture Fully Support J2EE Stack(except EJB) Truly Cross-platform, only reply on JVM Truly Distributed, HA, No single point of failure