Zulu by Azul
OpenJDK for Azure
surely a tongue-twister in any spoken language
A presentation to Azure CEE – Open Source in the Cloud
November 27, 2013
Matt Schuetze, Director of Product Management
Azul Systems
©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 Systems
We 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
Vega

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
©2013 Azul Systems, Inc.

C4
High level agenda
Java 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 Context
Year

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

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
©2013 Azul Systems, Inc.

Zing VE

Zulu on
Azure

OpenJDK 8 is nearing developer preview now with 2014 Q2 release target. Source
will be foundation of Oracle’s JSE 8.
Azul’s Evolution Explained
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
©2013 Azul Systems, Inc.
Six Dimension of Java
Life
Cycle
Java Virtual
Machine

Platforms
©2013 Azul Systems, Inc.
Code Transformation
Author Source
*.java

Compile to
Bytecode

Load Link
Initialize
JIT Compile

*.class

Java Virtual
Machine

Consume APIs

Runtime Instance
Machine
Assembly
01010110

Execute
Monitor
ReJIT

*.jar

©2013 Azul Systems, Inc.

Code
Transformation
Simplified Java Life Cycle
Business
Requirements
As Inputs

IDEs: Eclipse, NetBeans, IntelliJ
Platforms: Desktop, Laptop
Tools: JUnit, Ant, Maven,
Profilers, Debuggers, Emulators

Dev

Tools: JUnit, JMeter, Grinder,
Platforms: Servers, Mobile
Virtualization

QA

Tools: Profilers, JMX monitors,
Deployers
Platforms: Servers, Mobile,
Clusters, Cloud, Grids,
Virtualization
©2013 Azul Systems, Inc.

Prod

Working
Applications
As Outputs

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.
Java Editions
Standard Edition
Micro Edition

Same Language
Cutdown API
Tailored JVM Runtime
Tiny Footprint
©2013 Azul Systems, Inc.

Java Virtual
Machine
JVM, JDK, API
Language Standard
Runtime Standard

Enterprise
Edition
Includes JSE
Standard Services:
JMS, JDBC, EJB,
Servlet, JNDI
Java VM Platforms
Bytecode Ensures Architecture Neutrality
Chip Architectures
Intel x86
Intel/AMD x64
IBM Power
HP PA-RISC
ARM
Sparc
Itanium
Plus more…
©2013 Azul Systems, Inc.

Java Virtual
Machine

Platforms

Operating Systems
Linux
Windows
Solaris
HPUX
AIX
zOS
Mac OS/X
Android
Plus more…
Active Java/JVM Vendors
Oracle
Perm JCP EC member.
Retains Brand,
Trademarks and
many Copyrights

Oracle Hotspot
Oracle JRockit
©2013 Azul Systems, Inc.

Azul Systems,
IBM, Red Hat
EC and JCK Licensees

Java Virtual
Machine
Azul Zing
Azul Zulu
IBM J9
Red Hat IcedTea

Arm Ltd., Eclipse
Foundation, HP,
Intel, Nokia, SAP,
Software AG
+8 others on
JCP Executive
Committee

Google Dalvik

Key Vendors
and their JVMs
Types of JVMs
OpenJDK
Azul Zulu
IcedTea

Hotspot
IBM J9
Java Virtual
Machine

Free, Open
Source, GPL

©2013 Azul Systems, Inc.

Semi-Free,
Closed Source,
Restrictions

JRockit
Azul Zing
Commercial,
Closed
Source,
Licensed
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*
Choice of Java 6, 7, and 8, each JSE compatible
Choice of 64 and 32 bit JVMs on applicable OS
Choice of Deployment Model:

Bare OS
Windows

server
©2013 Azul Systems, Inc.

Virtualization
VMWare
HyperV

Cloud
Azure

* 32 bit and Java 8 next up on roadmap
Zulu Release Timeline
Sun
JDK5
Open
JDK6

Oracle
JDK6

Open
JDK 7

Oracle
JDK7

Oracle
JDK 8

Iced
Tea6
Zulu 6

Zulu 7.0
Sept 2013
©2013 Azul Systems, Inc.

Open
JDK 8

Zulu 7.1
Oct 2013

Zulu 7

Zulu 7.2
Nov. 2013

Zulu 8

Zulu 8
Spring 2014
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 Comparison
Azul
Zulu

Red Hat
Iced 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)
©2013 Azul Systems, Inc.

Oracle
HotSpot

4

4

4
Homework Assignment
Deploy 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.
Conclusion
Zulu 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&A

For any follow-up, contact Matt:
mschuetze@azulsystems.com

Zulu by Azul:
http://www.azulsystems.com/products/zulu
Microsoft OpenTech:
http://msopentech.com search “zulu”
jHiccup:
http://www.azulsystems.com/downloads/jhiccup
©2013 Azul Systems, Inc.

