Waratek's 'JVM manifesto' sets out features needed to retrofit Java runtime for the cloud
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
Waratek's 'JVM manifesto' sets out features needed to retrofit Java runtime for the cloud Analyst: John Abbott 18 Apr, 2013 Waratek, the Dublin-based software house that's focused on tuning up Java for multi-tenancy operation, has been talking about its wider plans for the language and its runtime environment, the Java Virtual Machine. The company has compiled a 10-point JVM Manifesto of features that it believes are essential to update Java for as-a-service use cases, including cloud platforms from service providers or from enterprises looking to leverage their existing Java applications in both private, public and hybrid cloud scenarios. And since we last spoke to the company in October 2012, Waratek has also launched a new product – Elasticat for Apache Tomcat – and announced a new partnerships with Java analysis-tool vendor JClarity. The 451 Take The Java runtime environment is separate from the language itself, and over the years, it has accumulated an unequaled set of libraries from multiple commercial and open source contributors. Other languages, including Ruby and Python, are now being plugged into the JVM. So while new languages are emerging and gaining popularity, the JVM could keep its relevance for many years to come. So it's even more essential that the runtime itself be updated to reflect the requirements of cloud computing. If that can't be done at Oracle or through the standards initiatives, then independent vendors such as Waratek are likely to take up the challenge. The promise of live migration for JVMs as a lightweight alternative to VMotion is particularly intriguing. Copyright 2013 - The 451 Group 1
Context Waratek, which began life in Australia back in 2004, has three primary targets as customers for its Cloud VM for Java product, a multi-tenant JVM. They are: large enterprises running lots of Java applications (such as JBoss, Tomcat, Oracle's WebLogic and IBM's WebSphere); service providers, which require more density, elasticity and control over their infrastructure; and SaaS ISVs that might integrate and embed the technology to make their offerings more competitive. The primary advantages it pushes are application density, scalability and elasticity, the benefits of virtualization and isolation, and reduced licensing costs, which combined can provide between five- and 10-times cost savings over alternatives, the company claims. Details We have discussed the technology behind Waratek's Cloud VM for Java in some detail, but essentially it's a multi-tenant virtual container architecture built inside the JVM itself. That means a single JVM can host multiple Java applications. For instance, up to 64 instances of the JBoss application server can be run on a single JVM, or older Java applications can be run alongside newer ones. In fact, it's virtualization for the JVM, and like server virtualization, it makes better use of typically underutilized resources, adding elasticity and highly granular isolation while cutting down on resource overheads. And because everything is written in Java, it's all extensible, so that containers can be tailored and optimized for specific applications. Now Waratek has issued its JVM Manifesto, which serves as something of a road map for the technology. In fact, of the 10 points on the list, it's already covered seven of them. Let's look at those first before getting onto the three new items. ❍ First and foremost, as we've already pointed out, is multi-tenancy. Running up to 64 Java workloads on top of a single JVM will require much less memory and compute resources than setting up and running the same number of distinct JVMs, each with their own OS infrastructure, compiler and garbage collection overheads. ❍ Second is elasticity, a property that comes out of the increased granularity of the containers. Resource allocation can be done in real time, whereas applications on traditional JVMs have to be allocated a fixed, dedicated resource with enough overhead for emergencies. That can free up even more memory. Copyright 2013 - The 451 Group 2
❍ Third is isolation, so that applications that crash or try to hog all of the resources can't affect the others. ❍ Fourth is resource control, where the configuration of CPU priorities, memory limits and bandwidth quotas (among other criteria) can be set so that applications can get access to resources when they need them. ❍ Fine-grained metering is number five, measuring application usage in GHz/hour for CPU resource usage and GB/h for application memory usage, which could be used as the basis for chargeback by application. ❍ Six is virtualized application platforms, where servlet containers are preconfigured with an off-the-shelf application platform such as Apache Tomcat, JBoss or WebLogic, increasing the number of applications that can be run per server. Waratek's new Elasticat product for Tomcat is the first example. Tomcat applications gain all the attributes outlined above with no code changes, and can also be uploaded onto Amazon Web Services for instant 'cloud enablement.' ❍ Finally, in the already covered section, is an open API. The Java Virtualization Interface provided by Waratek is intended for developers that want to build custom JVM profiles and custom virtualization features for their own apps. Roadmap Three items on the list haven't yet made it into Waratek's feature/product lineup. They are an indication both of the company's future direction and more generally of the kind of features Java application users might be looking for over the longer term. Live-sleep/ live hibernate is an intriguing new take on turning off resources when they aren't being used. That concept hasn't been widely taken up at the server level, despite being offered as a feature by a number of power management software houses. Datacenter operators simply don't believe it can be done without compromising availability and performance. But could it be done at the JVM level? The idea is to send live server applications running within the JVM to sleep without losing memory state. That would compress live server applications down to a zero memory footprint until they were required, on demand. Waratek believes they could be resumed instantaneously. The benefit would depend on how heavily the application portfolio is being used, but it's not uncommon for up to 70% of applications on a system to be idle at any one time. Copyright 2013 - The 451 Group 3
A related feature to this is next on the list: live migration. We're talking here about 'JMotion,' or the ability to live-migrate workloads in the manner of VMware's VMotion, one of the most compelling features of virtualization to emerge over the past five years. Virtualized Java applications could be moved from one server to another with preserved memory and execution state. But the key difference is the ultra lightweight nature of this approach, which doesn't require the whole operating system to be moved along with the workload, as vMotion does. All that is moved is the Java Virtual Container, neither the OS nor the JVM needs to be transferred across. VMotion can't really be considered 'live' migration at all, due to the time taken to move large workloads from one location to another. JMotion could be close to instantaneous. We believe that this feature could turn out to be a winner with Java ISVs that are looking to extend their products into the cloud. The final new item on the list is Java Virtual Appliances, the ability to package complex software stacks by assembling everything as a turnkey virtual appliance, the equivalent of the OVF open virtual format The advantages here are the avoidance of 'jar-file hell' conflicts, the simplification of installation and configuration, and lower maintenance costs. Waratek isn't saying when these features will make it into their product lineup. But one addition that will be integrated into the next generation of CloudVM for Java will be analysis tools derived from new partner JClarity. The first of JClarity's tools, Censum, was launched at the end of last year and helps customers locate and fix performance problems associated with Java's garbage-collection mechanism, a major cause of system delays. Competition We haven't found a direct equivalent to what Waratek is doing, but it's clearly on the mind of the Java community, including Java custodian Oracle, which is promising multi-tenancy features for Java EE 8 and SE 9 – although that's not due until some time in 2015, so far as we can tell. In its pre-Oracle days, Sun Microsystems was addressing multitasking virtual machine issues through Project Barcelona. IBM has spoken at conferences about extending its J9 JVM to host multiple applications. The Athena Framework supports native multi-tenancy, and the Java Runtime Environment White List details specific Java language features and classes that can be safely used in multi-tenant deployments. Other ongoing efforts within the Java Community Process include JSR 121 (application isolation) and JSR 284 (resource consumption management). Java-related PaaS cloud application engines on the market include Google App Engine, Amazon Web Copyright 2013 - The 451 Group 4
Services' Elastic Beanstalk, CloudBees Platform Architecture, the Jelastic Java Cloud Platform and WSO2's Stratos, though these all approach the multi-tenancy problem in their own individual way. Other small companies focused on extending the Java platform for cloud and addressing performance and scalability problems include Azul Systems (optimized Java collection and support for large heap sizes), Hazelcast (clustering and distributed caching) and ZeroTurnaround (coding-efficiency tools). SWOT Analysis Strengths Weaknesses Waratek currently has some unique technology and Establishing standards in the Java world – mainly addresses a clear pain point in the Java world without through the Java Community Process – has always requiring any changes to the application code. It been something of a long and arduous process. applies to languages other than Java, including Ruby Waratek will need partnerships and community and Python. support to push it through. Opportunities Threats There's a huge installed base of Java applications – it's Oracle owns Java and talks about its own still the most important enterprise and e-commerce approaches to multi-tenancy at the OS and language, in use at 80% of the top corporations. The middleware (WebLogic) layers. It's unclear at this Java platform needs to be extended toward the cloud stage whether Oracle will turn out to be a partner to remain relevant. or competitor to Waratek. Copyright 2013 - The 451 Group 5
Reproduced by permission of The 451 Group; © 2013. This report was originally published within 451 Research’s Market Insight Service. For additional information on 451 Research or to apply for trial access, go to: www.451research.com Copyright 2013 - The 451 Group 6
You can also read