© Copyright 2012
!
!
!


Achieving genuine elastic multitenancy
   !
for Java applications with the Waratek
Cloud VM for Java!
                                  © Copyright 2012
The Problem with Java!
•  Java is 15 years old, predates multitenant cloud computing

•  JavaEE app servers were designed to host multiple webapps,
   but rarely do in practice because there's no isolation between
   webapps

•  Today's JavaSE/JavaEE apps are deployed as "one app per
   app-server per JVM", which leads to "app-server sprawl”

•  Hosting one webapp per JVM means provisioning fixed cpu/
   memory quotas which can't elastically fluctuate on demand.

                                                            © Copyright 2012
The Problem with Java!
•  Hosting one webapp per fixed cpu/memory quota means
   there is unused cpu/memory capacity being paid for: this is a
   waste

•  Today's JavaSE/JavaEE apps are perfectly suited to a
   multitenant "pay exactly what you consume" model were there
   a multitenant JVM

•  A multitenant JVM would be able to charge computing power
   like a utility: gigahertz-hours for cpu, gigabyte-hours for
   memory

                                                            © Copyright 2012
Virtualizing the Java Platform!

•  The Waratek Cloud VM introduces a feature called Java
   Virtualization Containers (JVC)
•  A JVC is a metacircular VM within the JVM which shares the
   host JVM environment (heap, classes, JIT) with other JVCs
•  A JVC is extremely lightweight: < 1 MB overhead per JVC



              JVC 1!      JVC 2!        JVC 3!

                Waratek Cloud VM for Java!


                                                     © Copyright 2012
Fine-grained resource control!
•  A single VM can host thousands of JVCs:
   a JVC can be any size (from 1MB up to many GBs)

•  Every aspect of JVC execution is isolated:
   cpu priority, memory limits, bandwidth, etc

•  Every aspect of JVC use is metered:
   cpu use in Hz, memory/IO use in Bytes

•  JVCs provide computing power like electricity kW-h:
   cpu consumed in GHz-h, memory consumed in GB-h
                                                     © Copyright 2012
Waratek Cloud VM delivers Java-as-a-Service!

•  Run JavaSE/JavaEE platform software as a multitenant cloud
   service without code change:
   binary compatible with existing apps and platforms

•  Every .war/.ear/.jar app gets its own JVC



               .war app!     .ear app!      .jar app!

               Tomcat / JBoss / GlassFish / Other !

                   Waratek Cloud VM for Java!


                                                          © Copyright 2012
Extensible Java Virtualization!

•  JVC framework is fully extensible and customizable:
   enhanced JVCs can be created by anyone using Waratek
   APIs

•  Special-purpose JVCs already in dev or planning:
   Servlet JVCs for Tomcat, EAR JVCs for JBoss, Scala JVC,
   Clojure JVC, et al

•  Waratek is adding a range of premium JVC features:
   legacy JVCs, live snapshot, live migration, JVC mirroring
   for disaster-recovery, etc.
                                                       © Copyright 2012
© Copyright 2012
© Copyright 2012
© Copyright 2012
© Copyright 2012
© Copyright 2012
© Copyright 2012
© Copyright 2012
© Copyright 2012
© Copyright 2012
© Copyright 2012
© Copyright 2012
Waratek Cloud VM for Java Summary!

ü  Genuine, extensible, Java multitenancy

ü  Precise metering of compute usage, by application

ü  Allocation and prioritization of resources in real time, by
    application

ü  Instant scalability

ü  Granular elasticity

ü  Binary compatibility
                                                           © Copyright 2012
 
                                                                  	
  
                                                                	
  	
  	
  
                                                            Use	
  Case	
  
                                 	
  	
  	
  	
  	
  	
  	
  




