Oracle Cloud DevOps
Enrique Martin Casado Presales Director
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Agenda • Oracle & DevOpc • Tools – Developer Cloud Service – Wercker (CI/CD) • Container Native Cloud Service • Database in CI/CD
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle & Open Source and Community for Container Native • Oracle’s participation in open source community Active Community Participation – Active Participation – Cloud Native Compute Foundation and Kubernetes – No forked code – straight from the source • Lead by example Innovate in Open Source – Oracle software on Docker Store – Kubernetes engineering in CNCF • Innovate in open source OpenJDK 4 Containers Kubernetes – Container utilities like smith, railcar, crashcart Open Sourcing Docker Utilities • Sponsor & contribute to key conferences – DockerCon, Kubecon, CoreOS Fest smith crashcart railcar
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 3 Active Open Source Contribution of Container Based Solutions from Oracle Development
smith railcar crashcart
A simple command line utility Alternative Docker A simple command line for building runtime implemented utility that lets you side load microcontainers from rpm in Rust following the an image with linux binaries packages or oci images. Open Container Initiative into an existing container. OCI-Runtime Spec Facilitates easier debugging
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 4 Oracle in Docker Store
1 of 8 results for Oracle. Clear search
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 5 DevOps • DevOps is a culture, movement or Plan practice that emphasizes the Monitor Code collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes. It Operate Build aims at establishing a culture and environment where building, testing, and releasing software, can happen rapidly, frequently, and more reliably. Deploy Test – Wikipedia Release
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 6 Oracle Developer Cloud Service • Code/CI Management – Version Management – Git – Build Automation • Ant, Maven, Gradle, npm, Grunt, Bower, Gulp, SQLcl, Shell – Test Automation • Selenium, JUnit, Findbugs – Continuous Integration Engine – Deployment & Provisioning Automation • Team/Agile Management – Issues Tracking – Agile Process Management – Code Review – Wiki – Activity stream
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Spectrum of Users & Needs
Serverless f(x)
Control vs. Ease of Use & Onboarding Container Native Cloud Native PaaS Enterprise Java Visual/Low Code
User: DevOps / Site User: Platform Developer User: Operations User: Line of Business Reliability Engineering Limited control tightly controlled for no exposure to consistency controls Granular control Prescriptive uniform tooling intuitive / UI based Highly scriptable Limited introspection designed for seamlessness integrated into a suite Deep introspection Short/efficient onramp low/no complexity Open affixed to environment Portable
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 8 Oracle Developer Cloud Service – Webhooks Connectivity
Webhooks Cloud Services Code Review
On Premise Servers
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Developer Cloud Service • Track Issues Plan • Agile Project Management Monitor Code • Wikis
Operate Build
Deploy Test
Release
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 10 Issue Tracking
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 11 Agile and Sprint Planning
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 12 Agile Reports for Progress Tracking
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 13 Developer Cloud Service • Git Repositories Plan • Coding in the Cloud Monitor Code • Code Review • IDE Integration Operate Build
Deploy Test
Release
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 14 Manage Code Repositories
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 15 Track Code Changes
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 16 Conduct Peer Code Review and Merge Requests
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 17 Developer Cloud Service • Support Popular Build Frameworks Plan • Orchestration and Dependencies Monitor Code • Build Reports and Notifications
Operate Build
Deploy Test
Release
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 18 Build Dashboard
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 19 Multiple Build Steps Orchestrations
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 20 Multiple Build Steps Orchestrations: Invoke SQL
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 21 Multiple Build Steps Orchestrations: Invoke SQL
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 22 Developer Cloud Service • JUnit Plan • Selenium Monitor Code • FindBugs • QA Deployments Operate Build
Deploy Test
Release
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 23 Test Results Dashboard
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 24 Developer Cloud Service • Create packages Plan • Direct deployment Monitor Code
Operate Build
Deploy Test
Release
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 25 Deployment Configuration
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 26 Oracle Cloud Services • Easily provision deployment Plan platforms Monitor Code • Java Cloud Service – Java EE in the Cloud • Application Container Cloud Operate Build – Java SE, NodeJS, PHP, Ruby*, Python* • Mobile Cloud Service
Deploy Test – Mobile Services • Release Container Cloud Service – Docker Containers
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 27 Polyglot Platform for Running any Workload
Mobile CS
Developer CS
Java CS (Java EE)
Application Container CS Container CS (Java SE & Node) (Docker Containers)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 28 What is Wercker
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. 29 Focus Areas for Container Pipelines
Kubernetes Cloud Platform Microservices & Functions Containers
Container Pipelines is a Natively integrate with Work with microserivces and Container Pipelines is a Kubernetes-native Platform Kubernetes in the Cloud serverless architectures Docker-native Platform
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 30 Container Pipelines Concepts for Building Containers and Services • Steps – Isolated scripts or compiled binaries for accomplishing specific automation tasks.
• Pipelines – Pipelines are a series of steps that are triggered on a Git push or the completion of another pipeline • Workflows – Workflows are a set of chained and branched pipelines form multi-stage, multi- branch complex CI/CD flows
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Container Pipelines (Wercker) & Docker Lifecycle Management easy to assemble and automated builds to registries and production-grade clusters
Registry Deploy to Build Push to Registry Orchestration Scheduler Git
Test Push Deploy
OSS CLI Pipeline/Build Console Chatbot Integration Oracle, Pivotal, Workflow Automation with Slack (Walterbot) Amazon, Google …
32 Copyright © 2016, Oracle and/or its affiliates. All rights reserved. Demo
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Layers in the Oracle Cloud – The Big Picture
Node.js Java PHP
Any container App. Container CS
DIY Container CS
Compute Cloud Service
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Restricted Oracle Container Engine & Container Registry Architecture
CI/CD
Registry
Exposed Kubernetes VCN Service AD 1 AD 2 AD 3
PV K8S Cluster
Node Pool VM
Node Pool BM
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Container Native Microservices An open (CNCF and Istio based), cloud neutral, platform makes it easy to develop microservices applications • Pre-integrated, Curated Platform – Open Source, Cloud Native Computing Foundation with Istio • Developer Friendly – Opinionated but Open; API first platform • Enterprise Class – Built on Kubernetes with Service Mesh, Service Broker and API Registry; Ops Built In
Service Mesh
Service REST API API Registry Broker
Ops
Pre-Integrated, Curated Plaform Developer Friendly: Enterprise Class: CNCF + Istio Opinionated But Open Istio Service Mesh & Infrastructure
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Microservices Stack • We start with a curated package of OSS laid on top of our managed K8S service: COMMON API AND SERVICES • Diagnostics and Operations (Zipkin/Jaeger, Vizceral) • Istio (Service mesh) • Open Service Broker API (Linux Foundation), which is the foundation of the K8s
service catalogJAVA MICRO SERVICES CI/CD
• API Catalog (Apiary) DIAGNOSTICS • Event ManagerMANAGED (Kafka KUBERNETES based) • Our value-add is to unify all of this, and flip the experience for the developer to be API-first: always reactive, unified between functions/services • Developers get observability and “distributed muck” for free
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 37 Architectural and Functional Overview
CLI – kubectlISTIO -oms DeveloperISTIO Console
• Publish and Consume APIs and management High Productivity API Registry + • GenerateISTIO client libraries Service/API first • Mock services Catalog Order Foo ISTIO Service Service Service
Event Register Event • Registration of cloud services ManagerISTIOproviders and Service Broker ISTIOand user services APIs and Fn
consumers • Configuration of service access Diagnostics/Monitoring Prometheus ▪ Routing and Discover(LB, A/B etc.) ▪ ISTIO Resiliency (Circuit Breaker etc.) Developer Service Mesh/ISTIO ▪ Service monitoring and diagnostics
Cloud ▪ Inter Service Security and Policies ISTIO ▪ Cluster Management/HA High Control ▪ OrchestrationOKE Kubernetes Build on native K8s ▪ Deployment strategies
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 38 Service Mesh • Istio is the foundation of our offering; besides offering ingress control, it provides an application developer default service-to-service: – Load balancing – Encryption – Access Policy – Resiliency – Upgrades and sophisticated routing (e.g., 1% canaries, etc.) – Diagnostics and Tracing • We are fundamentally going to align with Istio, and enhance it in the open, not layer on top
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 39 The Ideal Functions Platform
• Open Source—no vendor lock-in • Platform Independent—laptop, server, cloud • Approachable—easy for new users, low level controls for advanced users • Docker Based—leverage Docker ecosystem • Scheduler Independent—deploy to Kubernetes, Swarm, Mesos, etc.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential - Restricted 40 Fn—An open source Functions Platform
www.fnproject.io
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | The Fn Project - Key Components
Java Fn Fn Server FDK Flow
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Container Native Serverless - Functions as Service a functions (triggered events) based platform
Local Function Develop CI/CD • Polyglot function platform with Java Optimizations
• Open Source Fn Flow • Container Native with Local Dev Experience Polyglot Function Engine fn fn fn fn • Cloud and Scheduler Neutral
Managed Kubernetes
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Why is Container Native with Oracle Different? • Open source, cloud neutral and community driven – Expressly non-proprietary, cloud neutral, differentiate on quality of service • High performance next generation IaaS – Oracle Cloud Infrastructure built from ground up for performance, security and HA • Optimized for Java workloads – Deep diagnostics and built in performance tuning • Best cloud for running Oracle Database workloads – Optimized for Oracle DB RAC and Exadata • Container Native Developer Experience – Seamless from local desktop to CI/CD to fully integrated SRE in the cloud
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Oracle Database Architecture Requires memory, processes and database files
System Resources
GL OE AP
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 45 New Multitenant Architecture Memory and processes required at container level only
System Resources
GL OE AP
GL OE AP
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 46 Oracle Database Architecture More efficient utilization of system resources
System Resources
GL OE AP
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 47 A Pluggable Database Is a Portable Database Unplugging a PDB and plugging it in PO AP • Simply unplug from the old CDB… • …and plug it into the new CDB • Moving between CDBs is a simple case of moving a PDB’s GL OE AP metadata • An unplugged PDB carries with it lineage, opatch, encryption key info etc.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 48 Unplug / Plug – Orchestration Performed Using SQL You already know how to use it!
Unplug alter pluggable database OE unplug into '/u01/app/oracle/oradata/…/oe.xml'
Plug create pluggable database My_PDB using '/u01/app/oracle/oradata/…/oe.xml'
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Advantages of Multitenant Architecture Reduced CapEx & OpEx, Increased Agility, Easy to Adopt and Use AP Self-contained PDB for each application GL OE • Applications run unchanged • Rapid provisioning (via clones) • Portability (via pluggability) Common operations performed at CDB level • Manage many as one (upgrade, HA, backup) • Granular control when appropriate
Shared memory and background processes Complementary to VMs • More applications per server
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Public 50 Consolidation Performance Test Highlights Oracle Multitenant Achieves Higher Performance with Less Resource Requirements
Total Throughput Number of Supported Database 252 PDBs vs. non-CDBs (same Throughput per Database)
tps databases
80% higher 150000 300 50% more aggregate databases 100000 throughput 200 consolidated 50000 100
0 0 non-CDBs PDBs non-CDBs PDBs Memory Footprint per Database Number of Cores Required Storage IOPS Required (not including Buffer Cache) to support 252 Databases to support 252 Databases
MB cores IOPS 2000 200 400000 1500 150 300000 1000 100 200000 500 50 100000 0 0 0 non-CDBs PDBs non-CDBs PDBs non-CDBs PDBs 8x reduction in memory 64 fewer cores needed 3x reduction in storage IOPS footprint
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 51 Manage Many Databases as One Backup databases as one; recover at pluggable database Level
GL OE AP
One Backup
Point-in-time recovery at pluggable database level
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Public 52 Manage Many Databases as One with Multitenant One standby database covers all pluggable databases
GL OE AP GL OE AP
Production Container Database Standby Container Database
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 53 Simplified Patching and Upgrades Apply changes once, all pluggable databases updated
GL OE AP
12.112.X 12.112.X 12.112.X
In-place
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 54 Improved Agility With Changing Workloads Expand cluster to support flexible consolidation model
Services
CDB Instance 1 CDB Instance 2 Single SGA per CDB Instance
Node 1 Node 2
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Improved Agility With Changing Workloads Expand cluster to support flexible consolidation model
CDB Instance 1 CDB Instance 3 CDB Instance 2
Node 1 Node 3 Node 2
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Multitenant for Provisioning Fast cloning of PDBs GL-1 GL-2 AP-1 AP-2 PO-1 • PDBs can be cloned from within the same CDB
• PDBs can be cloned from remote CDBs
GL OE AP PO • PDBs can be cloned from non-CDBs
• Thinly provision snapshot clones in seconds
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 57 Multitenant for Development and Testing Fast, flexible copy and snapshot of pluggable databases
GL GL GL GL OE AP Master (Dev1) (Dev2)
Production Container Database Development Container Database
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 58 Unprecedented Agility with Portable Pluggability PDB migrates through SLAs as it becomes more mission critical
GOLD RAC, Data Guard
SILVER RAC
BRONZE Backups
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 59 Multitenant Provides Agility for New Projects Fast Provisioning, Snapshot Clones
Time Taken to Provision New Database Seed Original 25 PDB New PDB PDB Clone From Seed of PDB Snapshot 20 Clone of PDB 15
10
5
New GL GL-2 GL-3 0 Non CDB PDB Snapshot Clone
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 60 Traditional File System Full copy duplicates all data blocks my_file • File is collection of data blocks my_file_copy • And headers • Copy duplicates header & data blocks – Effective & simple, but expensive!
cp my_file my_file_copy
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Copy-on-Write Basics Much more efficient storage of substantially similar files my_file • File is collection of data blocks • And headers • Copy file requires only copy of header – Much more efficient storage – Minimal IO to create copy • Only copy block when changed my_file_copy
cp my_file my_file_copy
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Cloning and creating PDBs Rich and rapid provisioning capability delivered with the ease of SQL Provision a new PDB create pluggable database PDB3 admin user PDB_Admin identified by p roles = (DBA) Provision a remote full clone create pluggable database PDB2 from PDB1@CDB2 Thinly provision a local snapshot clone create pluggable database PDB2 from PDB1 snapshot copy
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Why is Container Native with Oracle Different? • Open source, cloud neutral and community driven – Expressly non-proprietary, cloud neutral, differentiate on quality of service • High performance next generation IaaS – Oracle Cloud Infrastructure built from ground up for performance, security and HA • Optimized for Java workloads – Deep diagnostics and built in performance tuning • Best cloud for running Oracle Database workloads – Optimized for Oracle DB RAC and Exadata • Container Native Developer Experience – Seamless from local desktop to CI/CD to fully integrated SRE in the cloud
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Cloud DevOps
Enrique Martin Casado Presales Director
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |