hybrid cloud devops : dev & test in public run anywhere · best practices best practices are...

35
IBM Cloud Forum 20 novembre 2019 New Cap Event Center, Paris Cloud Forum / @ 2019 IBM Corporation Philippe Mulet Distinguished Engineer IBM Cloud Dev Tools Hybrid Cloud DevOps : Dev & Test in public Run anywhere

Upload: others

Post on 30-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

IBM Cloud Forum

20 novembre 2019New Cap Event Center, Paris

Cloud Forum / @ 2019 IBM Corporation

Philippe Mulet

Distinguished Engineer

IBM Cloud Dev Tools

Hybrid Cloud DevOps :

Dev & Test in public

Run anywhere

Page 2: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

• IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice and 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.

Please note

Page 3: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

No clearly defined best practices

Best practices are often defined by the tools being used, not by the needs of the organization

Poorly defined tool integrations

Integrations between different proprietary and open source tools are often difficult to create and maintain

Limited ability to deploy across platforms

Solutions are often platform specific, and are hard to scale, secure and deploy across multiple clouds in hybrid environments

Challenges in implementing new technologies

Organizations are challenged to implement new technologies and best practices like Helm, Kubernetes, Istio, etc.

3IBM Cloud / © 2019 IBM Corporation

DevOps Transformation is Cloud-native, platform agnostic and hybrid focused

In the landscape of fragmented tools and processes, enterprises often find it difficult to integrate tools and practices from multiple vendors and open source projects

This results in an inability to enhance speed and quality, reduce maintenance costs and unify teams to engineer towards DevOps transformation success.

Page 4: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Develop in a public Cloud

Don’t assume development can’t use public cloud tools

just because production is on private

Data considerations

• Avoid sensitive data in issue tracking, else integrate on prem tool

• Remove sensitive data from source code, else integrate on prem tool

• Dev and Test environment with anonymized/public data

• Auth tokens/secrets stored on-premise vault, bound during deployment to actual environment (env secrets directly read from the apps, not flowing through CI/CD)

Leverage public cloud for Dev & Test regardless of where prod is deployed• Elasticity, TCO, Availability

• Security, Isolation (private network, per tenant encryption)

Page 5: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

5

Hybrid Cloud DevOps : Dev & Test in public

Run anywhere

IBM Cloud / © 2019 IBM Corporation

Page 6: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Develop at the Speed of Cloud – with Control

Need both Speed and Control:

• Deploy >20 times per day with quality

• Automate toolchain with quality gates

Agile transformation requires Cloud to maximize benefits

DevOps is the way to develop efficiently for Cloud

Page 7: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

IBM Cloud Continuous Delivery

Git Repos and

Issue Tracking

• Git repositories

• Modern Git workflow

• Merge requests

• Issue boards

• HA setup (multiple

availability zones)

Based on GitLab CE

Delivery

Pipeline

• CI/CD

• Easy setup

• Deploy to any cloud,

including hybrid

• Build pull requests• Our container

image or your own

New: Tekton

Eclipse Orion

Web IDE

• IDE in a browser

• Code completion

• Refactoring

• Git client

Based on Eclipse Orion

DevOps

Insights

• Collect quality data

• Establish policies

• Implement gates

• Analyze trends

Open

Toolchain

• Setup new projects quickly

• Integrate IBM and third-

party tools

• Reproduce best practices

with templates

• Access tools in one place

https://www.ibm.com/cloud/continuous-delivery

Page 8: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

IBM Cloud DevOpsIntegrated Cloud Experience

8

Available Worldwide

• US South (Dallas), US East (Washington, DC), Frankfurt,

London, Tokyo

• Integrated with Identity Access Management

Security

• Regional data isolation

• Security - auditing, data encryption in motion and at rest,

continuous vulnerability scanning including QRadar for

application logs

• Compliance: ISO27K, GDPR, EU-managed, SOC2 (soon)

• Backup in geo - encrypted and GDPR compliant

