46
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. DevOps / Cloud Native Deliver Your Ideas NOW Andreas Postl Principal Sales Consultant Middleware PaaS Ambassador September 4 th 2017

DevOps / Cloud Native Deliver Your Ideas NOW 04, 2017 · Managing Containers Easily on Oracle Public Cloud Cloud & Container Native Enterprise Operations Ready Built-In Collaboration

Embed Size (px)

Citation preview

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

DevOps / Cloud Native Deliver Your Ideas NOW

Andreas Postl Principal Sales Consultant MiddlewarePaaS Ambassador

September 4th 2017

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Software Is Overtaking the World

Marc Andreessen, Netscape Founder , VC Andreessen Horowitz

US Venture Capitalist firms invest $ 20 B / yearin XaaS start-ups to disrupt business models

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 3

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Better Segment SoftwareDifferent software has different needs

Find the Next Business

Run the Current Business

Run the Back Office

New IT

Old IT

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Different Types of Software Requires Different PracticesA payroll system should be treated very different from a customer-facing .com

Innovation Software - Find the Next Business

Differentiation Software - Run Current Business

Core Software - Keep the Lights On

Release Hourly

Fail Early

Agile

Business-centric

Top Line Growth

Bespoke Software

Product-based

Release Quarterly

Fail Late

Waterfall

IT-centric

Bottom Line Savings

Packaged Software

Project-based

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Copyright © 2015 Oracle and/or its affiliates. All rights reserved.

Change How To Procure Software

6

Co

mp

etit

ive

Dif

fere

nti

atio

n

Buy as SaaS Build

Innovation Software

Differentiation Software

Develo

per-led

Pro

curem

ent

Core Software

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Multi-Dimensional Evolution of Computing

7

Development Process Application Architecture Deployment and Packaging Application Infrastructure

Waterfall Monolithic Physical Server Datacenter

Agile N-Tier Virtual Servers Hosted

DevOps Microservices Containers Cloud

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Microservices• Minimal Function• Service Discovery• API-first

3 • Polyglot• Choreography• Loose Coupling

DevOps• Automated Provisioning• Automated Setup• Continuous Integration

1 • Continuous Delivery• Automated Testing• Agile• Culture Change

* as a Service• Consume Infrastructure and

Software as a Service• Fault Tolerant by Definition

2 • Auto-scaling• Infinite Elasticity

What is Cloud Native?A new style of architecture

Distributed Computing• Multi-master• Many Data Centers• Many Fault Domains

4 • Many Regions• Global Server Load Balancing• Replication

Co

mp

eten

cy

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Tenet #1 - DevOps

9

DevOps seeks to solve this

It's not my machines, it's your code!

It's not my code, it's your machines!

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Ongoing Operations is Now a Shared ResponsibilityIn perpetuity. No more “throwing it over the wall”

New GoalAdd new features and keep the system stable, fast and available

DevelopersPaid to add new features

that may break things

OperationsPaid to keep system

available, stable, and fast

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 11

New goal:Deliver new features and keep the system stable and fast. Get structured feedback data !!!

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Prerequisite #1 - DevOpsRequires changes throughout your entire organization

Culture Technology

Respect

Discuss

Avoid Blaming

“Done” Means Released

Infra as Code

Shared Version Control

One Step Build/Deploy

Don’t Fix Anything

• Dev respect for ops• Ops respect for dev

• Ops should be in dev discussions• Dev should be in ops discussions• Shared runbooks

• No fingerpointing!• Everyone should have some

culpability

• Dev’s responsibility shouldn’t ever end – production support required

• “Throwing it over the wall” is dead

• Don’t build envs by hand• Scripts checked in and

managed as src

• Single system• Ship trunk• Enable features through flags

• One button build/deploy• If verification fails, stop and

alert or take action

• If something breaks, re-deploy. Don’t fix

• Fix environment setup scripts

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Tenet #2: Consume Things as a ServiceRequires fundamental shift in how applications are built

13

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Your CodeHighly innovative, differentiated, etc

Configuration

Caching

Load Balancing Eventing

Logging

Monitoring

Database

NoSQLState

Messaging

3rd Party Cloud – On or Off Premise

