SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
InterConnect
2017
Microservice Builder:
A Microservice DevOps
Pipeline for Rapid Delivery
and Promotion
David Currie @dcurrie
david_currie@uk.ibm.com
Jeremy Hughes
jeremy.hughes@uk.ibm.com
Please note
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
Introducing Microservice Builder (Beta)
On-Prem DevOps Pipeline
Demo
Introducing
Microservice Builder (Beta)
The world is becoming more connected than ever
Businesses must be ready to face the challenge
5
6.2 TB
of data for
each
person on
earth
25+
million
apps
available
4.5 billion
connected
people
• A better, more compelling customer experience
• An infrastructure that scales out autonomously
• To bring teams together across a partner
ecosystem
• Continuous innovation to deliver software faster,
consistently, and reliably
We need:
To win in the connected economy, enterprises
are focusing on interactions and value
exchange across a partner ecosystem
Software delivery is at the heart of today’s top trends
Most CxOs view cloud computing, mobile solutions and the Internet of Things (IoT) –
technologies already in play today - as likely to predominate in the coming three-to-five years.*
6 %
8
think IT security
is the top risk
Mobile solutions Internet of Things
(IoT)
Cloud computing
Kazuo Hirai, CEO, Sony Corporation, Japan
“Disruptive technologies could change the
fundamentals of our business.”
Resiliency built
within the app itself
– not just the
infrastructure
24 7
6
* Redefining Boundaries, 2015 Global C-Suite Study, IBM Institute for Business Value
6
The Microservices Revolution
Connecting people and digital apps better than ever before
7
✓ Decomposed into small pieces
✓ Loosely coupled
✓ Easier to scale development
✓ Improved fault isolation
✓ Each service can be developed
and deployed independently
✓ Eliminates any long-term
commitment to a technology
stack
Why?
A microservices architecture is gaining traction for
developing and delivering cloud-native workloads
across public, private, and hybrid application
environments
60% of new apps will use
cloud-enabled continuous
delivery and cloud-native
application architectures
to enable faster innovation
and business agility**
(Bluemine)
60%
8
An application architecture
designed to leverage the
strengths and accommodate the
challenges of a standardized
cloud environment, including
concepts such as elastic scaling,
immutable deployment,
disposable instances, and less
predictable infrastructure.
Cloud-Native
Microservices
DevOps
Containers
Cloud Native Access to Services
Cloud Native and Microservices: The journey
Single Container Single Service
Microservices
App
Single Developer
(experimentation)
A Single Team Multiple Teams
Collaborating
a
A A B
C
Problem
Solved
Docker Containers Pods , Clusters
Stagesof
Maturity
Platform Services
Technology
/Ecosystem
Portability Orchestration
Clustering
Integration
Collaboration
Innovation
k8 swarm
9
Adopting Microservices architecture requires a scale-out
infrastructure
Target 2020 Architecture
So software delivery teams can rapidly
build and scale applications as services
to interconnect enterprise systems of
record, mobile systems and IoT apps
Scale Out Systems
Hardware Infrastructure
10
Container Cloud
✓ Microservices
✓ Auto Scaling
✓ CI/CD
✓ DevOps
✓ Docker
✓ Linux
✓ PaaS
✓ Open Source
✓ ISV Containers
IBM Bluemix
11
Why to define the programming models?
• Provide guidance on developing microservices
• Consistent qualities of service (scaling, health, analytics) across all envs
• Make Java microservices portable and interoperable
• Ensure applications have overall control over the environment provided
similar checks
Trace Correlation:
A model to provide vendor and application specific data
A model to build a robust microservices
A model of isolating config source from microsvcs code
Monitoring:
Fault Tolerance:
Config:
A loose-coupling model for developing microservicesCDI:
Java programming model:
- Collaborate in MicroProfile.io-
led evolution of Java EE focused on
microservices. Open collaboration
led by IBM & Red Hat
The Java programming model for microservices
A model to correlate trace
Health Check: A model to provide health check data
Security: A model to secure microservices
Key Concepts -> Bringing Resiliency To Programming Model
• Retry – execute the same operation
multiple times on failures
• Fallback – provide an alternative
result for a failed execution. Can be
used to suppress exceptions and
provide a default result.
• Timeout – When making a service
invocation, the request must have a
timeout in order to prevent from
indefinite wait.
• CircuitBreaker – provide a way to
avoid repeating timeouts.
• Bulkhead – failure in one part
doesn’t take down the whole app.
….I would like to retry the same operation on
some failure
12
As a developer, ….
…..I would like to fall back to a secondary
service if the primary service is down.
….I would like to get timeout on request instead
of waiting indefinitely.
….I would like to fail fast after a repeating
failure instead of waiting for timeout to occur.
….I would like to make sure one service failure
does not cause the whole application to fail.
13
Cloud Native Developer Experience
IBM
Project
Generators
IBM Developer CLI:
create, run, test, deploy
Application Patterns:
1) Web
2) Mobile
3) Backend-4-Frontend
4) Microservice
Downloaded Projects
IBMDeveloperHub
Developer CLI Workflow
IBM
Developer
CLI
Developer
“dev” Plugin
Developer
Local
Containers
Container Svc
”cs” Plugin
MiniKube
Armada / Kubernetes
IBM
Project
Generator
Developer
“dev” Plugin
Developer
“dev” Plugin
Local
Containers
In a basic env, Docker can be used to manage
single container, using all remote services.
A more advanced and proper env is to use
MiniKube locally to easily manage multiple
interrelated containers.
Note: DevOps flow not shown
Docker
14
15
Microservice Integration
Fabric
Runtime
(Liberty, Swift,
Node…)
Cloud-native and Microservices Run Environments
Enable A/B tesing, Canary and resiliency
testing in production. Integrate with pipeline and
control gates for security and quality.
Seamlessly integrated with on Bluemix /
Containers or on-prem Kubernetes
Polyglot integration fabric
Common OSS architecture
IBM Spectrum Conductor for
Containers
X86, Power & Z
On Premise Focus
Customer-managed IBM-managed
IBM Bluemix Container Service
Bluemix Cloud
DevOps using:
Jenkins (or Udeploy)
On Premise Focus
IBM Bluemix Container Service
using Open Tool Chain
Business benefits:
1. Frictionless application lifecycle and user
experience from laptop through production
2. Accelerate software delivery leveraging
Continuous Delivery Pipeline
3. Easily connect existing assets with
Watson Cognitive services to discover
actionable insights
Standardization
of programming
model for
microservices
Innovate
through ease of
connecting w/Watson
& Connect Services
Dev Tools
4. Real-time diagnosis and resolution
of app infrastructure: minimizing
downtime and maintaining SLAs
Monitoring
services for
real-time visibility
Automation
through
IBM DevOps
5. Achieve cost optimization in any cloud
with “seamless” portability across
popular cloud providers, public,
dedicated, private, and hybrid
IBM’s approach: Providing a A Turnkey Solution to Build Microservices
collectives
Application Dev Env
Fabric Pipeline
On-Off premise
Virtualization
through abstraction of service
discovery & scaling across infra.
service offerings
End-to-end user experience for development and
deployment of Microservice and hybrid apps! 16
On-Prem DevOps Pipeline
Deploy via Helm CLI or Conductor
for Containers App Center
Required values:
GitHub organization(s)
GitHub OAuth User/Token
GitHub App ID and Secret
GitHub IDs for admin users
Jenkins email address
Optionally:
Regex for repositories
Deployed as Helm Chart
Pipeline – Deploy on Green
GitHub/GitHub Enterprise
▾ my-org
► service-a
▾ service-b
► src
▾ manifests
Jenkinsfile
pom.xml
deploy.yaml
Dockerfile
► my-org ► service-b ► master
Deploy
Pipeline – Gated Deployment
GitHub/GitHub Enterprise
▾ my-org
► service-a
► service-a-deploy
▾ service-b
▾ service-b-deploy
► src
▾ manifests
Jenkinsfile
pom.xml
deploy.yaml
Dockerfile
► my-org ► service-b ► master
► my-org ► service-b-deploy ► master
Jenkinsfile
Build Jenkinsfile
node('master') {
def utils = load "/scripts/buildUtils.groovy"
stage ('Extract') {
checkout scm
}
stage ('Build') {
utils.mavenBuild ('clean', 'package',
'docker:build')
}
stage ('PushToRepo') {
utils.pushToRepo ('back-end')
}
}
Deploy Jenkinsfile/YAML
node('master') {
def utils = load "/scripts/buildUtils.groovy"
stage ('Extract') {
checkout scm
}
stage ('deployFromRepo') {
utils.deploy()
}
}
spec:
containers:
- name: back-end
image: registry/service:5e3e666
ports:
…
Demo
Microservice Builder (Beta)
End-to-End user experience to develop and deliver microservices, hybrid and containerized apps
2
4
In 3 steps
Create and Run your microservices, hybrid and
containerized apps Set up your environment, fabric
and DevOps pipeline in
Minutes
https://developer.ibm.com/microservice-builder
Innovate with
Questions?
Summary
Introducing Microservice Builder (Beta)
On-Prem DevOps Pipeline
Demo
Notices and disclaimers
Copyright © 2017 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.
IBM products are manufactured from new parts or new and used parts.
In some cases, a product may not be new and may have been previously
installed. Regardless, our warranty terms apply.”
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
continued
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 herein 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.
InterConnect
2017