Reliability

• Rearchitected on Kubernetes in 2018 for Increased

Reliability - exploits 3 availability zones per region for HA

60+IBM Cloud data centers

across 18 countries & 5

continents

ONECloudArchitecturerunning Watson, Data,

IBM Z, Blockchain

170+services with public,

private & local models

1,900Cloud –technology

patents granted in 2017

to IBM

1st

cloud provider to deliver hyper-data protection & commit

to GDPR compliance

Page 9: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

9Page

IBM Cloud DevOps: Quick Overview

Speed with control

Create an integrated DevOps

toolchain

Deliver continuously & manage

composite pipelines

Edit your code from anywhere

Git repos & issue tracking

To learn more visit:

https://www.ibm.com/cloud/continuous-delivery

Continuous Delivery

Improve quality through insights

IBM Cloud DevOps / June 2018 / © 2018 IBM Corporation

Page 10: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

10Page

Open Toolchain

A sample open toolchain for building, and deploying and managing three microservices

• 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 IBM Cloud

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.

To get started visit:

https://cloud.ibm.com/devops

Create and manage toolchains of best of breed industry tools

IBM Cloud DevOps / June 2018 / © 2018 IBM Corporation

Page 11: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Get started quickly with toolchain templates1-click setup of sample code and fully configured toolchain

Get your teams up and running quickly

Customizable templates, so you can define your own

IBM Cloud DevOps / June 2018 / © 2018 IBM Corporation

Page 12: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Page 12

Add more tools or mix and match… it’s open!

Create new toolchain templates

Choose from a growing list of open source, third party, and other IBM tools

IBM Cloud DevOps / June 2018 / © 2018 IBM Corporation

Page 13: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

• Cloud hosted social coding

• Commits, pull requests, issue tracking, graphs, …

• High resilience, multi zone architecture with regular off-site backups

• Based on GitLab™ Community Edition

Git Repos & Issue Tracking

Page 14: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Page 14

Delivery Pipeline

Easy Setup• Deploy an application from a Git repo in a few clicks.

Continuous Integration• Automate builds, tests and deploys for many types of code, running

builds automatically when code changes.• Follow GitOps best practices by building pull requests.

Deliver to Multiple Cloud Platforms• Deploy applications to any environment with network path, in

particular IBM Cloud Kubernetes, Cloud Foundry, Virtual Machines or other cloud providers.

Custom jobs with your own docker images• Use curated version of build and dev tools in pipelines; or bring your

own images with your tools for building, testing and deploying.

Bring your own pipeline worker• Register your own pipeline worker to poll and execute workloads on-

prem, on iOS machines.

Pipeline as code• Define your pipeline as code with Tekton open standard, and

manage it as code in your repo.

IBM Cloud DevOps / June 2018 / © 2018 IBM Corporation

Page 15: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Eclipse Orion Web IDE15

• Edit your code from anywhere

• Persisted user workspace

• Cloud-hosted, Web-based IDE

• Built-in Git client

• Create, edit, run, debug

• Powerful syntax highlighting, code assist, and refactoring

• ”Live Edit” – push hot changes directly to the Cloud

• For Cloud Foundry apps

• Node.js, HTML, CSS

Page 16: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

DevOps Insights

16IBM Cloud DevOps / June 2018 / © 2018 IBM Corporation

Speed: Aggregate data from a variety of testing and code scanning tools to provide a comprehensive dashboard view of the risk profile of projects.

Quality: Ensure quality through automated enforcement of policies and gates based on test metrics.

Control: Track deployment risk and measure results over time as teams react to the trends in their DevOps practices

Page 17: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Deployment Risk Analysis17

Think 2019 / 4593A / Feb 14, 2019 / © 2019 IBM Corporation

Understand build status, security scan results, code coverage, and test coverage to evaluate whether to promote your app to the next environment.

Ensure quality through automated enforcement of policies and gates based on quality metrics

Identify your project’s development risk.

Page 18: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

18Page

