Upload
john-duimovich
View
519
Download
0
Embed Size (px)
Citation preview
@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
@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
Stressed Developers
DevOps, CI/CD
Mobile, APIs
Analytics, Big Data
Cloud
@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
@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 ?
@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
@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
@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
@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
MobilePublic Cloud
Social WebPartners
Private Cloud
Back-office ProcessesAnalytics
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 '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
@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
@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
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
@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
@jduimovich --@vanderham -- #bluemix -- #ibmcloud © 2015 IBM Corporation
JavaOne 2015 Cask Strength Java: Aged 20 Years
What’s Next?
19
PolyglotCloud
@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 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
@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 24
Ruby method profiling via Health Center
@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
@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)
@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.
@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