Weitere ähnliche Inhalte

Was ist angesagt?

Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
IBM UrbanCode Products
 

Was ist angesagt? (20)

Securing the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeploySecuring the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode Deploy
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceMigrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
 
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
 
Deploy, Monitor and Manage in Style with WebSphere Liberty Admin Center
Deploy, Monitor and Manage in Style with WebSphere Liberty Admin CenterDeploy, Monitor and Manage in Style with WebSphere Liberty Admin Center
Deploy, Monitor and Manage in Style with WebSphere Liberty Admin Center
 
A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix
 
Network-Ready Your Hybrid IT Environment (ENT108) | AWS re:Invent 2013
Network-Ready Your Hybrid IT Environment (ENT108) | AWS re:Invent 2013Network-Ready Your Hybrid IT Environment (ENT108) | AWS re:Invent 2013
Network-Ready Your Hybrid IT Environment (ENT108) | AWS re:Invent 2013
 
Extending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with PluginsExtending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with Plugins
 
VA_InterConnect2017
VA_InterConnect2017VA_InterConnect2017
VA_InterConnect2017
 
The Next Generation of Continuous Delivery
The Next Generation of Continuous DeliveryThe Next Generation of Continuous Delivery
The Next Generation of Continuous Delivery
 
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
 
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
 