Develop a Kubernetes app with Helm toolchain

– Create a DevOps toolchain to code, build, and deliver a node.js app

– Build app in a Docker image

– Validate image using Vulnerability Advisor

– Deploy app to a Kubernetes Cluster using Helm charts

– Locally develop and test with Minikube

– Add a tool integration for notifications (Slack)

– Modify app and redeploy

– Deploy app to a staging serverhttps://www.ibm.com/cloud/garage/tutorials/use-

develop-kubernetes-app-with-helm-toolchain

IBM Cloud DevOps / June 2018 / © 2018 IBM Corporation

Page 19: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Develop and test microservices in IBM Cloudusing Cloud DevOps, Kubernetes and Helm

• Teams building an online store application, formed with 3 microservices kept in separate Git repos

• Using Kubernetes with Continuous Delivery to build, test and deploy the application

• Using Helm release management within Delivery Pipeline, separation of duties between squad developing and SRE deploying

• Speed with control, using Insights quality gates and traceability across toolchains

• Selenium testing with SauceLabs, notifications through Slack and alerting through Pagerdutyhttps://www.ibm.com/cloud/garage/tutorials/use-

develop-test-microservices-with-kubernetes-and-helm-toolchain

Page 20: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

https://cloudcontent.mybluemix.net/cloud/garage/tutorials/use-canary-testing-in-kubernetes-using-istio-toolchain

Canary test in IBM Cloudusing Cloud DevOps, Kubernetes and Istio

– Create a DevOps toolchain to code, build, and deliver a node.js app

– Build app in a Docker image

– Validate container using Vulnerability Advisor

– Deploy app to a Kubernetes Cluster

– Develop in a canary branch, with CI/CD pipeline; automatic inference of canary deployment manifests

– Canary test using Istio service mesh for controlled roll out

– Merge back to master branch, finalize canary

Pipeline CANARY- “canary” branch- unit test- build Docker image- vulnerability advisor- deploy dark- progressive rollout

Pipeline STABLE- “master” branch- unit test- build Docker image- vulnerability advisor- functional test- Kube deployment- route 100% traffic

Image Registry(private)

Microservice repoincl. Docker file, deploy manifest

project/app:1.1

project/app:1.0

project/app:canary-0.9

Eclipse WebIDE- develop in the cloud- live edit, refactor- debug

Develop locally

Prod Cluster

Pod-3Pod-2

Pod-1

Pod-2-canary

master branch

canary branch

Page 21: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

https://github.com/open-toolchain/kube-razee-toolchain

Deploy at scale in IBM Cloudusing Cloud DevOps, Kubernetes and Razee

– After installing Razee in target cluster

– Create a DevOps toolchain to code, build, and deliver a node.js

– Build app in a Docker image

– Validate container using Vulnerability Advisor

– Deploy to first cluster using Razee pull-modelagent

– Add Razee in more clusters, and see next change deployed in multiple clusters at once.

– Rollback deployments by reverting Razee deployment information once

Pipeline STABLE- “master” branch- unit test- build Docker image- vulnerability advisor- update Razee

deploy info

Image Registry(private)

Microservice repoincl. Docker file, deploy manifest

project/app:1.1

project/app:1.0

Eclipse WebIDE- develop in the cloud- live edit, refactor- debug

Develop locally

Cluster #2

Pod-3Pod-2

Pod-1

master branch

Deployment repoincl. Razee

deployment manifest

Cluster #3

Pod-3Pod-2

Pod-1

Cluster #1

Pod-3Pod-2

Pod-1

Razee

pulling

Razee

observing

Page 22: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Case Study – European Transportation System

IBM Cloud / © 2019 IBM Corporation

• Project to build customer-facing station information displays.

• Developed in conjunction with BP

• Developed on IBM Cloud Public (Frankfurt, EU-managed)

• Using a coordinated microservices CI/CD process, following template: https://www.ibm.com/cloud/garage/tutorials/use-develop-test-microservices-with-kubernetes-and-helm-toolchain