Copyright Push Technology 2012
•  Bri7sh	
  startup.	
  Founded	
  in	
  2006.	
  

                                    •  ‘Last	
  mile’	
  data	
  distribu7on	
  specialist.	
  
                                       	
  
                                    •  Unique	
  data-­‐centric	
  approach	
  to	
  
                                       messaging/caching.	
  
                                       	
  
                                    •  Preferred	
  by	
  6	
  of	
  the	
  top	
  10	
  online	
  
                                       eGaming	
  exchanges.	
  
                                       	
  
                                    •  Growing	
  fast.	
  400%	
  year	
  on	
  year.	
  
                                       	
  
                                    •  Focus:	
  Be'er	
  bang	
  for	
  your	
  bytes!	
  
                                       	
  

                                 Introducing	
  Push	
  Technology	
  

Copyright Push Technology 2012
•  Distributed	
  Systems	
  /	
  HPC	
  guy.	
  
                                                 	
  
                                              •  Chief Scientist :- at Push Technology

                                              •  Alumnus	
  of	
  :-­‐	
  	
  
                                                 	
  
                                                 Motorola,	
  IONA,	
  BeXair,	
  JPMC,	
  StreamBase.	
  

                                              •  School:	
  Trinity	
  College	
  Dublin.	
  	
  
                                                 -­‐	
  BA	
  (Mod).	
  Comp.	
  Sci.+	
  	
  
                                                 -­‐	
  M.Sc.	
  Networks	
  &	
  Distributed	
  Systems	
  	
  
                                                 	
  
                                              •  Responds	
  to:	
  Guinness,	
  Whisky	
  



                                                                                           About	
  me?	
  
Copyright	
  Push	
  Technology	
  2012	
  
                                                           Darach@PushTechnology.com	
  
Tradi7onal	
  Messaging	
  




Pros                                              Cons
•  Extend	
  the	
  Enterprise	
  Messaging	
     •  Data Model has to be hand-crafted
   paradigm	
  over	
  the	
  Internet	
  	
      •  Messaging cannot do anything
•  Familiar	
                                        intelligent with messages.
                                                  •  No Data ‘intelligence’


Copyright Push Technology 2012
Diffusion™:	
  Live	
  Data	
  Projec7on	
  




                                    Pros
                                 •  	
  Rapid	
  Applica7on	
  Development	
  	
  
                                 •  	
  Automa7c	
  Snapshot	
  Delta	
  	
  
                                 •  	
  Automa7c	
  data-­‐centric	
  Intelligent	
  	
  	
  
                                    	
  confla7on	
  
                                 •  Efficient	
  recovery	
  of	
  communica7ons	
  context	
  	
  


Copyright Push Technology 2012
Diffusion™	
  +	
  Waratek	
  
                                  Tenant #1                    Tenant #2                  Tenant #N
                                 (Diffusion)                  (Diffusion)                 (Diffusion)



                                                     Push Technology Diffusion



                                                     Waratek Cloud VM for Java




                                 Benefits
                                 •    High	
  density	
  deployments	
  
                                 •    Elas5c.	
  scalable	
  on	
  demand	
  
                                 •    Meterability:	
  Bandwidth	
  and	
  compute	
  u7liza7on	
  
                                 •    Mul5-­‐tenant.	
  Each	
  tenant	
  fully	
  isolated	
  

Copyright Push Technology 2012
Diffusion™	
  +	
  Waratek	
  
Operations:>




Tenants :>

                                  Gaming   Live Internet Apps   Finance   QA + Dev + UAT




                                                        … one box to host them all!


 Copyright Push Technology 2012
