© Copyright Azul Systems 2015
© Copyright Azul Systems 2015
@azulsystems
Zulu by Azul:
OpenJDK for Azure
Matt Schuetze
Azul Director of Product Management
4/30/2015 1
Houston Java User Group
Houston, Texas
© Copyright Azul Systems 2015
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 Zulu 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...
4/30/2015 2
Welcome to all Houston JUG members
© Copyright Azul Systems 2015
About Azul Systems
Vega
C4
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)
Certified OpenJDK (Zulu)
Known for Low Latency, Consistent execution, and Large data set excellence
Zing, Zulu, and everything about Java Virtual Machines
4/30/2015 3
© Copyright Azul Systems 2015
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
4/30/2015 4
Notice: we’ll be laying a lot of ground work to get to the Azure parts
© Copyright Azul Systems 2015
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. “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 OpenJDK 8 will be foundation of Oracle’s JSE 8.
2014 Zulu Ent OpenJDK 8 released in March. Zulu8 beats IcedTea and J9 to market.
4/30/2015 5
© Copyright Azul Systems 2015
Azul’s Product History 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 Microsoft
Azure VMs running Windows Server: 2013
Zulu Enterprise for Windows, Linux, Mac: 2014
Zulu Embedded: 2015
4/30/2015 6
Rome was not built in a day, either.
© Copyright Azul Systems 2015
Six Dimension of Java
Java Virtual
Machine
Platforms
Life Cycle
4/30/2015 7
Point cuts through the Java Virtual Machine
© Copyright Azul Systems 2015
Runtime Instance
Code Transformation
Java Virtual
Machine
Machine Assembly 01010110
*.java
*.class
Author Source
Compile to Bytecode
Load Link Initialize
JIT Compile Execute Monitor ReJIT
*.jar
Consume APIs
4/30/2015 8
From developer’s source code to a running Java process
© Copyright Azul Systems 2015
Simplified Java Life Cycle
Business Requirements
As Inputs
Dev
QA
Prod
IDEs: Eclipse, NetBeans, IntelliJ Platforms: Desktop, Laptop Tools: JUnit, Ant, Maven, Profilers, Debuggers, Emulators
Tools: JUnit, JMeter, Grinder Platforms: Servers, Mobile Virtualization
Tools: Profilers, JMX monitors, deployers Platforms: 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 4/30/2015 9
Real life cycle for applications involves humans, so far greater complexity
© Copyright Azul Systems 2015
Java Editions
Java Virtual
Machine
Standard Edition
Micro Edition
Enterprise Edition
JVM, JDK, API
Language Standard
Runtime Standard
Same Language
Cutdown API
Tailored JVM Runtime
Tiny Footprint
Includes JSE
Standard Services:
JMS, JDBC, EJB,
Servlet, JNDI
4/30/2015 10
One size does not fit all, but three try to fit many.
© Copyright Azul Systems 2015
HotSpot & Java SE envelope
4/30/2015 11
Trivia: This figure (or one like it) is on the first page of every Java release in Oracle/Sun documentation
© Copyright Azul Systems 2015
Java VM Platforms
Java Virtual
Machine
Bytecode Ensures Architecture Neutrality
Chip Architectures
Intel x86
Intel/AMD x64
IBM Power
HP PA-RISC
ARM
Sparc
Itanium
Operating Systems
Linux
Windows
Solaris
HPUX
AIX
zOS
Mac OS/X
Android
Plus more… Plus more… 4/30/2015 12
Hardware portability was foundational and existential goal in original Java VM designs
© Copyright Azul Systems 2015
Active Java/JVM Vendors
Java Virtual
Machine
+8 others on
Azul Systems,
IBM, Red Hat
Oracle
Arm Ltd., Eclipse Foundation, HP,
Intel, Nokia, SAP, Software AG
JCP Executive Committee
Perm JCP EC member. Retains Brand, Trademarks and many Copyrights
Oracle Hotspot Oracle JRockit
Azul Zing Azul Zulu IBM J9
Red Hat IcedTea
^Google Dalvik
EC and TCK Licensees
4/30/2015 13
Commercially relevant organizations driving Java forward globally
Penalty Box
© Copyright Azul Systems 2015
Types of JVMs
Java Virtual
Machine
JRockit
Azul Zing
HotSpot
IBM J9 OpenJDK
Azul Zulu
IcedTea
Free, Open Source, GPL
Semi-Free, Closed Source,
Restrictions
Commercial, Closed Source,
Licensed
4/30/2015 14
A JVM ships in a package (JDK or JRE) and that binary package is what is licensed
© Copyright Azul Systems 2015
Middleware on the JVM
4/30/2015 15
Ultimately it is the applications that matter. That’s what your users feel and see.
© Copyright Azul Systems 2015
Deployment
Putting the Zulu runtime to good use in a real Java application
4/30/2015 16
© Copyright Azul Systems 2015
Computing Services Models
4/30/2015 17
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
OnPrem IaaS PaaS SaaS
Zulu << >>
The choice of who provides parts of your software stack is open ground.
a. b. c. d.
© Copyright Azul Systems 2015
On Premise
Use native packaging to install Zulu like any other download:
4/30/2015 18
.msi .rpm .deb .dmg
Virtualization also encouraged:
or just use a Zip file.
This is the general “use this software” case. Install and go. a.
© Copyright Azul Systems 2015
IaaS Using Azure
4/30/2015 19
Azure provides a choice of OS to setup a VM. After that, adding anything else is up to you. b.
© Copyright Azul Systems 2015
Web Platform Installer
4/30/2015 20
WebPI is simple way to fetch and install current Zulu in one step. Works on regular Windows too. b.
© Copyright Azul Systems 2015
Azure Eclipse Workbench
Eclipse IDE/
Workbench
tailored for
Java on
Azure
4/30/2015 21
Microsoft Open Tech’s purpose-built toolchain for Java development on Azure. b.
© Copyright Azul Systems 2015
Azure SDK Integrated Zulu
Create Azure VM
Deploy a JDK
Select current Zulu
4/30/2015 22
Compose a Java application using Zulu, a choice of server/container, and integrated Azure security and roles b.
© Copyright Azul Systems 2015
PaaS Azure Marketplace
4/30/2015 23
search on “zulu”
find two Zulu VM templates
Azure provides everything but your application and data. Zulu and other goodies installed and ready. c.
© Copyright Azul Systems 2015
SaaS on Azure
Microsoft partners working on SaaS offerings using Zulu as
Java runtime
– Hadoop by Hortonworks
– IBMs Liberty WAS Profile
Microsoft Open Tech actively promoting Zulu for their Java
efforts. Search opentech for “Java” for list. – https://msopentech.com/?s=java
Azul partner ecosystem rich and growing
– We welcome any SaaS deployments on Zulu and on Zing
– Many SaaS operators often choose Zing for powerhouse
infrastructure
– Crossover into other providers (ie. AWS and Rackspace)
4/30/2015 24
Beyond the JVM is the realm of Azul partners d.
© Copyright Azul Systems 2015
Java on Azure
Java connectors to Azure web services
– Access Control, Blob Service , Media Services, Queue Services, Service Bus Queues, SQL Database and Table Service
Build facilities to use Azure for dev use cases
– Jenkins, Hudson, Ant, Application Insights, JetBrains TeamCity
Additional Site construction choices
– Tomcat, Jetty, Typesafe Play framework
Great resources on the Azure Blog. Just search “java” – http://azure.microsoft.com/blog/?s=java
4/30/2015 25
Now that you are on Azure, no matter which computing context, you’ve got help
© Copyright Azul Systems 2015
Review Zulu Comparison Azul Zulu
Oracle HotSpot
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) 4 4 4
4/30/2015 26
© Copyright Azul Systems 2015
Conclusion
Zulu gives Azure deployers a solid, dependable
Java runtime.
Zulu gives Java developers a huge boost on
Windows, leveraging OpenJDK, expanding
alternatives.
Through Zulu and Zing, Azul gives application
developers worldwide the flexible, robust, and
trusted Java server capability they need.
Consider Azul as de facto provider of server
JVMs.
4/30/2015 27
© Copyright Azul Systems 2015
Compulsory Marketing Pitch
4/30/2015 28
© Copyright Azul Systems 2015
Azul Hot Topics
4/30/2015 29
Zing 15.05 imminent
1TB heap
ReadyNow!
JMX
Oracle Linux
Zing for Cloud
Amazon AMIs
Rackspace
OnMetal compat
Docker in R&D
Zing for Big Data
Cloudera CDH5 cert
Cassandra paper
Spark is in Zing open
source program
Zulu
Azure Gallery
8u45 in the chute
So is 7u79 & 7u80
JSE Embedded
© Copyright Azul Systems 2015
Q&A and In Closing…
Go get some Zulu today!
Boot an Azure VM and dip a toe.
Perhaps look at Zing.
Grab a Zing Free Trial card.
azul.com
4/30/2015 30
@schuetzematt