how do you deliver your applications to the cloud?

34
How do you Deliver your Applications to the Cloud? Michael D. Elder IBM Distinguished Engineer Chief Developer for UrbanCode and Hybrid Cloud DevOps @mdelder | [email protected]

Upload: michael-elder

Post on 12-Feb-2017

156 views

Category:

Software


1 download

TRANSCRIPT

Page 1: How do you deliver your applications to the cloud?

How do you Deliver your Applications to the Cloud?

Michael D. ElderIBM Distinguished EngineerChief Developer for UrbanCode

and Hybrid Cloud DevOps@mdelder | [email protected]

Page 2: How do you deliver your applications to the cloud?

© 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?

Page 3: How do you deliver your applications to 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

Page 4: How do you deliver your applications to the cloud?

Cloud Delivery Team Culture

Page 5: How do you deliver your applications to the cloud?

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

Page 6: How do you deliver your applications to the cloud?

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

Page 7: How do you deliver your applications to the cloud?

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

Page 8: How do you deliver your applications to the cloud?

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.

Page 9: How do you deliver your applications to the cloud?

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

Page 10: How do you deliver your applications to the cloud?

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

Page 11: How do you deliver your applications to the cloud?

Managing Multispeed IT

Page 12: How do you deliver your applications to the cloud?

Intuitive and Scalable Model Driven Deployment

Composite Applications

Components

Re-usable Workflows Environment ManagementSIT

PROD

The “What” The “How” The “Where”

DEPLOYMENT AUTOMATION

Page 13: How do you deliver your applications to the cloud?

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

Page 14: How do you deliver your applications to the cloud?

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.

Page 15: How do you deliver your applications to the cloud?

Typical Delivery Pipelines

JenkinsCITravisCI

UrbanCode Build

GitHubGitLab

Subversion

ArtifactoryNexus

Docker Registry

Docker DatacenterKubernetes

Page 16: How do you deliver your applications to the cloud?

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

Page 17: How do you deliver your applications to the cloud?

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

Page 18: How do you deliver your applications to the cloud?

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

Page 19: How do you deliver your applications to the cloud?

Continuous Integration for Containers

18

Jenkins

IBM UrbanCode Deploy

DockerTrustedRegistry

Build Image

Track Versions

Deploy & Promote

• ContinuousIntegrationbuildsDockerimagesandpublishesthemtoDockerTrustedRegistry

• UrbanCodeDeployimmediatelybecomesawareofnewversions,availablefordeployment

• Scheduledeployments,trackreadinessviaenvironmentgates,andmanageconfigurationpropertiessecurely

• DeploymentstoDockerUniversalControlPlane

Page 20: How do you deliver your applications to the cloud?

Docker Integration Architecture

Docker TrustedRegistry

IBM UrbanCode Deploy

swarm

DockerUniversalControlPlane

LegacyDatabase

Legacy Applications

Page 21: How do you deliver your applications to the cloud?

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

Page 22: How do you deliver your applications to the cloud?

UrbanCode Deploy & Compose

• Import your docker-compose file• Automatically create resource tree components• Updates, Inventory management, Deployments, etc. are all the same.

21

Page 23: How do you deliver your applications to the cloud?

Continuous Delivery Toolchains

Page 24: How do you deliver your applications to the cloud?

© 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

Page 25: How do you deliver your applications to the cloud?

© 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

Page 26: How do you deliver your applications to the cloud?

© 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.

Page 27: How do you deliver your applications to the cloud?

© 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.

Page 28: How do you deliver your applications to the cloud?

Dev/Test with Hybrid Cloud

Off-

Prem

On-

Prem

Image Registry

IBM UrbanCode DeployPRODSTAGING

Delivery Pipeline

IBM Bluemixhttps://www.youtube.com/watch?v=Eo1rFsv4BW0

Page 29: How do you deliver your applications to the cloud?

© IBM Corporation IBM Confidential

More complex tool chains can be created from templates

Page 30: How do you deliver your applications to the cloud?

© IBM Corporation IBM Confidential

Configure new integrations

Page 31: How do you deliver your applications to the cloud?

© IBM Corporation 30IBM Confidential

THANK YOU

Page 32: How do you deliver your applications to the cloud?

© 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.

Page 33: How do you deliver your applications to the cloud?

© 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

Page 34: How do you deliver your applications to the cloud?

© 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.