• Utilizing IBM Cloud Continuous Delivery: Delivery Pipeline for deployment, and Gitlab Repos for repository (migration from GitHub Enterprise on Cloud Dedicated)

• Test deployments began in 2018, with full station rollouts beginning in Q1 2019

Page 23: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

23

Hybrid Cloud DevOps : Dev & Test in public

Run anywhere

IBM Cloud / © 2019 IBM Corporation

Page 24: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Develop on Cloud Public, Run anywherewith IBM Cloud Continuous Delivery

• Dev & test environments benefit from public cloud elasticity regardless of where production is deployed

• Don’t assume development can’t use public cloud tools just because production is on private

• IBM Cloud Continuous Delivery toolchains are able to reach any compute targets in IBM Cloud or outside

• Deploy across regions

• Target any public target directly or use private pipeline workers to reach private or local targets

Public

Private

OpenShift,Other cloud

Virtual servers

IBM Cloud Foundry

IBM Cloud Foundry Enterprise Environment

Page 25: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Private pipeline workers

• Enables pipeline work to run on• Particular platforms, e.g. MacOS (for iOS builds), Windows, ICP

• Particular networks, i.e. behind a firewall

• Bigger workers, for faster execution

• More workers, for reduced queuing

• Without execution time limits (jobs on shared public workers limited to 60 minutes)

• Private worker polling on CD public control plane (no inbound traffic into worker)

• Built on Tekton open-standard

Page 26: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Hybrid Continuous Delivery with Tekton Pipeline Workers

Managed Pipeline Worker

Continuous DeliveryPipeline

Managed Pipeline Worker

Private Pipeline Worker

Pipeline executions,

logs

CD-managed pipeline workersshared multitenant

Private/localpipeline worker

Kubernetes cluster

Cloud Foundry

Virtual servers

Cloud Functions

Multi Cloud Manager

Target environments

Source code with pipeline

yaml

Continuous DeliveryGit Repos and Issue Tracking

Other Cloud provider

FIREWALL

Polling for work

Private Git Repository

Other private Tools

Source code with pipeline

yaml

Private pipeline worker isolated in public Cloud

Other Git provider

Polling for work

Kubernetes cluster

Virtual servers

…Private Pipeline

Worker

Target environments

IBM Cloud

Other public

Private

Page 27: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

• “Open-standard” backed Pipeline-as-code

• Multi-vendor collaboration with foundation backed governance

• Uses Kubernetes CRDs and leverages existing tooling (helm, kustomize, ksonnet)

• Future of CI/CD Runtimes

• Evolving CI/CD pattern support in lock-step with latest Kubernetes patterns

• Already adopted for products by IBM DevOps, Kabanero, OpenShift, Jenkins X, Puppet Nebula, with internal POCs at Google, eBay, Alibaba, …

• Tekton Community!

• Catalog of best practices for authoring pipelines and tasks

• Sub-projects that extend Tekton for important use-cases and support experimentation(Dashboard UI, CLI, Triggers, Webhooks Extension, Operator)

• Committers and contributors willing to lend a hand.(Plumbing, Knative Build, Kubeflow)

https://tekton.dev/

Page 28: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Continuous Delivery Foundation

• CDF believes in the power of Continuous Delivery to empower developers and teams and to produce high quality software more rapidly

• CDF believes in the open-source solutions collectively addressing the whole SDLC

• CDF fosters and sustains the ecosystem of open-source, vendor neutral projects through collaborations and interoperability

https://cd.foundation/

Page 29: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Integrating on-prem and cloud-native Insights

IBM Cloud / © 2019 IBM Corporation

1. grunt-idra3: Downloadable npm

package:

• Use this utility to integrate

Insights with:

• Travis CI

• Concourse

• IBM Urban Code Deploy

• IBM Continuous Delivery

Pipelines

• …other CI/CD tools.

• Avail also with ibmcloud CLI

