javaone 2015 keynote presentation
TRANSCRIPT
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
John Duimovich
IBM Distinguished Engineer
Java CTO
@jduimovich
Cask Strength Java: Aged 20 Years
Tim Vanderham
VP, Cloud Platform Services Development
@vanderham
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Cheers to Java!
2
IBM celebrates 20 years of innovation in the leading industry led programming platform! Raise a glass! To the next 20 years!
Sorry Duke, next year for you!
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
What’s driving today’s Enterprise
3
Ecosystem “innovation” and “speed to market”
Frontline Decision Making Insights are driving processes re-invention
Cloud
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Steer
Dev/Test
Deploy
Operate DevOps
Continuous
Feedback
Design Thinking
Containers
Extreme Agile
Mobile
IoT
APIs
Microservices
Tooling
Runtimes
Cloud provides developers with instant access to the APIs, services and
infrastructure they need to launch their ideas into the present.
App development today is about speed and choice
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
So, checklist
5
Performance, Scalability, Robust, Developers, Tools, Open
Auto-Scale, Management, DevOps, Application Services, Open
What about APIs, Microservices, Mobile, Analytics ?
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
APIs are essential to composable business
APIs
Well designed APIs
• Do something useful
• Hide the complexity
• Have a simple interface
• Are easy to share and reuse
• Are well documented
• Can be used both inside and
outside the company
• Can be combined with other APIs
Agency
developers
Partner
developers
Internal
developers
Remote
developers
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
APIs power the modern, digital supply chain
API
API
API
Enterprise IT team
Systems of Record
(Processes, services and data)
Reuses
Shares
API
Combines
Shares
Composes
API Enhances
External APIs
API
Consumes
API
API
Developers can share, re-use, (re)combine and deliver new capabilities quicker
Composing new capabilities using internally shared APIs and external APIs
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
API
API
Mobile users
External Mobile
development
agency
API
Using APIs to ease collaboration with external Mobile dev teams
Uses
APIs
Internal IT team
Creates
APIs Creates
Mobile apps
Uses backend
processes, services and
data
External teams can build engaging and integrated Mobile apps faster
Internal teams retain control and expose only what is required
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Mobility and Internet of Things drive new use cases, particularly around real-time contextual experience
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
APIs bring together existing systems and modern tools
Internet of Things
Mobile
Public Cloud
Social Web
Partners
Private Cloud
Back-office Processes
Analytics
Services Databases
CRM
Systems of Interaction
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
IBM Bluemix™ – The Digital Innovation Platform Build, run, scale and manage applications in the cloud
Built on a foundation of open
technology.
Developers gain
• Prototype and deploy new apps. Fast.
• Access IBM’s services, 3rd party and open source services. Instantly.
• Connect mobile apps with systems of record.
• Rapidly scale new apps and services with infrastructure services from IBM SoftLayer.
• Cloud Integration
• Security
• Internet of Things
Bluemix provides expertise and services across market leading categories: • Business Analytics
• Database
• Mobile and Web Apps
• DevOps
• Big Data
• Watson Services
www.bluemix.net
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years 12
20 years, eh ?
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years 13
IBM and Java: Happy 20th Birthday!
IBM is a long-term licensees of Java, shipping compliant Java runtimes for 20 years – Compliance, developer ecosystem, specifications, competitive runtimes and broad industry support
First IBM JDKs supported 1.1.x – Basic “Classic” port
Second Generation added (up to 1.42) – High performance Sovereign JIT, scalable garbage collectors – Security including HW acceleration – ORB (IDL, RMI) – XML (Xerces / Xalan) – Jikes RVM – a JVM written fully in Java!
Third Generation (Java 5 and up) – New Runtime– The J9 Virtual Machine and Testarossa JIT, modular, high performance – Configurable embedded runtime to high “watch to a mainframe” – Generational Type Accurate GC, Region Based GC (Balanced) – Dynamic DLLs (Shared Classes) – GPU Acceleration
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years 14
Jan '02
Jul '02
Jan '03
Jul '03
Jan '04
July '04
Jan '05
Jul '05
Jan '06
Jul '06
Jan '07
0
50
100
150
200
Thou
sand
s
IBM
pSeries
IBM
xSeries
JRockit
HP
HotSpot
Sun
HotSpt
Old fun benchmarks … over 4x in 5 years!
SPARC
Opteron
Itanium2
Power5
Opteron
Xeon
Xeon
Power6
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Java 6.0.16.4 Java 6.1.8.4 Java 7.0.9.0 Java 7.1.3.0 Java 8.0.1.0 Java 8.0.1.10. proto
1/Geometric mean of Databricks-core benchmarks time on Linux x86-64 (Haswell)
1.0X 1.53X 2.00X 2.29X 2.47X 2.76X
Java optimizations continued
Apache Spark 1.4 running Databricks, IBM JDK
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Java for Big Data: Apache Spark
• Java's deep performance optimization enabler for new platforms • Scala, Apache Spark, Apache Hadoop Big Data stack
• Optimization has delivered double digit percentage improvements • JIT feedback to language/platform designers, • New serialization optimizations
• Next Generation POWER and System Z offload exploitation • Security – microcoded crypto algorithms • RDMA – faster networking IO • CAPI/Flash – faster persistence for RDDs • FPGA – custom compression codecs • GPU – highly concurrent algorithm offloading
• Delivers 10x to 80x performance improvement in key components
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Significant Daytrader3 throughput improvements using HW Acceleration of SSL on Java 8
Linux X86-64 AIX POWER 64
ZOS System Z 64
AES Encryption
+21% +31% +41%
ECC Encryption
+267% +350% +437%
Note - Comparison is versus identical Java 8 with hardware crypto disabled.
Java 8 improvements to Java Cryptography Architecture (JCA)
Micro benchmarks focused on JCA improved by up to 22X
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Performance on Cloud
IBM Containers based on Docker 2x density, 2x faster startup
18
0
20
40
1 3 5 7 9
Tim
e (
s)
Instances
Startup Time
NoSharing
SharedClasses0
1000
2000
1 2 3 4 5 6 7 8 9 10
MB
Instances
Memory Use
Throughput 14.5% faster
Startup 17% faster
Rampup 32% faster
IBM Liberty Java 8 Bluemix improvements
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
What’s Next?
19
Polyglot Cloud
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
JavaScript (yes, I know, it’s not Java)
Node.js is a leading emerging standard for creating APIs and microservices – Key for enabling mobile, IoT and new web applications
Applications are being build with scalable APIs and microservices for Hybrid Cloud. – Our customers are driving to digital transformation and are building out from Java applications
Rapid innovation being driven by the Node.js and JavaScript communities – Java ecosystem can learn from this
Open Ecosystems enable interaction, learning, innovation! – How can the Java and Node.js communities accelerate developer innovation? – How can the Java and Node.js ecosystems drive interop, best practices?
Solve new problems facing developers – multi-language application debug, diagnostics, trace
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Microservices leveraging your existing Java environment and Node.js
Enterprise
Applications
and Big Data
Mobile, IoT, Web
Aggregation
Partners
Apps
Access
Info
Process
Interaction
API Lifecycle
+ -
Hybrid Cloud
Microservices =
APIs+ Business Logic
Java
A Hybrid Cloud Architecture for Digital Transformation
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Polyglot and Java
Polyglot and Cloud will drive our runtimes together
Our customers expect to manage each language with a common set of tools!
Interop is key – Debug, trace, diagnostics – FFI, Layout in Java 9/10
22
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Polyglot with Node.js, Express
IBM Health Center for Node.js
Common Tools for Developers – “Learn once, use many places”
23
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Ruby method profiling via Health Center
24
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Multiple Language Runtimes are Coming
Common
Components
JIT GC Monitoring
Threads
Platform ports
Diagnostics
Tool APIs
Polyglot,
Common Tools,
Interoperable,
Performance
Open Source
https://www.youtube.com/watch?v=kOnyJurioyw
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
DEMO
26
What could John do in an hour and a IBM Vice President could demo? (yeah, it’s that easy)
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Fun with words and analytics
27
Personality Insights Java Starter Application The Watson Personality Insights service uses linguistic analytics to extract a spectrum of
cognitive and social characteristics from the text data that a person generates through text
messages, tweets, posts, and more.
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
http://duimovichjavaone2015.mybluemix.net/
28
http://duimovich.blogspot.com/2012/11/packed-objects-in-java.html
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
http://duimovichjavaone2015.mybluemix.net/
29
http://mreinhold.org/blog/jigsaw-modular-images
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Analytics also has pretty pictures
30
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
API Demo
31
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Import existing WebService
Creating an API
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Set Rate Limits, Quotas, Security Policy
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Publish to Bluemix
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Custom API on Bluemix
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
http://smartbookstwitter.eu-gb.mybluemix.net/
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
Use Eclipse to direct deploy your application!
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
IBM support for Java Developers transition to the Cloud
We are coming to you! – JavaOne, Devoxx, Jfokus, meetups, User Groups, Hackathons with hands-on Workshops
We have created tools, samples, courses • Tutorials
• Sample code on
• Hands-on Labs using Cloud Services
• Courseware and certification
http://www.ibm.com/developerworks/java/cloud/development/index.html
Tools and Sample Code
Courses and Tutorials
https://developer.ibm.com/open/
Open source projects and samples
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
@vanderham @jduimovich
#bluemix -- #ibmcloud
#javaone