zulu by azul openjdk for azure · azul’s evolution in java context year azul java milestone 1996...
TRANSCRIPT
©2013 Azul Systems, Inc.
Zulu by AzulOpenJDK for Azure
surely a tongue-twister in any spoken language
Matt Schuetze, Director of Product Management Azul Systems
A presentation to Azure CEE – Open Source in the CloudNovember 27, 2013
©2013 Azul Systems, Inc.
This Talk’s Purpose / Goals
This talk is focused on Java for Azure
This is not a “how to write a Java program” talk
This is a talk about how Java fits into the Azure landscape and
why Zulu by Azul plays a big role.
Purpose: Once you understand where Java fits, you’ll know just
enough to be dangerous...
The “Azul makes the world’s greatest JVMs” stuff will only come
at the end, I promise...
©2013 Azul Systems, Inc.
About Azul SystemsWe deal with Java performance issues on a daily basis
Our solutions focus on consistent response time under load
We enable practical, full use of hardware resources
As a result, we often help characterize problems
In many/most cases, it’s not the database, app, or network - it’s the JVM, or the system under it…
GC Pauses, OS or Virtualization “hiccups”, swapping, etc.
We use and provide simple tools to help discover what’s
going on in a JVM and the underlying platform
Focus on measuring JVM/Platform behavior with your app
©2013 Azul Systems, Inc.
About Azul
We make scalable Virtual
Machines
Have built “whatever it takes to get
job done” since 2002
3 generations of custom SMP Multi-core HW (Vega)
Now Pure software for commodity
x86 (Zing)
“Industry firsts” in Garbage collection, elastic memory, Java
virtualization, memory scale
Vega
C4
©2013 Azul Systems, Inc.
High level agendaJava history, evolution, and current picture of industry
Zoom into the Java Virtual Machine, the architectural heart of Java
Zoom out, seeing where the JVM fits in the greater application universe
Focus back in on Azure and pick apart why Java on Azure isn’t so weird as it initially sounds.
Introduce and describe Zulu, a new OpenJDK distribution offered by Azul Systems
©2013 Azul Systems, Inc.
Azul’s Evolution in Java ContextYear Azul Java Milestone
1996 Sun ships Java 1.0. Codename “Oak”.
1999 Sun builds Java 1.2 w/ Swing and Browser plugin. First use of HotSpot as trade name of JVM. So huge Marketing names it “Java 2”, split as J2SE, J2EE, and J2ME
2002 Founded J2EE called best platform for web. J2SE 4.x solid for server apps, 1st 64-bit VM. BEA acquires Appeal, the JRockit VM creators.
2005 Vega J2 Version 5, Codename “Tiger”, is huge. BEA WebLogic 8.1 hot. “IBM J9” VM replaces “IBM Classic” VM under WebSphere 6.1
2007 Oracle acquires BEA. JRockit VM kept intact over Oracle VM.
2010 Zing VE Oracle acquires Sun. Java and Sparc kept intact. JRockit pushed for specialty workloads only.
2011 Zing LX Oracle ships JSE 7. OpenJDK becomes base codeline for JSE7.0. IBM ships WAS 8.0 on J9 JDK6. Zing 5 released.
2013 Zing PE IBM ships WAS 8.5 and it can be configured to use J9 JDK7. OpenJDK 7 is released. IcedTea 6 is released. JRockit revived.
2013 Zulu on Azure
OpenJDK 8 is nearing developer preview now with 2014 Q2 release target. Source will be foundation of Oracle’s JSE 8.
©2013 Azul Systems, Inc.
Founded 2002
First hardware product (Vega): 2005
First virtualized software-only product (Zing): 2010
First fully native-mode software product (Zing 5): 2011
First bundled WebSphere solution (Zing PE): 2013
First free open source Zulu product for Windows Server: 2013
Azul’s Evolution Explained
©2013 Azul Systems, Inc.
Six Dimension of Java
Java Virtual Machine
Platforms
LifeCycle
©2013 Azul Systems, Inc.
Runtime Instance
Code Transformation
Java Virtual Machine
MachineAssembly
01010110
*.java
*.class
Author Source
Compile to
Bytecode
Load Link
Initialize
JIT CompileExecute
Monitor
ReJIT
*.jar
Consume APIs
Code
Transformation
©2013 Azul Systems, Inc.
Simplified Java Life CycleBusiness
Requirements
As Inputs
Dev
QA
Prod
IDEs: Eclipse, NetBeans, IntelliJPlatforms: Desktop, LaptopTools: JUnit, Ant, Maven,Profilers, Debuggers, Emulators
Tools: JUnit, JMeter, Grinder,Platforms: Servers, MobileVirtualization
Tools: Profilers, JMX monitors,DeployersPlatforms: Servers, Mobile, Clusters, Cloud, Grids, Virtualization
Business provides team with requirements.
Developers author Java source code on laptops, pull in 3rd party
frameworks or APIs. Commit code to repository where builds
compiled, JAR/WAR, and data components integrated, and QA
testers validate full server application. Upon passing all tests, Ops
staff push JARs to final server and client targets.
Working
Applications
As Outputs
©2013 Azul Systems, Inc.
Java Editions
Java Virtual Machine
Standard Edition
Micro Edition
EnterpriseEdition
JVM, JDK, APILanguage StandardRuntime Standard
Same LanguageCutdown APITailored JVM RuntimeTiny Footprint
Includes JSEStandard Services:JMS, JDBC, EJB,
Servlet, JNDI
©2013 Azul Systems, Inc.
Java VM Platforms
Java Virtual Machine
Platforms
Bytecode Ensures Architecture NeutralityChip Architectures
Intel x86Intel/AMD x64
IBM Power
HP PA-RISCARM
Sparc
Itanium
Operating Systems
LinuxWindows
Solaris
HPUXAIX
zOS
Mac OS/XAndroid
Plus more… Plus more…
©2013 Azul Systems, Inc.
Active Java/JVM Vendors
Java Virtual Machine
Key Vendorsand their JVMs
+8 others on
Azul Systems,
IBM, Red HatOracle
Arm Ltd., Eclipse
Foundation, HP,
Intel, Nokia, SAP,
Software AG
JCP Executive
Committee
Perm JCP EC member.Retains Brand, Trademarks andmany Copyrights
Oracle Hotspot
Oracle JRockit
Azul ZingAzul ZuluIBM J9
Red Hat IcedTea
Google Dalvik
EC and JCK Licensees
©2013 Azul Systems, Inc.
Types of JVMs
Java Virtual Machine
JRockit
Azul Zing
HotspotIBM J9
OpenJDK
Azul Zulu
IcedTea
Free, Open
Source, GPL Semi-Free,
Closed Source,Restrictions
Commercial,
Closed
Source,
Licensed
©2013 Azul Systems, Inc.
What to do with a Java workload when you are a Microsoft cloud worker?
Simple: Deploy Zulu on Azure
©2013 Azul Systems, Inc.
Zulu Deployment Targets*
Bare OS
Windows
server
Virtualization
VMWare
HyperV
Cloud
Azure
Choice of Java 6, 7, and 8, each JSE compatibleChoice of 64 and 32 bit JVMs on applicable OSChoice of Deployment Model:
* 32 bit and Java 8 next up on roadmap
©2013 Azul Systems, Inc.
Zulu Release TimelineSun
JDK5
Oracle
JDK6
Open
JDK 7
Iced
Tea6
Oracle
JDK7
Zulu 7
Open
JDK 8
Oracle
JDK 8
Open
JDK6
Zulu 6 Zulu 8
Zulu 7.0
Sept 2013
Zulu 7.1
Oct 2013
Zulu 7.2
Nov. 2013
Zulu 8
Spring 2014
©2013 Azul Systems, Inc.
Azure Eclipse Workbench
Eclipse IDE/
Workbench tailored for Java
on Azure
©2013 Azul Systems, Inc.
Deploying Zulu
Create Azure VM
Deploy a JDK
Select current Zulu
©2013 Azul Systems, Inc.
Zulu Product ComparisonAzulZulu
OracleHotSpot
Red HatIced Tea
Full HotSpot compatibility 4 4 4
Support for Azure 4 4 0
Support for Windows servers & Hyper-V
4 2 0
Browser plugins 0 4 0
Dedicated JVM customer support 4 4 0
Out-of-release-cycle Bug Fix Delivery 4 2 0
Company 100% focused on Java 4 1 0
JVM certification program for ISVs 4 4 1
Upgrade path to additional features (trade-up option)
4 1 0
Community participation (JCP EC) 4 4 4
©2013 Azul Systems, Inc.
Homework AssignmentDeploy a Windows Server VM on Azure. Select 2012.
Configure Azul Zulu as choice of JDK. Select 1.7u40.
Download DaCapo Benchmark Suite (jar file) into VM.
http://sourceforge.net/projects/dacapobench/files/
Run DaCapo test:
java.exe -jar -Xmx1024m ./dacapo-9.12-bach.jar --iterations 20 --no-pre-iteration-gc tradebeans
©2013 Azul Systems, Inc.
ConclusionZulu gives Azure deployers a solid, dependable Java
runtime.
Zulu gives Java developers a boost on Windows, leveraging OpenJDK, expanding alternatives.
Through Zulu and Zing, Azul gives application developers worldwide flexible, robust, and trusted Java server capability.
Consider Azul as defactor provider of server JVMs.
©2013 Azul Systems, Inc.
Q & AZulu by Azul: http://www.azulsystems.com/products/zulu
Microsoft OpenTech:http://msopentech.com search “zulu”
jHiccup:
http://www.azulsystems.com/downloads/jhiccup
For any follow-up, contact Matt:[email protected]