210 likes | 395 Views
CloudTao. — Build your own enterprise-class PaaS platform. Cloudset and Cloud. First Level Multitenant. Cloudset1. Master Cloudset. Second Level Multitenant. Cloudset. cloud. cloud. cloud. cloud. cloud.
E N D
CloudTao — Build your own enterprise-class PaaS platform
Cloudset and Cloud First Level Multitenant Cloudset1 Master Cloudset Second Level Multitenant Cloudset cloud cloud cloud cloud cloud Dedicated resource can be assigned to a cloudset. Dedicated resource can be also assigned to a cloud inside an cloudset Resource Pool
Cloud and Service • A cloud contains a set of services • A service can handling a set of target http request. Cloud Third Level Multitenant Service Service Service Service
Service and Processor Service • A service is packed into a war which can be self-started with an embedded jetty. • A service contains several processors each refer to a running jetty instance. Processor 1 (Embed Jetty instance listening on: 192.168.64.101: 8083) Processor 2 (Embed Jetty instance listening on: 192.168.64.102: 8084) Processor3 (Embed Jetty instance listening on: 192.168.64.102: 8085)
Deployment Architecture Load balancer HA Proxy / F 5 Management & Monitoring Gateway Processor Gateway Processor Gateway Processor … Reverse Proxy Service Processor Service Processor Service Processor Service Processor Service Processor Service Processor Processor Pool Cloudset Cloudset …… …… …… Cloud Cloud Cloud Server Pool Admin/Monitor/Service Repository Data Center 1 Data Center 2 Infrastructure
Web UI/Client Runtime Architecture 1.http://paas.cloudtao.com/cloudset1/cloud1/service1/customer/1 Master Cloudset 3. http response 2. Dispatch and load balance Cloudset cloudset2 System cloud Gateway Processor Cluster Processor 1 Processor 1 cloud2 service1 service2 Processsor1 Processor 1 Other Service Processor 2 Processor 2 Repository Service cloudset1 service1.war
Core Service • Embedded Application Server(jetty) • Self-contained • Easy to maintain and upgrade • Monitoring • Logging • Remote Debugging • JMX integration • Security: ssl & application-based custom authentication
Core Service Maven plug-in Application (War) Processor with Embedded Application server Combine run App+ CloudTao core = Service CloudTaoCore (jetty + admin/monitoring etc.) Processor Cloudset Cloud Service Processor CloudTao Cluster Processor Processor Processor
Gateway Service Load Balancer(F5/Haproxy) • Forward http request to target cloudset/cloud/service/processor • Load balancing • Auditing • Central Authentication • Filtering Gateway 1 Gateway 2 Gateway … Processor Processor Processor Processor Processor Processor Processor Processor …..
Database Service • Relational DB is needed for legacy Application • Application needs ACID from relational DB, NOSQL are based on BASE model • 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 RDBMS • Multitenant DBMS that is scalable, fault-tolerant, elastic, autonomic, consistent, and supports a relational data model. • NOSQL is scalable, but • Lack of transaction(ACID) • Lack of query ability • No built-in Multitenant support • SLA is un-certain • An application with smaller storage requirements (tens of MBs to a few GB) would not utilize these scaling advantages of NOSQL Multitenant database models
Scalable Multitenant RDBMS DB Service Clustering/HA • Embedded H2/mysqlDatabase in Processor • Self-Contained • Isolation at DB instance • Web-based DB management console • Clustering/HA between db processors • Application transparent DB Processor 2 DB Processor 1 Embedded Database Embedded Database
Multitenant Queue Service Queue Service Clustering/HA • Embedded Hornetq in Processor • Self-Contained • Clustering/HA between two processors Queue Processor 2 Queue Processor 1 Embedded HornetQ Embedded HornetQ
Storage(Key-Value) Service • Central storage repository • Only can use http request to access • In Master cloudset system cloud: we use storage service to store all admin information and configuration information. S3 compatible interface Local file system implementation Distributed file system implementation .... implementation
Cache Service Rest http interface • Based on Ehcache • Put/Get cache through http restful request • Clusting/HA between cache processors Cache Service Clustering/HA Cache processor 1 Cache processor 2
Central Session implementation Cache Service 1 Clustering/HA Cache processor 1 Cache processor 2 Cloudtao Session Manager: Generate Unique session ID Hashed by session id to distrubuted HA cache service No local session storage No tricky session Cache Service 2 Jetty Instance Clustering/HA Cache processor 1 Cache processor 2 Jetty Instance ……. Cache Service … Clustering/HA Cache processor 1 Cache processor 2
Repository Service Application Developer mvn deploy • Based on Maven repository • Central storage for service artifacts • Multi-version support Service1.war Service3.war 1. Download war Service2.war Service4.war Host Admin Processor 1 Service 1 Processor 1 2. Start processor
Full Cycle Application Support • Develop with traditional Method • Use PaaS Service • Deploy artifacts to repository with maven plug-in • Real-time monitoring and alert • Dynamic scale up/down • Fail-over • Test with traditional Method • Maven Plug-in • Test in DTAP • Remote Debugging • Make deploy strategy • On-fly redeployment • Version Upgrade
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