Azul Zulu on Azure Overview -- OpenTech CEE Workshop, Warsaw, Poland

  • 1.
    Zulu by Azul OpenJDKfor Azure surely a tongue-twister in any spoken language A presentation to Azure CEE – Open Source in the Cloud November 27, 2013 Matt Schuetze, Director of Product Management Azul Systems ©2013 Azul Systems, Inc.
  • 2.
    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.
  • 3.
    About Azul Systems Wedeal 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.
  • 4.
    About Azul Vega We makescalable 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 ©2013 Azul Systems, Inc. C4
  • 5.
    High level agenda Javahistory, 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.
  • 6.
    Azul’s Evolution inJava Context Year 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 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 ©2013 Azul Systems, Inc. Zing VE Zulu on Azure OpenJDK 8 is nearing developer preview now with 2014 Q2 release target. Source will be foundation of Oracle’s JSE 8.
  • 7.
    Azul’s Evolution Explained Founded2002 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 ©2013 Azul Systems, Inc.
  • 8.
    Six Dimension ofJava Life Cycle Java Virtual Machine Platforms ©2013 Azul Systems, Inc.
  • 9.
    Code Transformation Author Source *.java Compileto Bytecode Load Link Initialize JIT Compile *.class Java Virtual Machine Consume APIs Runtime Instance Machine Assembly 01010110 Execute Monitor ReJIT *.jar ©2013 Azul Systems, Inc. Code Transformation
  • 10.
    Simplified Java LifeCycle Business Requirements As Inputs IDEs: Eclipse, NetBeans, IntelliJ Platforms: Desktop, Laptop Tools: JUnit, Ant, Maven, Profilers, Debuggers, Emulators Dev Tools: JUnit, JMeter, Grinder, Platforms: Servers, Mobile Virtualization QA Tools: Profilers, JMX monitors, Deployers Platforms: Servers, Mobile, Clusters, Cloud, Grids, Virtualization ©2013 Azul Systems, Inc. Prod Working Applications As Outputs 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.
  • 11.
    Java Editions Standard Edition MicroEdition Same Language Cutdown API Tailored JVM Runtime Tiny Footprint ©2013 Azul Systems, Inc. Java Virtual Machine JVM, JDK, API Language Standard Runtime Standard Enterprise Edition Includes JSE Standard Services: JMS, JDBC, EJB, Servlet, JNDI
  • 12.
    Java VM Platforms BytecodeEnsures Architecture Neutrality Chip Architectures Intel x86 Intel/AMD x64 IBM Power HP PA-RISC ARM Sparc Itanium Plus more… ©2013 Azul Systems, Inc. Java Virtual Machine Platforms Operating Systems Linux Windows Solaris HPUX AIX zOS Mac OS/X Android Plus more…
  • 13.
    Active Java/JVM Vendors Oracle PermJCP EC member. Retains Brand, Trademarks and many Copyrights Oracle Hotspot Oracle JRockit ©2013 Azul Systems, Inc. Azul Systems, IBM, Red Hat EC and JCK Licensees Java Virtual Machine Azul Zing Azul Zulu IBM J9 Red Hat IcedTea Arm Ltd., Eclipse Foundation, HP, Intel, Nokia, SAP, Software AG +8 others on JCP Executive Committee Google Dalvik Key Vendors and their JVMs
  • 14.
    Types of JVMs OpenJDK AzulZulu IcedTea Hotspot IBM J9 Java Virtual Machine Free, Open Source, GPL ©2013 Azul Systems, Inc. Semi-Free, Closed Source, Restrictions JRockit Azul Zing Commercial, Closed Source, Licensed
  • 15.
    What to dowith a Java workload when you are a Microsoft cloud worker? Simple: Deploy Zulu on Azure ©2013 Azul Systems, Inc.
  • 16.
    Zulu Deployment Targets* Choiceof Java 6, 7, and 8, each JSE compatible Choice of 64 and 32 bit JVMs on applicable OS Choice of Deployment Model: Bare OS Windows server ©2013 Azul Systems, Inc. Virtualization VMWare HyperV Cloud Azure * 32 bit and Java 8 next up on roadmap
  • 17.
    Zulu Release Timeline Sun JDK5 Open JDK6 Oracle JDK6 Open JDK7 Oracle JDK7 Oracle JDK 8 Iced Tea6 Zulu 6 Zulu 7.0 Sept 2013 ©2013 Azul Systems, Inc. Open JDK 8 Zulu 7.1 Oct 2013 Zulu 7 Zulu 7.2 Nov. 2013 Zulu 8 Zulu 8 Spring 2014
  • 18.
    Azure Eclipse Workbench EclipseIDE/ Workbench tailored for Java on Azure ©2013 Azul Systems, Inc.
  • 19.
    Deploying Zulu Create AzureVM Deploy a JDK Select current Zulu ©2013 Azul Systems, Inc.
  • 20.
    Zulu Product Comparison Azul Zulu RedHat Iced 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) ©2013 Azul Systems, Inc. Oracle HotSpot 4 4 4
  • 21.
    Homework Assignment Deploy aWindows 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.
  • 22.
    Conclusion Zulu gives Azuredeployers 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.
  • 23.
    Q&A For any follow-up,contact Matt: mschuetze@azulsystems.com Zulu by Azul: http://www.azulsystems.com/products/zulu Microsoft OpenTech: http://msopentech.com search “zulu” jHiccup: http://www.azulsystems.com/downloads/jhiccup ©2013 Azul Systems, Inc.