ibmcloud doi(ibmcloud plugin install doi)

2. If using Jenkins, download IBM

Cloud DevOps plugin from

Jenkins plugin site

Continuous Delivery

https://www.npmjs.com/package/grunt-idra3

https://plugins.jenkins.io/ibm-cloud-devops

Page 30: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

IBM Cloud / © 2019 IBM Corporation

BNP Paribas […] will now integrate the IBM

Cloud hosted in data centers dedicated to

the bank. BNP Paribas will also strengthen

its Hybrid Cloud “As a Service” capabilities

using IBM solutions offered via its public

Cloud to support the development of new

services, including test and applications

environments.

In line with its Cloud strategy and in order to

ensure the security of its customers' data,

BNP Paribas will not use Public Cloud for

either customer data or production

environments with sensitive information.https://group.bnpparibas/en/press-release/bnp-paribas-signs-

agreement-ibm-services-deploy-cloud-strategy

Case Study – BNP Paribas

• Data protection guiding principles, e.g. unless sensitive code,

use IBM Cloud git hosting, else use on-prem git

• Utilizing IBM Cloud Continuous Delivery, DevOps Insights for

dev & test in public, orchestrate deployments either in public or

private cloud

• Leveraging Private Pipeline Workers to reach more sensitive

targets or tools

Page 31: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

31

Case Study – IBM Watson HealthHealthcare @ Cloud Compliance• HIPAA / HITECH (Security / Privacy / Breach Reporting)

• ISO 9001:2015 (Quality Management System)

• ISO 27K (Information Security Controls)

• SOC2 (Data Security, Availability, Processing Integrity,

Confidentiality, and Privacy)

• Watson Foundation for Health Alpha went live on July 1st 2019

• Implementing Healthcare development compliance (HIPAA) in IBM

Cloud Public using Cloud DevOps with a coordinated microservices

• Migrated away from managing own tools (e.g. Jenkins)

” The Continuous Delivery and DevOps Insights

services have proven to be the right investment for us

as we pivot into more work (scale) and Hybrid Cloud ! ”

Page 32: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

32

Case Study – DevSecOps• Security vulnerabilities in software are “eating

business results” in the form of damaged brand

reputation, client trust, and financial fines.

• Ongoing requirements to increase compliance

certification: SOC2 type2, FedRamp, …

• What if clients could fix these known vulnerabilities

before they make it into production applications ?

• Note: Automated prod scans still needed, as existing apps may

rot, and ultimately needed for audit materials.

• Numerous issues could be detected earlier in dev

cycle by augmenting CI/CD pipelines and allowing

to shift compliance to the left of the dev cycle;

avoiding promoting bad code and even better

avoiding accepting bad pull requests into team

source control.

Challenge: Keep the “assembly line” running always,

as an emergency fix might always be needed to

remediate a critical situation; hence need for pull

request validation.

Page 33: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

33

Developer & DevOps Tools

ModernizationToolkit

Frameworks and Runtimes

• Move and modernize apps - using insights about your current infrastructure to appropriately refactor, optimize resources and costs, and reduce complexity

• Develop cloud native apps with containers, starting with open source, common services, developer tools of choice, and integrated DevOps

• Optimized set of frameworks and runtimes for cloud native and traditional

• Accelerate development with governance, supported by IBM enterprise expertise

• Investment protection as you modernize at your pace

Use cases Competitive differentiationKey capabilities Client examples

IBM Cloud / June 2019 / © 2019 IBM Corporation

Build, test, move, and deploy applications in a modern, microservice-based framework

IBM Cloud Pak for Applications

Pre-integratedSystems

Page 34: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined

Notices and disclaimerscontinued

34

IBM Cloud / © 2019 IBM Corporation

•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 about 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 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 and [names of other referenced IBM products and services used in the presentation] 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.

Page 35: Hybrid Cloud DevOps : Dev & Test in public Run anywhere · best practices Best practices are often defined by the tools being used, not by the needs of the organization Poorly defined