PEJ-5354
Java Development on IBM Bluemix
Ram Vennam
Please Note:
2
• IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole
discretion.
• Information regarding potential future products is intended to outline our general product direction and it should not be relied on in
making a purchasing decision.
• The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any
material, code or functionality. Information about potential future products may not be incorporated into any contract.
• The development, release, and timing of any future features or functionality described for our products remains at our sole
discretion.
• Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual
throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the
amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed.
Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
Agenda
• Bluemix Overview
• Java on Bluemix Cloud Foundry
• Deep Dive into Liberty buildpack
• Java on Bluemix Containers
• Cloud applications best practices
• Popular services for Java devs
• Questions
3
Bluemix Overview
Cloud platform for everyone
Bluemix is an open-standards, cloud-based platform for
building, running, and managing applications.
Build your apps, your way
Use the most prominent
compute technologies to
power your app: Cloud
Foundry, Docker, OpenStack.
Extend apps with services
A catalog of IBM, third party,
and open source services
allow the developer to stitch
an application together
quickly.
Scale more than just instances
Development, monitoring,
deployment, and logging
tools allow the developer to
run and manage the entire
application.
Layered Security
IBM secures the platform and
infrastructure and provides you
with the tools to secure your
apps.
Deploy and manage hybrid apps
seamlessly
Get a seamless dev and
management experience
across a number of hybrid
implementations options.
Flexible Pricing
Try compute options and
services for free and, when
you’re ready, pay only for what
you use. Pay as you go and
subscription models offer
choice and flexibility.
6
You manage
Platform manages
IaaS vs PaaS
PaaS allows the developer to just focus on their code
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
JDKJDK
OSOS
JEE App ServerJEE App Server
Infrastructure
as a Service
Platform
as a Service
Bluemix works
for Java Developers.
Compute Options
8
Infrastructure
as a Service
Platform
as a Service
Java Starter Applications
3 ways to update your code
Eclipse tools for Bluemix
Eclipse Development Mode
A special mode of an application instance that allows the app
developer to conduct various development operations.
Remote debugging
Incremental update
$ cf push MyAppName –p libertyDBApp.war
Tail Logs:
$ cf logs MyAppName
Past Logs:
$ cf logs MyAppName --recent
Command Line Interface to deploy and manage applications
Command line
git pushgit push
Git Repo
Everything you need to manage your code, builds and deployments in the
cloud.
DevOps Services
Deeper Dive
Liberty Buildpack
For Systems of Engagement applications and a
lighter weight option for Systems of Record
• Full Java EE 7 Platform
• Small footprint (~ 54MB), quick startup (< 3 sec)
• Full fidelity to WebSphere Application Server Full
Profile
• Distributed caching: Extreme scale as a feature
• Add custom features and integrate 3rd party
components via Liberty extensions interface
• Install new features from repository (local or remote)
with no server restart
16
WebSphere Application Server Liberty
Profile
Buildpack for running applications on IBM WebSphere Application Server Liberty Profile.
Designed to run "packaged" servers and web applications.
Generates the liberty server configuration for a bound services
Simplify developers’ lives by requiring minimal configuration and making it easy to
consume services
Loads into the server only what is needed for a running application
https://github.com/cloudfoundry/ibm-websphere-liberty-buildpack
17
WebSphere Liberty Buildpack
Standalone jar files (*.jar)
Web Applications (*.war)
Enterprise Applications (*.ear)
Liberty profile server package (*.zip)
Liberty profile server directory (dir.)
https://www.ng.bluemix.net/docs/Liberty/LibertyApp.html
18
Supported Application Types
• Create a server package
$ ./bin/server package myServer --include=usr
• Or, simply push a server config directory
$ cd /wlp/usr/servers/myServer
$ cf push <appname>
myServer
apps
myWondefulApp1.war
server.xml
myWondefulApp2.ear
Push an entire Liberty server package – complete with application(s), shared libs,
drivers and server configuration.
Liberty server packages
Using Bluemix Services
• Create & Bind the service
– Command line
• cf marketplace to see available services
• cf create-service to create a service instance
• cf bind-service to bind the service instance to your application
• cf restart, or cf push again
– Web portal
• Read service connection and credentials
Sample VCAP_SERVICES environment variable:
22
The plain way to consume a service
23
Read VCAP_SERVICES env variable and parse credentials
Sample code to connect to a SQL service
24
Establish connection
Sample code to connect to a SQL service
The following services have an easier way to consume them
The better way to consume services
SQL
Database
Mongo DB
Modern
“resource”
BLU Data
Warehous
e
Data
Cache
Session
Cache
Elastic MQ
Operational
services
Log
Analysis
Monitoring
and
Analytics
Cloudant
Auto
Scaling
Java EE
standard
“resource”
Using SQLDB service
26
The Java EE way – Sample code for using SQLDB
27
public class TestServlet extends HttpServlet
{
@Resource (name = "jdbc/mydb")
private DataSource db;
// Alternatively use InitialContext lookup
DataSource lookup = (DataSource) new InitialContext().lookup("jdbc/mydb");
“mydb” is the name of the service
instance you create in Bluemix
That’s it! All familiar code, no changes required in order to make
it work in cloud!
• No need for a server.xml
• Don’t need to read VCAP_SERVICES
“mydb” is the name of the service
instance you create in Bluemix
Java on IBM Containers
29
Docker
30
Fast, lightweight, isolated containers
“Docker containers spin up fast and provide a layer of isolation from other services running in containers.”
“The lightweight containers can spin up in a matter of seconds without consuming a lot of resources.”
docker.com
Traditional VMs vs Docker Containers
31
http://patg.net/containers,virtualization,docker/2014/06/05/docker-intro/
vs
Docker Images
32
Read-only template used to create Docker containers
Build new images by modifying existing images
Find and share images on a registry (Docker Hub)
Sample Dockerfile
33
CLI: Test locally, push to Bluemix
34
docker build -t my_ibmliberty_image:v1 .
docker run --name my_liberty_container my_liberty_image
docker tag my_liberty_image
registry.ng.bluemix.net/my_namespace/my_ibmliberty_image
docker push registry.ng.bluemix.net/my_namespace/my_liberty_image
DevOps Services
35
git pushgit push
Git Repo
https://github.com/rvennam/AuthServer
Remote Developing with Eclipse
36
https://github.com/rvennam/LibertyIBMContainers
Cloud Applications
Best practices
• Stateless
– Ephemeral file system
– Ephemeral memory
• Capture logs
• Ports
• Security
Coding Do’s and Don'ts
1. One codebase tracked in revision control, many deploys
2. Explicitly declare and isolate dependencies
3. Store config in the environment
4. Treat backing services as attached resources
5. Strictly separate build and run stages
6. Execute the app as one or more stateless processes
7. Export services via port binding
8. Scale out via the process model
9. Maximize robustness with fast startup and graceful shutdown
10. Keep development, staging, and production as similar as possible
11. Treat logs as event streams
12. Run admin/management tasks as one-off processes
39
The Twelve Factor App
http://12factor.net/
IBM BluemixJava Migration to Cloud
DayTrader sample
WAS Full Profile application
•EE 6
•Uses database for persistence
•The application or database does not scale
•“System of Record”
•Nothing cloud about it!
Migration Toolkit
42
Avoid writing to the local file system
Transport security is terminated at the router
Client certificate authentication is not available
Headless JRE vs JDK on BlueMix
Advise on porting persistence data to services
HTTPSessions, WXS, JMS, legacy
data, MongoDB, DB2 etc.,
Advise on Transaction Recovery and flagging
for 2 phase commits
Rules to assist migration of Liberty apps to the cloud
Tooling to help migrate
IBM WebSphere Application Server Migration Toolkit
Still talks to previous, on-premises database
Value-Add:
Application can scale horizontally
Load balancing
High availability
Cloud Integration Secure
Gateway
API
Management
Deploy to Bluemix
Scaling
Scale up and down in seconds!
Condition based scaling
Auto-Scaling
46
Session persistence and caching
WebSphere eXtreme Scale
Distributed object caching
Session off-load and replication
Other Application Services
Database
Powerful wiring features makes it easy to consume!
@Resource (name = "jdbc/mydb")
private DataSource db;
“mydb” is the name of the service
instance created in Bluemix
Object
Storage
DataWorksCloudant
NoSQL DB
SQL Database ClearDB MySQL
Database
ElephantSQL MongoLab Redis Cloud mongodb mysql
Use Databases provided by Bluemix
Make it Engaging!
Consume services
Rules Engine
Use ODM to monitor stocks, portfolio
and perform actions when criteria is
met
Social
View friends portfolio.
Post tweets and collaborate on
stock transactions.
Stay connected w/ tweets related to
your portfolio
Push/SMS –
Instant notifications to buy or sell
API Management
Export backend interfaces as a
service
Decomposition of application
Firewall
SQLDB
Session
Cache
M&A
Bluemix
WAS Liberty Runtime
IBM JRE
WAS Liberty Buildpack
CloudTrader
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Fully Customer Managed
Platform Managed
Pattern Managed via Console
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Single UI Management for WAS
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
On-Premises
(BYOH)
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Liberty
Buildpack
IBM WebSphere
Application Server
WAS Containers
Broader Snapshot: Choose our WAS Platforms
IBM Bluemix
Entry Points
1. Create new cloud native apps & microservices to respond to business needs
Connect existing Java applications to new cloud apps via APIs
2. Optimize existing Java apps to Cloud without change and adopt pay-as-you-go
3. Enhance existing Java applications with Bluemix services
Interaction TierHybrid Enterprise Tier
Existing Apps New Apps
Cloud Connected WAS as a Service WebSphere Liberty
Micro-Services
SoftLayer/Bluemix
Managed Service
Docker Images
Traditional
Management
Model
Cloud Readiness
Assessment & Best
Practices
Cloud Native
Management
Model
Cloud Foundation
Services
23
Hybrid Cloud Hybrid Cloud Hybrid Cloud
55
WebSphere Liberty
Micro-Services
Hybrid Cloud
WAS On Premises
1 1
Notices and Disclaimers
56
Copyright © 2016 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission
from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of
initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS
DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE
USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM
products and services are warranted according to the terms and conditions of the agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those
customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries
in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials
and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant
or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and
interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such
laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law
Notices and Disclaimers Con’t.
57
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not
tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the
ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other
intellectual property right.
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®,
FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG,
Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®,
PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®,
StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business
Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM
trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
Thank You
Your Feedback is Important!
Access the InterConnect 2016 Conference Attendee
Portal to complete your session surveys from your
smartphone,
laptop or conference kiosk.

Java Development on Bluemix

