40
@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

IBM JavaOne Community Keynote 2015: Cask Strength Java Aged 20 years

Embed Size (px)

Citation preview

Page 1: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

John DuimovichIBM Distinguished EngineerJava CTO

@jduimovich

Cask Strength Java: Aged 20 Years

Tim VanderhamVP, Cloud Platform Services Development

@vanderham

Page 2: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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!

Page 3: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

Stressed Developers

DevOps, CI/CD

Mobile, APIs

Analytics, Big Data

Cloud

Page 4: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

Steer

Dev/Test

Deploy

OperateDevOps

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

Page 5: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

So, checklist5

Performance, Scalability, Robust, Developers, Tools, Open

Auto-Scale, Management, DevOps, Application Services, Open

What about APIs, Microservices, Mobile, Analytics ?

Page 6: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

Agencydevelopers

Partnerdevelopers

Internaldevelopers

Remotedevelopers

Page 7: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

APICombines

Shares

Composes

APIEnhances

External APIsAPI

Consumes

API

API

Developers can share, re-use, (re)combine and deliver new capabilities quickerComposing new capabilities using internally shared APIs and external APIs

Page 8: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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 fasterInternal teams retain control and expose only what is required

Page 9: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

Page 10: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

MobilePublic Cloud

Social WebPartners

Private Cloud

Back-office ProcessesAnalytics

Services Databases

CRM

Systems of Interaction

Page 11: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

Page 12: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years 12

20 years, eh ?

Page 13: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

Page 14: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years 14

Jan '02Jul '02

Jan '03Jul '03

Jan '04July '04

Jan '05Jul '05

Jan '06Jul '06

Jan '070

50

100

150

200

Thou

sand

s IBMpSeries

IBMxSeries

JRockit

HPHotSpot

SunHotSpt

Old fun benchmarks … over 4x in 5 years!

SPARC

Opteron

Itanium2

Power5

Opteron

Xeon

Xeon

Power6

Page 15: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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 continuedApache Spark 1.4 running Databricks, IBM JDK

Page 16: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

Page 17: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

AESEncryption

+21% +31% +41%

ECCEncryption

+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

Page 18: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

1 3 5 7 90

10203040

Startup Time

No Shar-ing

Shared Classes

Instances

Tim

e (s

)

1 2 3 4 5 6 7 8 9 100

500100015002000

Memory Use

Instances

MB

Throughput 14.5% fasterStartup 17% fasterRampup 32% faster

IBM Liberty Java 8 Bluemix improvements

Page 19: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

What’s Next?

19

PolyglotCloud

Page 20: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

Page 21: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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 Applicationsand 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

Page 22: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

Page 23: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

Page 24: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years 24

Ruby method profiling via Health Center

Page 25: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

Multiple Language Runtimes are Coming

CommonComponents

JIT GC Monitoring

Threads

Platform ports

Diagnostics

Tool APIs

Polyglot,Common Tools, Interoperable,PerformanceOpen Source

https://www.youtube.com/watch?v=kOnyJurioyw

Page 26: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

26

DEMO

What could John do in an hour and a IBM Vice President could demo?(yeah, it’s that easy)

Page 27: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

27

Fun with words and analytics

Personality Insights Java Starter ApplicationThe 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.

Page 28: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

Page 29: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@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

Page 30: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

Analytics also has pretty pictures

30

Page 31: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

API Demo

31

Page 32: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

Import existing WebService

Creating an API

Page 33: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

Set Rate Limits, Quotas, Security Policy

Page 34: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

Publish to Bluemix

Page 35: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

Custom API on Bluemix

Page 36: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

http://smartbookstwitter.eu-gb.mybluemix.net/

Page 37: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

Use Eclipse to direct deploy your application!

Page 38: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

Page 39: IBM JavaOne Community Keynote 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

Page 40: IBM JavaOne Community Keynote 2015: Cask Strength Java  Aged 20 years

@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation

JavaOne 2015 Cask Strength Java: Aged 20 Years

@vanderham @jduimovich #bluemix -- #ibmcloud

#javaone