23
©2013 Azul Systems, Inc. Zulu by Azul OpenJDK 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 Cloud November 27, 2013

Zulu by Azul OpenJDK for Azure · 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

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Zulu by Azul OpenJDK for Azure · 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

©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

Page 2: Zulu by Azul OpenJDK for Azure · 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

©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...

Page 3: Zulu by Azul OpenJDK for Azure · 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

©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

Page 4: Zulu by Azul OpenJDK for Azure · 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

©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

Page 5: Zulu by Azul OpenJDK for Azure · 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

©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

Page 6: Zulu by Azul OpenJDK for Azure · 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

©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.

Page 7: Zulu by Azul OpenJDK for Azure · 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

©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

Page 8: Zulu by Azul OpenJDK for Azure · 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

©2013 Azul Systems, Inc.

Six Dimension of Java

Java Virtual Machine

Platforms

LifeCycle

Page 9: Zulu by Azul OpenJDK for Azure · 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

©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

Page 10: Zulu by Azul OpenJDK for Azure · 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

©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

Page 11: Zulu by Azul OpenJDK for Azure · 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

©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

Page 12: Zulu by Azul OpenJDK for Azure · 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

©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…

Page 13: Zulu by Azul OpenJDK for Azure · 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

©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

Page 14: Zulu by Azul OpenJDK for Azure · 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

©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

Page 15: Zulu by Azul OpenJDK for Azure · 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

©2013 Azul Systems, Inc.

What to do with a Java workload when you are a Microsoft cloud worker?

Simple: Deploy Zulu on Azure

Page 16: Zulu by Azul OpenJDK for Azure · 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

©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

Page 17: Zulu by Azul OpenJDK for Azure · 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

©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

Page 18: Zulu by Azul OpenJDK for Azure · 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

©2013 Azul Systems, Inc.

Azure Eclipse Workbench

Eclipse IDE/

Workbench tailored for Java

on Azure

Page 19: Zulu by Azul OpenJDK for Azure · 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

©2013 Azul Systems, Inc.

Deploying Zulu

Create Azure VM

Deploy a JDK

Select current Zulu

Page 20: Zulu by Azul OpenJDK for Azure · 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

©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

Page 21: Zulu by Azul OpenJDK for Azure · 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

©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

Page 22: Zulu by Azul OpenJDK for Azure · 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

©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.

Page 23: Zulu by Azul OpenJDK for Azure · 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

©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]