CloudTao
— Build your own enterprise-class PaaS platform
Cloudset and Cloud
Master Cloudset
Cloudset1
Cloudset
Resource Pool
cloud
cloudclou
d
cloud
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
Service
Cloud and Service
Service
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: 192.168.64.101: 8083)
Processor 2
Service and Processor
(Embed Jetty instance listening on: 192.168.64.102 : 8084)
Processor3
(Embed Jetty instance listening on: 192.168.64.102: 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
Deployment ArchitectureHA Proxy / F 5
Gateway Processor
Gateway Processor
Gateway Processor
Load balancer
Reverse Proxy
ServiceProcessor
ServiceProcessor
……Cloud
ServiceProcessor
ServiceProcessor
……Cloud
Cloudset
ServiceProcessor
ServiceProcessor
……Cloud
Cloudset
Processor Pool
Data Center 1 Data Center 2Infrastructure Admin/Monitor/Service
Repository
Man
agemen
t & M
onitorin
g
Server P
ool
…
Runtime Architecture
Cloudsetcloudse
t2
Web UI/Client
1.http://paas.cloudtao.com/cloudset1/cloud1/service1/customer/1
2. Dispatch and load balance
cloud2
service1 service2
Processsor1
Processor 2
3. http response
Processor 1
Processor 2
Master Cloudset
System cloud
cloudset1
Repository Service
service1.war
Other Service
Gateway Processor ClusterProcessor 1 Processor 1
Core Service
1.Embedded Application Server(jetty)2.Self-contained3.Easy to maintain and upgrade4.Monitoring5.Logging6.Remote Debugging7.JMX integration8.Security: ssl & application-based
custom authentication
8
Core Service
Combine
Application (War)
CloudTao Core(jetty + admin/monitoring etc.)
App+ CloudTao core = Service
run Processor with
Embedded
Application server
ProcessorProcessor
Processor
Processor
CloudTao Cluster
Cloudset Cloud Service
Processor
Maven plug-in
Gateway Service
Load Balancer(F5/Haproxy
)
Gateway 1 Gateway 2 Gateway …
Processor Processor Processor
Processor Processor Processor
Processor Processor …..
1. Forward http request to target cloudset/cloud/service/processor
2. Load balancing3. Auditing4. Central
Authentication5. Filtering
Database Service
Application
Multitenant
Relational DB
Traditional
Relational DB
NOSQLKey-Value
NOSQLDocument-based
NOSQLColumn-
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
Scalable Multitenant RDBMS1. 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 Mode Isolation
Shared hardware VM
Shared VM OS User
Shared OS DB Instance
Shared instance Database
Shared database Schema
Shared table Row
Multitenant database models
Scalable Multitenant RDBMS
1. Embedded H2/mysql Database in Processor
2. Self-Contained3. Isolation at DB
instance4. Web-based DB
management console5. Clustering/HA
between db processors
6. Application transparent
DB Service
Clustering/HA
DB Processor 1 DB Processor 2
Embedded Database
Embedded Database
Multitenant Queue Service
1. Embedded Hornetq in Processor
2. Self-Contained3. Clustering/HA
between two processors
Queue Service
Clustering/HA
Queue Processor 1
Queue Processor 2
Embedded HornetQ
Embedded HornetQ
Storage(Key-Value) Service
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
Cache Service
Rest http interface
Cache Service
1. Based on Ehcache2. Put/Get cache
through http restful request
3. Clusting/HA between cache processors
Clustering/HA
Cache processor 1
Cache processor 2
Central Session implementation
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
Jetty Instance
Jetty Instance…….
Host
Repository Service
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
Full Cycle Application Support
Development
Test
Deploy
Monitor
1. Develop with traditional Method
2. Use PaaS Service3. Deploy artifacts to repository
with maven plug-in
1. Test with traditional Method
2. Maven Plug-in3. Test in DTAP4. Remote Debugging
1. Make deploy strategy2. On-fly redeployment3. 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
CloudTao: PaaS Platform built from ground
CloudTao: Key Technical Characters 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
THANK YOU!