BP501 - Building and deploying custom IBM sametime connect client installatio...
BP501 - Building and deploying custom IBM sametime connect client installatio...BP501 - Building and deploying custom IBM sametime connect client installatio...
BP501 - Building and deploying custom IBM sametime connect client installatio...
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slides
 
VMware Horizon - news
VMware Horizon - newsVMware Horizon - news
VMware Horizon - news
 
Fundamentals of Deploy and Release
Fundamentals of Deploy and ReleaseFundamentals of Deploy and Release
Fundamentals of Deploy and Release
 
Adapting Deployment Pipelines for Complex Applications
Adapting Deployment Pipelines for Complex ApplicationsAdapting Deployment Pipelines for Complex Applications
Adapting Deployment Pipelines for Complex Applications
 
UrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsUrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the Dots
 
DevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse ConferenceDevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse Conference
 
AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...
AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...
AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...
 
Patterns and Antipatterns for Adopting IBM DevOps Tools
Patterns and Antipatterns for Adopting IBM DevOps ToolsPatterns and Antipatterns for Adopting IBM DevOps Tools
Patterns and Antipatterns for Adopting IBM DevOps Tools
 

Andere mochten auch

Andere mochten auch (20)

WebSphere Liberty and IBM Containers: The Perfect Combination for Java Micros...
WebSphere Liberty and IBM Containers: The Perfect Combination for Java Micros...WebSphere Liberty and IBM Containers: The Perfect Combination for Java Micros...
WebSphere Liberty and IBM Containers: The Perfect Combination for Java Micros...
 
Containers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen AppsContainers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen Apps
 
Design - Start Your API Journey Today
Design - Start Your API Journey TodayDesign - Start Your API Journey Today
Design - Start Your API Journey Today
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Codemash 2017
 DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Codemash 2017 DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Codemash 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Codemash 2017
 
Implementasi clustering pada jee container
Implementasi clustering pada jee containerImplementasi clustering pada jee container
Implementasi clustering pada jee container
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
 
Microservice Lifecycle Demo Presentation
Microservice Lifecycle Demo PresentationMicroservice Lifecycle Demo Presentation
Microservice Lifecycle Demo Presentation
 
Micro, Nano, Mono? Microservices verständlich erklärt
Micro, Nano, Mono? Microservices verständlich erklärtMicro, Nano, Mono? Microservices verständlich erklärt
Micro, Nano, Mono? Microservices verständlich erklärt
 