Diffusion™	
  +	
  Waratek	
  in	
  the	
  
                           Cloud?	
  
                                                                                                                                                                                                                                                                              Tenant #1                       Tenant #2                      Tenant #N
                                                                                                                                                                                                                                                                         Tenant #1                       Tenant #2                      Tenant #N
                                                                                                                                                                                                                                                                    Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)
                                                                                                                                                                                                                                                               Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)
                                                                                                                                                                                                                                                          Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)
                                                                                                                                                                                                                                                     Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)
                                                                                                                                                                                                                                                Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)
                                                                                                                                                                                                                                           Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)
                                                                                                                                                                                                                                               (Diffusion)                     (Diffusion)                     (Diffusion)
                                                                                                                                                                                                                                                                                                    Push (Diffusion) Diffusion
                                                                                                                                                                                                                                                                                                           Technology
                                                                                                                                                                                                                                          (Diffusion)                     (Diffusion)          Push Technology Diffusion
                                            Tenant #1                       Tenant #2                      Tenant #N                                                                                                                                                                      Push Technology Diffusion
                                       Tenant #1                       Tenant #2                      Tenant #N                                                                                                                                                                      Push Technology Diffusion
                                  Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)                                                                                                                                                          Push Technology Diffusion
                             Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)                                                                                                                                                         Push Technology Diffusion
                        Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)                                                                                                                                                         Push Technology Diffusion
                   Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)                                                                                                                                                         Push Technology Diffusion Waratek Cloud VM for Java
              Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)                                                                                                                                                                                             Waratek Cloud VM for Java
         Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)                                                                                                                                                                                             Waratek Cloud VM for Java
             (Diffusion)                     (Diffusion)                     (Diffusion)                                                                                                                                                                                             Waratek Cloud VM for Java
        (Diffusion)                     (Diffusion)               Push (Diffusion) Diffusion
                                                                         Technology                                                                                                                                                                                             Waratek Cloud VM for Java
                                                             Push Technology Diffusion                                                                                                                                                                                    Waratek Cloud VM for Java
                                                        Push Technology Diffusion                                                                                                                                                                                    Waratek Cloud VM for Java
                                                   Push Technology Diffusion                                                                                                                                                                                    Waratek Cloud VM for Java
                                              Push Technology Diffusion
                                        Push Technology Diffusion
                                   Push Technology Diffusion
                             Push Technology Diffusion Waratek Cloud VM for Java
                                                    Waratek Cloud VM for Java
                                                Waratek Cloud VM for Java
                                            Waratek Cloud VM for Java
                                        Waratek Cloud VM for Java
                                    Waratek Cloud VM for Java
                                Waratek Cloud VM for Java
                             Waratek Cloud VM for Java




                                                                                                                                                             Tenant #1                       Tenant #2                      Tenant #N
                                                                                                                                                        Tenant #1                       Tenant #2                      Tenant #N
                                                                                                                                                   Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)
                                                                                                                                              Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)
                                                                                                                                         Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)
                                                                                                                                    Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)
                                                                                                                               Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)
                                                                                                                          Tenant #1(Diffusion)            Tenant #2(Diffusion)           Tenant #N (Diffusion)
                                                                                                                              (Diffusion)                     (Diffusion)                     (Diffusion)
                                                                                                                                                                                   Push (Diffusion) Diffusion
                                                                                                                                                                                          Technology
                                                                                                                         (Diffusion)                     (Diffusion)          Push Technology Diffusion
                                                                                                                                                                         Push Technology Diffusion
                                                                                                                                                                    Push Technology Diffusion
                                                                                                                                                               Push Technology Diffusion
                                                                                                                                                         Push Technology Diffusion
                                                                                                                                                    Push Technology Diffusion
                                                                                                                                               Push Technology Diffusion Waratek Cloud VM for Java
                                                                                                                                                                              Waratek Cloud VM for Java
                                                                                                                                                                         Waratek Cloud VM for Java
                                                                                                                                                                    Waratek Cloud VM for Java
                                                                                                                                                               Waratek Cloud VM for Java
                                                                                                                                                         Waratek Cloud VM for Java
                                                                                                                                                    Waratek Cloud VM for Java
                                                                                                                                               Waratek Cloud VM for Java




                                                                                                                                                                                                                                                     … any box, any cloud, anywhere!

Copyright Push Technology 2012
Thank You !
  Test Drive the Waratek