Building Block

Building Block

Building Block

Building Block

Building Block

Building Block

Building Block

Building Block

Building Block

Building Block

Building Block

Building Block

Where you’re not differentiating, consume building blocks from 3rd party cloud vendor

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 14

Tenet #3: Enabling the Move from Monolithic Apps to MicroservicesModern Cloud Native, Agile, Polyglot, DevOps Driven Application Development

Traditional Monolithic Architecture

User Interface

Business Layer

Data Interface Microservice

Microservice Architecture

Microservice Microservice

Microservice UIMicroservice UI

Independent services with communication using REST APIs/HTTP

Single Deployment

EntitySingle Deployment

Entity

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Three Key Rules to Microservices

Don’t share a datasource across microservices

Can release each microservice independently

Can build a microservice independently

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Everyone Should Be Able to Build Anything At Any Time

• Manual one button build/deploy

• Scheduled builds - every day, every week, etc

• Builds triggered by code check ins

• If post-build validation fails, report it

Set it and forget it

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Stop Manually Fixing ProblemsIn no case should an administrator fix issues by hand. Should be 100% automated

Auto-scaling will automatically launch a new container on new hardware as load dictates

Hardware FailureExample: motherboard failed

Auto-scaling will automatically launch new containers as load dictates

Network FailureExample: switch failed

Health checking should fail and the container will be culled. Auto-scaling will automatically launch a new container as load dictates

System Software FailureExample: kernel panic

Application Software FailureExample: bad file permissions

Fix the source (your application, your container, your Dockerfile, etc) and re-deploy your entire application

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Owners Support in Production

Everything is Owned by a Small Team

Owners Implement

Owners Architect

Owners Care

Owners Can Fix Things

Ownership is Key to the Success of Cloud NativeIn traditional enterprises, any one individual has very low ownership of anything. It’s classic tragedy of the commons

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Do One Thing and Do It Well

Focus on Business Capabilities

Avoid Inter-dependencies

Start Managing Small, Vertical TeamsCan have hundreds of microservices for a larger application

Large

Medium

Small

11-15 PeopleExample: Order Microservice

4-10 PeopleExample: Inventory Microservice

1-3 PeopleExample: Order Status Microservice

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Remove All Hard-coded IPs, Host Names, etc

20

Use service discovery, DNS, etc instead. Everything should be dynamic

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Teams Should Not Have 100% Freedom

21

Standardize where it makes sense. Be pragmatic

Custom Code

Communication Protocol

Data Format

Infrastructure

Datastore

Sou

rce

Co

ntr

ol

Co

nfi

gura

tio

n M

anag

emen

t

Dev

elo

pm

ent

Too

ling

Alerting

Monitoring

Standardize on One

Offer a Menu of 2-3 Options

Team Has Complete Choice

Programming Language

Messaging

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Why Containers?

22

• Quickly create ready-to-run packaged applications, low cost deployment and replay

• Automate testing, integration, packaging

• Reduce / eliminate platform compatibility issues (“It works in dev!”)

• Support next gen applications (microservices)

• Improve speed and frequency of releases, reliability of deployments

• Makes app lifecycle efficient, consistent and repeatable – configure once, run many times

• Eliminate environment inconsistencies between development, test, production

• Improve production application resiliency and scale out / in on demand

A container is packaged as an entire runtime environment:the service/app plus all dependencies, libraries, & configuration files needed to run it

Portable across environments & lightweight (share the OS)

Developers care because: IT cares because:

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Virtual Machines vs. Containers

Virtual Machines● Each virtual machine (VM)

includes the app, the necessary binaries and libraries and an entire guest operating system

Containers● Containers include the app & all of its dependencies,

but share the kernel with other containers. ● Run as an isolated process in userspace on the host OS● Not tied to any specific infrastructure – containers run

on any computer, infrastructure and cloud.

VMs

Containers

23

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Docker Architecture

24

• Client – Command line interface (CLI) for communicating with the host

• Daemon – server process that manages Docker objects

• Image – hierarchy of files build by docker

• Container- runnable instance of an image

• Registry – external storage for Images

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Oracle Cloud and Docker Containers