勞保年金改革草案內容
勞保年金改革草案內容勞保年金改革草案內容
勞保年金改革草案內容
 
Metrics driven dev ops 2017
Metrics driven dev ops 2017Metrics driven dev ops 2017
Metrics driven dev ops 2017
 
Protocol buffers and Microservices
Protocol buffers and MicroservicesProtocol buffers and Microservices
Protocol buffers and Microservices
 
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented applicationCloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
 
Kubernetes community demo march 16 2017
Kubernetes community demo march 16 2017Kubernetes community demo march 16 2017
Kubernetes community demo march 16 2017
 
Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microservice
 
JUG - Soup to Nuts with Self Contained Systems
JUG - Soup to Nuts with Self Contained SystemsJUG - Soup to Nuts with Self Contained Systems
JUG - Soup to Nuts with Self Contained Systems
 
IBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and DockerIBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and Docker
 
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
 
Auth as a microservice
Auth as a microserviceAuth as a microservice
Auth as a microservice
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration Architecture
 
NATS vs HTTP
NATS vs HTTPNATS vs HTTP
NATS vs HTTP
 

Ähnlich wie Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and Promotion

InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
Daniel Berg
 
Ibm middleware point of view 060815 dark background
Ibm middleware point of view 060815 dark backgroundIbm middleware point of view 060815 dark background
Ibm middleware point of view 060815 dark background
Shane McCaul
 

Ähnlich wie Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and Promotion (20)

InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
 
The new developer experience
The new developer experienceThe new developer experience
The new developer experience
 
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
 
How to Balance System Speed and Risk for Multi-Platform Innovation
How to Balance System Speed and Risk for Multi-Platform InnovationHow to Balance System Speed and Risk for Multi-Platform Innovation
How to Balance System Speed and Risk for Multi-Platform Innovation
 
Bluemix DevOps Meetup
Bluemix DevOps MeetupBluemix DevOps Meetup
Bluemix DevOps Meetup
 
Bluemix summary
Bluemix summaryBluemix summary
Bluemix summary
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer Console
 
Business Agility through Self-Service Messaging - InterConnect 2016
Business Agility through Self-Service Messaging - InterConnect 2016Business Agility through Self-Service Messaging - InterConnect 2016
Business Agility through Self-Service Messaging - InterConnect 2016
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
 
New Continuous Release and Deployment Capabilities for CICS Customers v4
New Continuous Release and Deployment Capabilities for CICS Customers v4New Continuous Release and Deployment Capabilities for CICS Customers v4
New Continuous Release and Deployment Capabilities for CICS Customers v4
 
IBM Bluemix Presentation.pptx
IBM Bluemix Presentation.pptxIBM Bluemix Presentation.pptx
IBM Bluemix Presentation.pptx
 
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM CloudDevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
 
Ibm mobile first platform presentation refresh 05 18-mc
Ibm mobile first platform presentation refresh 05 18-mcIbm mobile first platform presentation refresh 05 18-mc
Ibm mobile first platform presentation refresh 05 18-mc
 
Applying lean, dev ops, and cloud for better business outcomes
Applying lean, dev ops, and cloud for better business outcomesApplying lean, dev ops, and cloud for better business outcomes
Applying lean, dev ops, and cloud for better business outcomes
 
DevOps adoption in the enterprise
DevOps adoption in the enterpriseDevOps adoption in the enterprise
DevOps adoption in the enterprise
 
Ibm middleware point of view 060815 dark background
Ibm middleware point of view 060815 dark backgroundIbm middleware point of view 060815 dark background
Ibm middleware point of view 060815 dark background
 
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the CloudApplication Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
 
Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?
 
Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014
 

Mehr von David Currie

Mehr von David Currie (8)

Continuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and HelmContinuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and Helm
 
Continuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and HelmContinuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and Helm
 
WebSphere and Docker
WebSphere and DockerWebSphere and Docker
WebSphere and Docker
 
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixPlatform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM Bluemix
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
 
Introduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application ArchitectureIntroduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application Architecture
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
 