Cloud VM for Java TODAY!
   www.waratek.com

                           © Copyright 2012

Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : John Matthew Holt

  • 1.
  • 2.
    ! ! ! Achieving genuine elasticmultitenancy ! for Java applications with the Waratek Cloud VM for Java! © Copyright 2012
  • 3.
    The Problem withJava! •  Java is 15 years old, predates multitenant cloud computing •  JavaEE app servers were designed to host multiple webapps, but rarely do in practice because there's no isolation between webapps •  Today's JavaSE/JavaEE apps are deployed as "one app per app-server per JVM", which leads to "app-server sprawl” •  Hosting one webapp per JVM means provisioning fixed cpu/ memory quotas which can't elastically fluctuate on demand. © Copyright 2012
  • 4.
    The Problem withJava! •  Hosting one webapp per fixed cpu/memory quota means there is unused cpu/memory capacity being paid for: this is a waste •  Today's JavaSE/JavaEE apps are perfectly suited to a multitenant "pay exactly what you consume" model were there a multitenant JVM •  A multitenant JVM would be able to charge computing power like a utility: gigahertz-hours for cpu, gigabyte-hours for memory © Copyright 2012
  • 5.
    Virtualizing the JavaPlatform! •  The Waratek Cloud VM introduces a feature called Java Virtualization Containers (JVC) •  A JVC is a metacircular VM within the JVM which shares the host JVM environment (heap, classes, JIT) with other JVCs •  A JVC is extremely lightweight: < 1 MB overhead per JVC JVC 1! JVC 2! JVC 3! Waratek Cloud VM for Java! © Copyright 2012
  • 6.
    Fine-grained resource control! • A single VM can host thousands of JVCs: a JVC can be any size (from 1MB up to many GBs) •  Every aspect of JVC execution is isolated: cpu priority, memory limits, bandwidth, etc •  Every aspect of JVC use is metered: cpu use in Hz, memory/IO use in Bytes •  JVCs provide computing power like electricity kW-h: cpu consumed in GHz-h, memory consumed in GB-h © Copyright 2012
  • 7.
    Waratek Cloud VMdelivers Java-as-a-Service! •  Run JavaSE/JavaEE platform software as a multitenant cloud service without code change: binary compatible with existing apps and platforms •  Every .war/.ear/.jar app gets its own JVC .war app! .ear app! .jar app! Tomcat / JBoss / GlassFish / Other ! Waratek Cloud VM for Java! © Copyright 2012
  • 8.
    Extensible Java Virtualization! • JVC framework is fully extensible and customizable: enhanced JVCs can be created by anyone using Waratek APIs •  Special-purpose JVCs already in dev or planning: Servlet JVCs for Tomcat, EAR JVCs for JBoss, Scala JVC, Clojure JVC, et al •  Waratek is adding a range of premium JVC features: legacy JVCs, live snapshot, live migration, JVC mirroring for disaster-recovery, etc. © Copyright 2012
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
    Waratek Cloud VMfor Java Summary! ü  Genuine, extensible, Java multitenancy ü  Precise metering of compute usage, by application ü  Allocation and prioritization of resources in real time, by application ü  Instant scalability ü  Granular elasticity ü  Binary compatibility © Copyright 2012
  • 21.
              Use  Case                 Copyright Push Technology 2012
  • 22.
    •  Bri7sh  startup.  Founded  in  2006.   •  ‘Last  mile’  data  distribu7on  specialist.     •  Unique  data-­‐centric  approach  to   messaging/caching.     •  Preferred  by  6  of  the  top  10  online   eGaming  exchanges.     •  Growing  fast.  400%  year  on  year.     •  Focus:  Be'er  bang  for  your  bytes!     Introducing  Push  Technology   Copyright Push Technology 2012
  • 23.
    •  Distributed  Systems  /  HPC  guy.     •  Chief Scientist :- at Push Technology •  Alumnus  of  :-­‐       Motorola,  IONA,  BeXair,  JPMC,  StreamBase.   •  School:  Trinity  College  Dublin.     -­‐  BA  (Mod).  Comp.  Sci.+     -­‐  M.Sc.  Networks  &  Distributed  Systems       •  Responds  to:  Guinness,  Whisky   About  me?   Copyright  Push  Technology  2012   Darach@PushTechnology.com  
  • 24.
    Tradi7onal  Messaging   Pros Cons •  Extend  the  Enterprise  Messaging   •  Data Model has to be hand-crafted paradigm  over  the  Internet     •  Messaging cannot do anything •  Familiar   intelligent with messages. •  No Data ‘intelligence’ Copyright Push Technology 2012
  • 25.
    Diffusion™:  Live  Data  Projec7on   Pros •   Rapid  Applica7on  Development     •   Automa7c  Snapshot  Delta     •   Automa7c  data-­‐centric  Intelligent        confla7on   •  Efficient  recovery  of  communica7ons  context     Copyright Push Technology 2012
  • 26.
    Diffusion™  +  Waratek   Tenant #1 Tenant #2 Tenant #N (Diffusion) (Diffusion) (Diffusion) Push Technology Diffusion Waratek Cloud VM for Java Benefits •  High  density  deployments   •  Elas5c.  scalable  on  demand   •  Meterability:  Bandwidth  and  compute  u7liza7on   •  Mul5-­‐tenant.  Each  tenant  fully  isolated   Copyright Push Technology 2012
  • 27.
    Diffusion™  +  Waratek   Operations:> Tenants :> Gaming Live Internet Apps Finance QA + Dev + UAT … one box to host them all! Copyright Push Technology 2012
  • 28.
    Diffusion™  +  Waratek  in  the   Cloud?   Tenant #1 Tenant #2 Tenant #N Tenant #1 Tenant #2 Tenant #N Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) (Diffusion) (Diffusion) (Diffusion) Push (Diffusion) Diffusion Technology (Diffusion) (Diffusion) Push Technology Diffusion Tenant #1 Tenant #2 Tenant #N Push Technology Diffusion Tenant #1 Tenant #2 Tenant #N Push Technology Diffusion Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Push Technology Diffusion Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Push Technology Diffusion Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Push Technology Diffusion Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Push Technology Diffusion Waratek Cloud VM for Java Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Waratek Cloud VM for Java Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Waratek Cloud VM for Java (Diffusion) (Diffusion) (Diffusion) Waratek Cloud VM for Java (Diffusion) (Diffusion) Push (Diffusion) Diffusion Technology Waratek Cloud VM for Java Push Technology Diffusion Waratek Cloud VM for Java Push Technology Diffusion Waratek Cloud VM for Java Push Technology Diffusion Waratek Cloud VM for Java Push Technology Diffusion Push Technology Diffusion Push Technology Diffusion Push Technology Diffusion Waratek Cloud VM for Java Waratek Cloud VM for Java Waratek Cloud VM for Java Waratek Cloud VM for Java Waratek Cloud VM for Java Waratek Cloud VM for Java Waratek Cloud VM for Java Waratek Cloud VM for Java Tenant #1 Tenant #2 Tenant #N Tenant #1 Tenant #2 Tenant #N Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) Tenant #1(Diffusion) Tenant #2(Diffusion) Tenant #N (Diffusion) (Diffusion) (Diffusion) (Diffusion) Push (Diffusion) Diffusion Technology (Diffusion) (Diffusion) Push Technology Diffusion Push Technology Diffusion Push Technology Diffusion Push Technology Diffusion Push Technology Diffusion Push Technology Diffusion Push Technology Diffusion Waratek Cloud VM for Java Waratek Cloud VM for Java Waratek Cloud VM for Java Waratek Cloud VM for Java Waratek Cloud VM for Java Waratek Cloud VM for Java Waratek Cloud VM for Java Waratek Cloud VM for Java … any box, any cloud, anywhere! Copyright Push Technology 2012
  • 29.
    Thank You ! Test Drive the Waratek Cloud VM for Java TODAY! www.waratek.com © Copyright 2012