Container CSCompute CS Application Container CS

DIY Container Management

Oracle Managed Container Service

Docker-based Cloud Polyglot Platform

IaaS CaaS PaaS

Coming Soon!

25

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 26

Oracle Container Cloud ServiceManaging Containers Easily on Oracle Public Cloud

Cloud & Container Native

Enterprise Operations Ready

Built-In Collaboration

• Docker Compatible

• One-Click Application Stack Deployment

• Registry Integration

• Build CI/CD Pipelines

• Operations Dashboards

• Container Health Checks

• Service Scaling

• Orchestration & Scheduling Policies

• Resource Pools for Dev, Test, Prod

• Run, Deploy Oracle Certified Docker Images

• Quickstart, Best Practices Included

• Integration REST API

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Oracle Container Cloud Service Architecture

27

OCCS Manager Node

OCCS Worker Node OCCS Worker Node OCCS Worker Node

Image Registry (Public/Private)SSH Access / Console UI / REST API

OCCS Instance

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Container CS Provides Out of the Box Functionality

● Create Instances as Needed

● Define Resource Pools

● Add Private Registries

● Edit Create New Services

● Compose Application Stacks

● Deploy Stacks with 1 Click

● Automated Deployment

● Multi-Host, Easy Scale Out

● Built in Service Discovery

● Integrated Health Checks

● Unified Dashboard

● Monitoring and Auditing

Configuration

Management

Application

Deployment

Container

Orchestration

Operations

Management

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 29Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 29

Oracle acquires WerckerCI/CD for Docker Containers – oracle.com/wercker

Git

Build Push to Registry

PushTest

Deploy to Scheduler

Deploy

Registry

OSS CLI Pipeline/Build ConsoleWorkflow Automation

Oracle, On Premise, Amazon, Azure, Google …

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Plan

Code

Build

Test

Release

Deploy

Operate

Monitor

DevOps Cycle

Seen in the DevOps Sales Play –featuring:

• Oracle Developer Cloud Service

– Now Includes Docker Image Build Function

• Oracle Container Cloud Service

– Deploy, Operate, Monitor

Dev CSContainer CS

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Demo

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 37

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 38

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 39

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 41

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Support for Docker Running on Oracle Linux (Doc ID 1921163.1)• Oracle support is limited to the version of Docker built by and downloaded from Oracle.

Support is not provided for the upstream binary packages downloaded from the upstream Docker site.

• Oracle support for Docker is limited to customers with either Basic or Premier Oracle Linux Support Subscriptions.

• Oracle only provides Docker server binary packages for Oracle Linux 6 and Oracle Linux 7 (x86_64). Oracle only provides support for Docker with the Unbreakable Enterprise Kernel Release 4 (UEK4), identified by a kernel version of "4.1" or newer.

• Oracle support is limited to severity 2 service requests and lower. Severity 1 service requests will not be accepted for Docker.

• Support is limited to assistance with the initial installation of Docker and subsequent configuration of Docker to enable downloading, creation and running of Dockerizedapplications.

42

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Support for Oracle Database Running on Docker (Doc ID 2216342.1)

• Oracle plans to certify the latest versions of Oracle Database to run in Docker containers which are built and supported with Oracle Linux and UEK4 as the host.

• Additionally, Oracle will support customers running Oracle Database (single instance) in Docker containers running on Oracle Linux 7 or Red Hat Enterprise Linux 7. Docker binaries are available in the Addons channel for Oracle Linux. Details on Installation can be found in Chapter 2 of the Oracle Linux Docker Users Guide.

• Oracle Database running in a Real Application Clusters (RAC) configuration in Docker containers is NOT supported.

UPDATE (August ‘17): Oracle RAC for Docker early adaptors announced

43

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Oracle Database Images from GitHub

https://github.com/oracle/docker-images/tree/master/OracleDatabase

44

• Oracle DB 12cR2 (12.2.0.1) EE /SE

• Oracle DB 12cR1 (12.1.0.2) EE / SE

• Oracle DB 11gR2 (11.2.0.2) XE

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Oracle Database Images from Docker Store

https://store.docker.com/search?q=oracle&source=verified&type=image

45

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 46

Questions?