  • 1.
    PEJ-5354 Java Development onIBM Bluemix Ram Vennam
  • 2.
    Please Note: 2 • IBM’sstatements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. • Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. • The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. • The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. • Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
  • 3.
    Agenda • Bluemix Overview •Java on Bluemix Cloud Foundry • Deep Dive into Liberty buildpack • Java on Bluemix Containers • Cloud applications best practices • Popular services for Java devs • Questions 3
  • 4.
  • 5.
    Bluemix is anopen-standards, cloud-based platform for building, running, and managing applications. Build your apps, your way Use the most prominent compute technologies to power your app: Cloud Foundry, Docker, OpenStack. Extend apps with services A catalog of IBM, third party, and open source services allow the developer to stitch an application together quickly. Scale more than just instances Development, monitoring, deployment, and logging tools allow the developer to run and manage the entire application. Layered Security IBM secures the platform and infrastructure and provides you with the tools to secure your apps. Deploy and manage hybrid apps seamlessly Get a seamless dev and management experience across a number of hybrid implementations options. Flexible Pricing Try compute options and services for free and, when you’re ready, pay only for what you use. Pay as you go and subscription models offer choice and flexibility.
  • 6.
    6 You manage Platform manages IaaSvs PaaS PaaS allows the developer to just focus on their code Code Data Runtime Middleware OS Virtualization Servers Storage Networking Code Data Runtime Middleware OS Virtualization Servers Storage Networking JDKJDK OSOS JEE App ServerJEE App Server Infrastructure as a Service Platform as a Service
  • 7.
  • 8.
    Compute Options 8 Infrastructure as aService Platform as a Service
  • 9.
  • 10.
    3 ways toupdate your code
  • 11.
  • 12.
    Eclipse Development Mode Aspecial mode of an application instance that allows the app developer to conduct various development operations. Remote debugging Incremental update
  • 13.
    $ cf pushMyAppName –p libertyDBApp.war Tail Logs: $ cf logs MyAppName Past Logs: $ cf logs MyAppName --recent Command Line Interface to deploy and manage applications Command line
  • 14.
    git pushgit push GitRepo Everything you need to manage your code, builds and deployments in the cloud. DevOps Services
  • 15.
  • 16.
    For Systems ofEngagement applications and a lighter weight option for Systems of Record • Full Java EE 7 Platform • Small footprint (~ 54MB), quick startup (< 3 sec) • Full fidelity to WebSphere Application Server Full Profile • Distributed caching: Extreme scale as a feature • Add custom features and integrate 3rd party components via Liberty extensions interface • Install new features from repository (local or remote) with no server restart 16 WebSphere Application Server Liberty Profile
  • 17.
    Buildpack for runningapplications on IBM WebSphere Application Server Liberty Profile. Designed to run "packaged" servers and web applications. Generates the liberty server configuration for a bound services Simplify developers’ lives by requiring minimal configuration and making it easy to consume services Loads into the server only what is needed for a running application https://github.com/cloudfoundry/ibm-websphere-liberty-buildpack 17 WebSphere Liberty Buildpack
  • 18.
    Standalone jar files(*.jar) Web Applications (*.war) Enterprise Applications (*.ear) Liberty profile server package (*.zip) Liberty profile server directory (dir.) https://www.ng.bluemix.net/docs/Liberty/LibertyApp.html 18 Supported Application Types
  • 19.
    • Create aserver package $ ./bin/server package myServer --include=usr • Or, simply push a server config directory $ cd /wlp/usr/servers/myServer $ cf push <appname> myServer apps myWondefulApp1.war server.xml myWondefulApp2.ear Push an entire Liberty server package – complete with application(s), shared libs, drivers and server configuration. Liberty server packages
  • 20.
  • 22.
    • Create &Bind the service – Command line • cf marketplace to see available services • cf create-service to create a service instance • cf bind-service to bind the service instance to your application • cf restart, or cf push again – Web portal • Read service connection and credentials Sample VCAP_SERVICES environment variable: 22 The plain way to consume a service
  • 23.
    23 Read VCAP_SERVICES envvariable and parse credentials Sample code to connect to a SQL service
  • 24.
    24 Establish connection Sample codeto connect to a SQL service
  • 25.
    The following serviceshave an easier way to consume them The better way to consume services SQL Database Mongo DB Modern “resource” BLU Data Warehous e Data Cache Session Cache Elastic MQ Operational services Log Analysis Monitoring and Analytics Cloudant Auto Scaling Java EE standard “resource”
  • 26.
  • 27.
    The Java EEway – Sample code for using SQLDB 27 public class TestServlet extends HttpServlet { @Resource (name = "jdbc/mydb") private DataSource db; // Alternatively use InitialContext lookup DataSource lookup = (DataSource) new InitialContext().lookup("jdbc/mydb"); “mydb” is the name of the service instance you create in Bluemix That’s it! All familiar code, no changes required in order to make it work in cloud! • No need for a server.xml • Don’t need to read VCAP_SERVICES “mydb” is the name of the service instance you create in Bluemix
  • 29.
    Java on IBMContainers 29
  • 30.
    Docker 30 Fast, lightweight, isolatedcontainers “Docker containers spin up fast and provide a layer of isolation from other services running in containers.” “The lightweight containers can spin up in a matter of seconds without consuming a lot of resources.” docker.com
  • 31.
    Traditional VMs vsDocker Containers 31 http://patg.net/containers,virtualization,docker/2014/06/05/docker-intro/ vs
  • 32.
    Docker Images 32 Read-only templateused to create Docker containers Build new images by modifying existing images Find and share images on a registry (Docker Hub)
  • 33.
  • 34.
    CLI: Test locally,push to Bluemix 34 docker build -t my_ibmliberty_image:v1 . docker run --name my_liberty_container my_liberty_image docker tag my_liberty_image registry.ng.bluemix.net/my_namespace/my_ibmliberty_image docker push registry.ng.bluemix.net/my_namespace/my_liberty_image
  • 35.
    DevOps Services 35 git pushgitpush Git Repo https://github.com/rvennam/AuthServer
  • 36.
    Remote Developing withEclipse 36 https://github.com/rvennam/LibertyIBMContainers
  • 37.
  • 38.
    • Stateless – Ephemeralfile system – Ephemeral memory • Capture logs • Ports • Security Coding Do’s and Don'ts
  • 39.
    1. One codebasetracked in revision control, many deploys 2. Explicitly declare and isolate dependencies 3. Store config in the environment 4. Treat backing services as attached resources 5. Strictly separate build and run stages 6. Execute the app as one or more stateless processes 7. Export services via port binding 8. Scale out via the process model 9. Maximize robustness with fast startup and graceful shutdown 10. Keep development, staging, and production as similar as possible 11. Treat logs as event streams 12. Run admin/management tasks as one-off processes 39 The Twelve Factor App http://12factor.net/
  • 40.
  • 41.
    DayTrader sample WAS FullProfile application •EE 6 •Uses database for persistence •The application or database does not scale •“System of Record” •Nothing cloud about it!
  • 42.
    Migration Toolkit 42 Avoid writingto the local file system Transport security is terminated at the router Client certificate authentication is not available Headless JRE vs JDK on BlueMix Advise on porting persistence data to services HTTPSessions, WXS, JMS, legacy data, MongoDB, DB2 etc., Advise on Transaction Recovery and flagging for 2 phase commits Rules to assist migration of Liberty apps to the cloud
  • 43.
    Tooling to helpmigrate IBM WebSphere Application Server Migration Toolkit Still talks to previous, on-premises database Value-Add: Application can scale horizontally Load balancing High availability Cloud Integration Secure Gateway API Management Deploy to Bluemix
  • 44.
    Scaling Scale up anddown in seconds! Condition based scaling
  • 46.
  • 49.
    Session persistence andcaching WebSphere eXtreme Scale Distributed object caching Session off-load and replication
  • 50.
  • 51.
    Database Powerful wiring featuresmakes it easy to consume! @Resource (name = "jdbc/mydb") private DataSource db; “mydb” is the name of the service instance created in Bluemix Object Storage DataWorksCloudant NoSQL DB SQL Database ClearDB MySQL Database ElephantSQL MongoLab Redis Cloud mongodb mysql Use Databases provided by Bluemix
  • 52.
    Make it Engaging! Consumeservices Rules Engine Use ODM to monitor stocks, portfolio and perform actions when criteria is met Social View friends portfolio. Post tweets and collaborate on stock transactions. Stay connected w/ tweets related to your portfolio Push/SMS – Instant notifications to buy or sell API Management Export backend interfaces as a service Decomposition of application
  • 53.
  • 54.
    Code Data Runtime Middleware OS Virtualization Servers Storage Networking Code Data Runtime Middleware OS Virtualization Servers Storage Networking Code Data Runtime Middleware OS Virtualization Servers Storage Networking Fully Customer Managed PlatformManaged Pattern Managed via Console Code Data Runtime Middleware OS Virtualization Servers Storage Networking Single UI Management for WAS Code Data Runtime Middleware OS Virtualization Servers Storage Networking On-Premises (BYOH) Code Data Runtime Middleware OS Virtualization Servers Storage Networking Liberty Buildpack IBM WebSphere Application Server WAS Containers Broader Snapshot: Choose our WAS Platforms IBM Bluemix
  • 55.
    Entry Points 1. Createnew cloud native apps & microservices to respond to business needs Connect existing Java applications to new cloud apps via APIs 2. Optimize existing Java apps to Cloud without change and adopt pay-as-you-go 3. Enhance existing Java applications with Bluemix services Interaction TierHybrid Enterprise Tier Existing Apps New Apps Cloud Connected WAS as a Service WebSphere Liberty Micro-Services SoftLayer/Bluemix Managed Service Docker Images Traditional Management Model Cloud Readiness Assessment & Best Practices Cloud Native Management Model Cloud Foundation Services 23 Hybrid Cloud Hybrid Cloud Hybrid Cloud 55 WebSphere Liberty Micro-Services Hybrid Cloud WAS On Premises 1 1
  • 56.
    Notices and Disclaimers 56 Copyright© 2016 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law
  • 57.
    Notices and DisclaimersCon’t. 57 Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®, FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
  • 58.
    Thank You Your Feedbackis Important! Access the InterConnect 2016 Conference Attendee Portal to complete your session surveys from your smartphone, laptop or conference kiosk.

Editor's Notes

  • #3 Please read this disclaimer as fast as possible.