Zulu by Azul: OpenJDK for Azure Matt Schuetze Azul Director of Product Management Houston Java User Group Houston, Texas 1 @azulsystems
This Talk s Purpose / Goals Welcome to all Houston JUG members 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... 2
About Azul Systems Zing, Zulu, and everything about Java Virtual Machines 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 C4 Vega 3
High Level Agenda Notice: we ll be laying a lot of ground work to get to the Azure parts 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
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, 1 st 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. 5
Azul s Product History Explained Rome was not built in a day, either. 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 6
Six Dimension of Java Point cuts through the Java Virtual Machine Life Cycle Java Virtual Machine Platforms 7
Code Transformation From developer s source code to a running Java process Author Source *.java Compile to Bytecode *.class Load Link Initialize JIT Compile Java Runtime Instance Machine Assembly 01010110 Execute Monitor ReJIT Consume APIs *.jar Virtual Machine 8
Simplified Java Life Cycle Real life cycle for applications involves humans, so far greater complexity 9 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 Dev QA Prod Business Requirements As Inputs Working Applications As Outputs Business provides team with requirements. Developers author Java source code on laptops, pull in 3 rd 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 One size does not fit all, but three try to fit many. Standard Edition Enterprise Edition 10 Micro Edition Same Language Cutdown API Tailored JVM Runtime Tiny Footprint Java Virtual Machine JVM, JDK, API Language Standard Runtime Standard Includes JSE Standard Services: JMS, JDBC, EJB, Servlet, JNDI
HotSpot & Java SE envelope Trivia: This figure (or one like it) is on the first page of every Java release in Oracle/Sun documentation 11
Java VM Platforms Hardware portability was foundational and existential goal in original Java VM designs Bytecode Ensures Architecture Neutrality Chip Architectures Intel x86 Intel/AMD x64 IBM Power HP PA-RISC ARM Sparc Itanium Java Virtual Machine Operating Systems Linux Windows Solaris HPUX AIX zos Mac OS/X Android Plus more Plus more 12
Active Java/JVM Vendors Commercially relevant organizations driving Java forward globally 13 Oracle Perm JCP EC member. Retains Brand, Trademarks and many Copyrights Oracle Hotspot Oracle JRockit Azul Systems, IBM, Red Hat EC and TCK 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 Penalty Box ^Google Dalvik
Types of JVMs A JVM ships in a package (JDK or JRE) and that binary package is what is licensed 14 OpenJDK Azul Zulu IcedTea Free, Open Source, GPL HotSpot IBM J9 Java Virtual Machine Semi-Free, Closed Source, Restrictions JRockit Azul Zing Commercial, Closed Source, Licensed
Middleware on the JVM Ultimately it is the applications that matter. That s what your users feel and see. 15
Deployment Putting the Zulu runtime to good use in a real Java application 16
Computing Services Models The choice of who provides parts of your software stack is open ground. Applications Applications Applications Applications Data Data Data Data Runtime << Runtime Zulu Runtime >> Runtime Middleware Middleware Middleware Middleware OS OS OS OS Virtualization Virtualization Virtualization Virtualization Servers Servers Servers Servers Storage Storage Storage a. b. c. d. Networking Networking Networking Storage Networking 17 OnPrem IaaS PaaS SaaS
On Premise This is the general use this software case. Install and go. a. Use native packaging to install Zulu like any other download:.msi.rpm.deb.dmg or just use a Zip file. Virtualization also encouraged: 18
IaaS Using Azure Azure provides a choice of OS to setup a VM. After that, adding anything else is up to you. b. 19
Web Platform Installer WebPI is simple way to fetch and install current Zulu in one step. Works on regular Windows too. b. 20
Azure Eclipse Workbench Microsoft Open Tech s purpose-built toolchain for Java development on Azure. b. Eclipse IDE/ Workbench tailored for Java on Azure 21
Azure SDK Integrated Zulu Compose a Java application using Zulu, a choice of server/container, and integrated Azure security and roles b. Create Azure VM Deploy a JDK Select current Zulu 22
PaaS Azure Marketplace Azure provides everything but your application and data. Zulu and other goodies installed and ready. c. search on zulu find two Zulu VM templates 23
SaaS on Azure Beyond the JVM is the realm of Azul partners d. 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) 24
Java on Azure Now that you are on Azure, no matter which computing context, you ve got help 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 25
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 26
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. 27
Compulsory Marketing Pitch 28
Azul Hot Topics Zing 15.05 imminent 1TB heap ReadyNow! JMX Oracle Linux Zing for Cloud Amazon AMIs Rackspace OnMetal compat Docker in R&D 29 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
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. @schuetzematt azul.com 30