how do you deliver your applications to the cloud?
TRANSCRIPT
How do you Deliver your Applications to the Cloud?
Michael D. ElderIBM Distinguished EngineerChief Developer for UrbanCode
and Hybrid Cloud DevOps@mdelder | [email protected]
© IBM Corporation 1IBM Confidential
Agenda
What kind of culture is successful with cloud-based deliveries?
What is Multispeed IT and how do you adjust your approach to be more competitive within your market?
How can you manage your toolchain for the cloud?
“DevOps is a philosophy, a cultural shift that merges operations with development and demands a linked toolchain of technologies to facilitate collaborative change. DevOps toolchains … can include dozens of non-collaborative tools, making the task of automation a technically complex and arduous one.” (Gartner)
MethodBluemix Garage Method& Consulting Services
Continuous Delivery Solutions
DevOps Insights
Innovation Platform
Meeting the Hybrid DevOps Challenge
Cloud Delivery Team Culture
Traditional IT Cloud-Enabled IT Cloud-Native ITContinuous IntegrationContinuous delivery to
productionCloud-native runtimes (node.js)
Pipeline per microservice
Change Record
CMDB
Automated build / deploy of VMs & Containers
Stage Gates, Co-ordinated Releases
Manual Change & ReleaseSome automation
Audit reports
CABAssessment
&Approval Theory
Reality
IBM Control DeskBMC Remedy
As a Business Owner, I want my team to deliver as fast as possible, but with appropriate controls when needed.
But don’t slow everything down to the slowest speed when controls are added!
Change Management vs. Continuous Delivery
5
Findingthe balance between agility and stability
Accelerate Innovation
Think Code Deliver Run
APICatalog
Think Code Deliver Run
Operational Excellence
Systems of engagement
Systemsof Record
Digital Applications
Enterprise Applications
Production
Production
Shared Services
6
Large organizations have multiple transformations underway
• Accelerated Innovation
• Rapid Instantiation
• Data Driven Development
• Elastic Scale / Recovery Oriented Programming
• Operational Excellence
• Automation across the lifecycle
• Reduced Delivery Time
• Standardized with Patterns
What characterizes Cloud–Native?
What characterizes Cloud–Enabled?
On-premisesOperational Excellence
Network
VM 3
VM 1 VM 2
Storage
Pattern
Application Release
Automation
Continuous Integration
SCM
SCM
SCM
System of Records
Cloud Native
System of Engagement
Git
Git
Git
Pipeline
Pipeline
Pipeline
Microservice A_v2
Microservice C_v3
Microservice B_v4
API
Accelerating Innovation
Cloud Enabled
Introducing the IBM Garage Method
7Page© 2015 IBM Corporation
https://ibm.com/devops/method
Harnessing innovation is all about fostering
the right Culture
But the right tools help transform
ideas into reality
Combine industry best practices for Design Thinking, Lean Startup, Agile Development, DevOps & Cloud to build and deliver innovative solutions.
Tracks
Read the transformation stories that guide you through the use of specific practices and tools to accomplish a goal.
Reference Architectures
View logical architectures to understand how to structure applications. Jump-start application development by using sample implementations with code.
Toolchains
A set of tool integrations that support development, deployment and operations tasks. The collective power of a toolchain is greater than the sum of its individual tool integrations.
Learning
Review the concepts of the Bluemix Garage Method and test your knowledge.
Combining Industry Best Practices for Design
Thinking, Lean Startup, Agile Development, DevOps
and Cloud to build and deliver innovative solutions
NEW NEW
NEW
https://ibm.com/devops/method
Garage Method & Architecture Center
https://www.ibm.com/devops/method/content/architecture/architecture_devops
Data & Analytics
Hybrid
Microservices
Mobile
IoT
Web App
Use DevOps practices, architectures and toolchains to build different types of applications.
Integrated view of DevOps practices, architectures & toolchains
Managing Multispeed IT
Intuitive and Scalable Model Driven Deployment
Composite Applications
Components
Re-usable Workflows Environment ManagementSIT
PROD
The “What” The “How” The “Where”
DEPLOYMENT AUTOMATION
Workload styles vary, but not release methodologyTraditional IT Cloud-Enabled Cloud-Native
App Servers
+ +
DatabaseWeb Servers
Applications
App Servers
+ +
DatabaseWeb Servers
Applications ServicesApplicationsServices
Managed Runtimes
IBM UrbanCode for Application Release Automation
Drive down costReduce amount of manual labor, resource wait-time, and rework by eliminating errors & providing self-service environments
Speed time to marketIncrease frequency of software delivery through automated, repeatable deployment processes across development, test and production
Reduce riskRobust configuration management, coordinated release processes, audits, and traceability
Enabling clients to continuously deliver applications with high quality and low risk
IBM UrbanCode Build is a continuous integration and build management server optimized for the enterprise, designed to make it easy to scale the configuration and management of build infrastructure and seamlessly plug in to development, testing and release tooling.
IBM UrbanCode Deploy enables hybrid cloud by automating the deployment of applications, databases, configurations and containers into development, test and production on prem or in the cloud, helping to drive down cost, speed time to market with reduced risk. With full-stack environment management and deployment automation, users to design, deploy and update full-stack environments for multiple clouds, including Bluemix, Softlayer, AWS, Azure, and virtualized environments.
IBM UrbanCode Release is an intelligent collaboration release management solution that replaces error-prone manual spreadsheets and streamlines release activities for application and infrastructure changes.
Typical Delivery Pipelines
JenkinsCITravisCI
UrbanCode Build
GitHubGitLab
Subversion
ArtifactoryNexus
Docker Registry
Docker DatacenterKubernetes
Hybrid Cloud Deployments through a Single Point of Control
IBM Bluemix
Cloud Foundry
On-prem IaaS
On-prem Traditional IT
IBMCloudOrchestratorIBMPureApplicationSystem
Manage application deployment across dev, test, and production spanning multiple clouds
Key Points:• Enable full stack deployments (OS, patterns and
applications) across hybrid cloud applications• Establish common DevOps pipelines with plug
points to support continuous delivery
Virtual Machines
DockerContainers
Other VendorsUrbanCodeDeploy
UrbanCode Release
https://www.youtube.com/watch?v=fFuRg6l3N44
Cloud-Enabled Workloads with UrbanCode Deploy
16
§ Yourapplications aremanagedthroughout theentirerelease processwithpredictable automation andinventoryservices
§ Yourfull-stack blueprints capturetherelationships between yourapplications andcloud infrastructure
§ OpenStackAPIprovidesdefactostandards forinteractingwithallofyourcloudresources
Heat Blueprints
UrbanCodeDeploy
Compute Network Storage
Your Applications & Middleware
Full-stack Application Pattern
17
• ~40 Components – Large Middleware
• Deploys IBM MobileFirst Platform across 4 nodes in under an hour
• Thousands of deployments for dev/QA/prod environments
• Provides API platform for mobile apps developed as part of the Apple+IBM partnership
Apple+IBM Partnership – API Services
Continuous Integration for Containers
18
Jenkins
IBM UrbanCode Deploy
DockerTrustedRegistry
Build Image
Track Versions
Deploy & Promote
• ContinuousIntegrationbuildsDockerimagesandpublishesthemtoDockerTrustedRegistry
• UrbanCodeDeployimmediatelybecomesawareofnewversions,availablefordeployment
• Scheduledeployments,trackreadinessviaenvironmentgates,andmanageconfigurationpropertiessecurely
• DeploymentstoDockerUniversalControlPlane
Docker Integration Architecture
Docker TrustedRegistry
IBM UrbanCode Deploy
swarm
DockerUniversalControlPlane
LegacyDatabase
Legacy Applications
Use UrbanCode Deploy to Manage Containers:
Inventory Management Promotion Lifecycle
Separation of Duties Import images from trusted sources
Docker TrustedRegistry
IBM UrbanCode DeployDocker
UniversalControlPlane
LegacyDatabase
Legacy Applications
UrbanCode Deploy & Compose
• Import your docker-compose file• Automatically create resource tree components• Updates, Inventory management, Deployments, etc. are all the same.
21
Continuous Delivery Toolchains
© IBM Corporation / Confidential 23
IBM Cloud
To learn more visit:https://bluemix.net/devops/
Introducing IBM Bluemix Continuous DeliverySpeed with control
Create an integrated DevOps toolchain
Deliver continuously using an automated pipeline
Improve quality through insights
Edit your code from anywhere
© IBM Corporation / Confidential 24
IBM Cloud24Page© 2016 IBM Corporation
Create an integrated and open DevOps toolchain that works across the full DevOps lifecycle
Toolchains provide an integrated set of tools that support the best practices to build, deploy and manage your apps.
You can create toolchains that include Bluemix services, open source tools, and third-party tools that make development and operations repeatable and easier to manage.
Rapidly instantiate new toolchains from templates to on-board new teams quickly.
A sample open toolchain for building, and deploying and managing three microservices
© IBM Corporation / Confidential 25
IBM Cloud
To learn more visit:https://bluemix.net/devops/
Integrated toolchains for Continuous Delivery
Tool chain templates to deploy microservices as cloud foundry applications or dockercontainers on IBM Bluemix
Tool chain automatically created based on the template, with pre-configured integrations.
© IBM Corporation / Confidential 26
IBM Cloud
Deliver continuously using an integrated pipeline
Import Code• Import, build, and deploy an application
from a GitHub or Jazz repository in a few clicks.
Continuous Integration• Automate builds and deployments for
many types of code, running builds automatically when code changes.
Continuous Testing• Integrate automated unit tests as part
of your builds.Deliver to Multiple Cloud Platforms• Deploy applications to one or many
Cloud Foundry or IBM Containers on Bluemix environments.
Dev/Test with Hybrid Cloud
Off-
Prem
On-
Prem
Image Registry
IBM UrbanCode DeployPRODSTAGING
Delivery Pipeline
IBM Bluemixhttps://www.youtube.com/watch?v=Eo1rFsv4BW0
© IBM Corporation IBM Confidential
More complex tool chains can be created from templates
© IBM Corporation IBM Confidential
Configure new integrations
© IBM Corporation 30IBM Confidential
THANK YOU
© IBM Corporation 31IBM Confidential
Please Note:
31
• 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.
© IBM Corporation 32IBM Confidential
Notices and Disclaimers
32
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
© IBM Corporation 33IBM Confidential
Notices and Disclaimers Con’t.
33
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.