Kürzlich hochgeladen

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Kürzlich hochgeladen (20)

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and Promotion

  • 1. InterConnect 2017 Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and Promotion David Currie @dcurrie david_currie@uk.ibm.com Jeremy Hughes jeremy.hughes@uk.ibm.com
  • 2. Please note 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.
  • 3. Agenda Introducing Microservice Builder (Beta) On-Prem DevOps Pipeline Demo
  • 5. The world is becoming more connected than ever Businesses must be ready to face the challenge 5 6.2 TB of data for each person on earth 25+ million apps available 4.5 billion connected people • A better, more compelling customer experience • An infrastructure that scales out autonomously • To bring teams together across a partner ecosystem • Continuous innovation to deliver software faster, consistently, and reliably We need: To win in the connected economy, enterprises are focusing on interactions and value exchange across a partner ecosystem
  • 6. Software delivery is at the heart of today’s top trends Most CxOs view cloud computing, mobile solutions and the Internet of Things (IoT) – technologies already in play today - as likely to predominate in the coming three-to-five years.* 6 % 8 think IT security is the top risk Mobile solutions Internet of Things (IoT) Cloud computing Kazuo Hirai, CEO, Sony Corporation, Japan “Disruptive technologies could change the fundamentals of our business.” Resiliency built within the app itself – not just the infrastructure 24 7 6 * Redefining Boundaries, 2015 Global C-Suite Study, IBM Institute for Business Value 6
  • 7. The Microservices Revolution Connecting people and digital apps better than ever before 7 ✓ Decomposed into small pieces ✓ Loosely coupled ✓ Easier to scale development ✓ Improved fault isolation ✓ Each service can be developed and deployed independently ✓ Eliminates any long-term commitment to a technology stack Why? A microservices architecture is gaining traction for developing and delivering cloud-native workloads across public, private, and hybrid application environments 60% of new apps will use cloud-enabled continuous delivery and cloud-native application architectures to enable faster innovation and business agility** (Bluemine) 60%
  • 8. 8 An application architecture designed to leverage the strengths and accommodate the challenges of a standardized cloud environment, including concepts such as elastic scaling, immutable deployment, disposable instances, and less predictable infrastructure. Cloud-Native Microservices DevOps Containers Cloud Native Access to Services
  • 9. Cloud Native and Microservices: The journey Single Container Single Service Microservices App Single Developer (experimentation) A Single Team Multiple Teams Collaborating a A A B C Problem Solved Docker Containers Pods , Clusters Stagesof Maturity Platform Services Technology /Ecosystem Portability Orchestration Clustering Integration Collaboration Innovation k8 swarm 9
  • 10. Adopting Microservices architecture requires a scale-out infrastructure Target 2020 Architecture So software delivery teams can rapidly build and scale applications as services to interconnect enterprise systems of record, mobile systems and IoT apps Scale Out Systems Hardware Infrastructure 10 Container Cloud ✓ Microservices ✓ Auto Scaling ✓ CI/CD ✓ DevOps ✓ Docker ✓ Linux ✓ PaaS ✓ Open Source ✓ ISV Containers IBM Bluemix
  • 11. 11 Why to define the programming models? • Provide guidance on developing microservices • Consistent qualities of service (scaling, health, analytics) across all envs • Make Java microservices portable and interoperable • Ensure applications have overall control over the environment provided similar checks Trace Correlation: A model to provide vendor and application specific data A model to build a robust microservices A model of isolating config source from microsvcs code Monitoring: Fault Tolerance: Config: A loose-coupling model for developing microservicesCDI: Java programming model: - Collaborate in MicroProfile.io- led evolution of Java EE focused on microservices. Open collaboration led by IBM & Red Hat The Java programming model for microservices A model to correlate trace Health Check: A model to provide health check data Security: A model to secure microservices
  • 12. Key Concepts -> Bringing Resiliency To Programming Model • Retry – execute the same operation multiple times on failures • Fallback – provide an alternative result for a failed execution. Can be used to suppress exceptions and provide a default result. • Timeout – When making a service invocation, the request must have a timeout in order to prevent from indefinite wait. • CircuitBreaker – provide a way to avoid repeating timeouts. • Bulkhead – failure in one part doesn’t take down the whole app. ….I would like to retry the same operation on some failure 12 As a developer, …. …..I would like to fall back to a secondary service if the primary service is down. ….I would like to get timeout on request instead of waiting indefinitely. ….I would like to fail fast after a repeating failure instead of waiting for timeout to occur. ….I would like to make sure one service failure does not cause the whole application to fail.
  • 13. 13 Cloud Native Developer Experience IBM Project Generators IBM Developer CLI: create, run, test, deploy Application Patterns: 1) Web 2) Mobile 3) Backend-4-Frontend 4) Microservice Downloaded Projects IBMDeveloperHub
  • 14. Developer CLI Workflow IBM Developer CLI Developer “dev” Plugin Developer Local Containers Container Svc ”cs” Plugin MiniKube Armada / Kubernetes IBM Project Generator Developer “dev” Plugin Developer “dev” Plugin Local Containers In a basic env, Docker can be used to manage single container, using all remote services. A more advanced and proper env is to use MiniKube locally to easily manage multiple interrelated containers. Note: DevOps flow not shown Docker 14
  • 15. 15 Microservice Integration Fabric Runtime (Liberty, Swift, Node…) Cloud-native and Microservices Run Environments Enable A/B tesing, Canary and resiliency testing in production. Integrate with pipeline and control gates for security and quality. Seamlessly integrated with on Bluemix / Containers or on-prem Kubernetes Polyglot integration fabric Common OSS architecture IBM Spectrum Conductor for Containers X86, Power & Z On Premise Focus Customer-managed IBM-managed IBM Bluemix Container Service Bluemix Cloud DevOps using: Jenkins (or Udeploy) On Premise Focus IBM Bluemix Container Service using Open Tool Chain
  • 16. Business benefits: 1. Frictionless application lifecycle and user experience from laptop through production 2. Accelerate software delivery leveraging Continuous Delivery Pipeline 3. Easily connect existing assets with Watson Cognitive services to discover actionable insights Standardization of programming model for microservices Innovate through ease of connecting w/Watson & Connect Services Dev Tools 4. Real-time diagnosis and resolution of app infrastructure: minimizing downtime and maintaining SLAs Monitoring services for real-time visibility Automation through IBM DevOps 5. Achieve cost optimization in any cloud with “seamless” portability across popular cloud providers, public, dedicated, private, and hybrid IBM’s approach: Providing a A Turnkey Solution to Build Microservices collectives Application Dev Env Fabric Pipeline On-Off premise Virtualization through abstraction of service discovery & scaling across infra. service offerings End-to-end user experience for development and deployment of Microservice and hybrid apps! 16
  • 18. Deploy via Helm CLI or Conductor for Containers App Center Required values: GitHub organization(s) GitHub OAuth User/Token GitHub App ID and Secret GitHub IDs for admin users Jenkins email address Optionally: Regex for repositories Deployed as Helm Chart
  • 19. Pipeline – Deploy on Green GitHub/GitHub Enterprise ▾ my-org ► service-a ▾ service-b ► src ▾ manifests Jenkinsfile pom.xml deploy.yaml Dockerfile ► my-org ► service-b ► master Deploy
  • 20. Pipeline – Gated Deployment GitHub/GitHub Enterprise ▾ my-org ► service-a ► service-a-deploy ▾ service-b ▾ service-b-deploy ► src ▾ manifests Jenkinsfile pom.xml deploy.yaml Dockerfile ► my-org ► service-b ► master ► my-org ► service-b-deploy ► master Jenkinsfile
  • 21. Build Jenkinsfile node('master') { def utils = load "/scripts/buildUtils.groovy" stage ('Extract') { checkout scm } stage ('Build') { utils.mavenBuild ('clean', 'package', 'docker:build') } stage ('PushToRepo') { utils.pushToRepo ('back-end') } }
  • 22. Deploy Jenkinsfile/YAML node('master') { def utils = load "/scripts/buildUtils.groovy" stage ('Extract') { checkout scm } stage ('deployFromRepo') { utils.deploy() } } spec: containers: - name: back-end image: registry/service:5e3e666 ports: …
  • 23. Demo
  • 24. Microservice Builder (Beta) End-to-End user experience to develop and deliver microservices, hybrid and containerized apps 2 4 In 3 steps Create and Run your microservices, hybrid and containerized apps Set up your environment, fabric and DevOps pipeline in Minutes https://developer.ibm.com/microservice-builder Innovate with
  • 26. Summary Introducing Microservice Builder (Beta) On-Prem DevOps Pipeline Demo
  • 27. Notices and disclaimers Copyright © 2017 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. IBM products are manufactured from new parts or new and used parts. In some cases, a product may not be new and may have been previously installed. Regardless, our warranty terms apply.” 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.
  • 28. Notices and disclaimers continued 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 herein 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.