Supercharge Your DevOps Automation Using Oracle Enterprise Manager s CLI and REST APIs Vic Parker Principal Enterprise Manager & Cloud Specialist Sales Consulting, Enterprise Manager October 27, 2015
What is DevOps? - Why DevOps? The answer to What is DevOps is based on the response to Why DevOps? The answer to Why DevOps is based on desired IT business results. 2
Supporting DevOps Adoption The tools or toolchain is selected to support the desired IT business goals. However, tools alone do not equate to DevOps adoption. 3
Customer Trends for Automation & Cloud Adoption Adopting DevOps Principals (Continuous Models) Increased Interest in Open Source Automation (Chef, Puppet) Becoming Internal Service Providers Increased Focus on Time to Value (PaaS) Forward Looking with Hybrid in Mind (Internal Brokers) Push Button Application Deployment (Orchestration, Best of Breed)
Best Practices for Automation & Cloud Adoption Automation and Cloud Adoption, an Extension of ITSM Analyze Suitable Applications and Start with a Narrow Focus Demonstrate Business Value Increased Focus Standardization and Configuration Management Design Automation with Administrators Integral to the Process Avoid Shifting the Burden of Management to Workflow Designers
Open Source Solutions Require Providers
Interface Interaction for DB Lifecycle Automation Data Center EMCLI Provisioning Profile Deployment Procedure Host What are these environments (dev, test, prod)? What is the capacity of these environments? How do I optimize my resources? How do I protect service levels? 7
Centralized Software Library Single repository for storing and retrieving images, scripts and assemblies Can be co-located with Self-Service Application or with cloud targets Choice of Storage types and Protocols (NFS, HTTP(S)), ideally suited for remote data centers Integrated with Packaging tools like Assembly Builder Supports Access rights for each image/assembly
EM 12c Cloud Pack Self-Service Provisioning Out-of-box Portal with API support Comprehensive support for consolidation Dedicated databases, schema, pluggable Automated, intelligent placement workload and configuration Complete self-service catalog Governance, quotas, policies, showback Flexible cloning architecture Full data cloning by leveraging backups Instant database provisioning using SnapClone Integrated database lifecycle management Monitoring, backup, patching API-driven (RESTful and command line)
Intelligent Service Placement The Best Fit Rule Automatically find suitable target for placement: nodes for single instance and RAC databases databases for schema container database for PDBs* Current Load Current Population Placement Constraints CPU, Memory, and Storage usage No. of Service Instances Limits set on zones and pools * PDBaaS allows for custom placement - selection of the container database
Enterprise Private Cloud Management Strategy Define & manage datacenter resources as Services Full set of capabilities covering breadth & depth of an enterprise data center Infrastructure, Database, Platform, Applications Unified & Integrated solution to manage full Cloud Lifecycle, especially on Engineered Systems Focus on business applications/transactions & data Not just infrastructure Analytics for continuously improving and optimizing cloud services Seamless portability across private and public clouds Co-existence and integration with other cloud & Automation Solutions
EM Role Driven Usage Base & DB Lifecycle Mgmt. Pack Administrative Automation Enterprise Manager Administration Target Agent Security Incidents Jobs (i.e. Backup) etc. Provision Software Create Databases Patch DBs Upgrade DBs Delete DBs 12
EM Role Driven Usage Cloud Management Pack Provider (i.e. Administrator) Zone Mgmt. Pool Mgmt. Fleet Maintenance Service Catalog Mgmt. Snap Clone Metering / Show back Requestor (i.e. DevOps) Request Database Services Monitor and Manage Deployed DBs Fleet Maintenance Backup / Snapshot Delete Service DBs 13
Complementary Cloud APIs Requestor Cloud Delivery Cloud Setup Provider Zone Mgmt Pool Mgmt Quota Mgmt Create DB Service List Deployed DBs, Service Templates Patch DBs Delete Instance DBs Request Setting ( Service max Duration, etc ) Database Size Mgmt Profile Mgmt Service Template Mgmt REST EM CLI 14
Interface Interaction for Cloud Management Administration (i.e. Setup) Provisioning Profile Request & Manage Services Service Template Pool Zone EMCLI Deployment Procedure REST API Request Settings Quotas Snap Clone Host Pluggable DB 1 Call Deletion 15
Why not use EM CLI & RESTful Web Service for DevOps? EMCLI for Provisioning Procedures and Lifecycle Management REST API Abstracts Infrastructure REST API requires very few inputs URI /em/cloud/dbaas/zone/82cf1c28fa20a183c99d138ff8065f19 JSON Body { "based_on": "/em/cloud/dbaas/dbplatformtemplate/cc3bbb665a6bc6ffe040f00aef2524 56", "name": "<Request name>", "description": "<Request Description>", "start_date": "2013-08-02T14:20:00ZAsia/Calcutta", "end_date": "2013-08-02T17:20:00ZAsia/Calcutta", "standby_required" : "true", "params": { "username": "Master Account username for the DB", "password": "Password for the Master Account on the DB", "database_sid" : "Database SID", "service_name" : "Name of the additional service to be created", "db_size_name": "Medium", "standbydbs": [ { "standbydb_name":"stby2", "standbydb_sid":"stio62" } ] "database_profile_version": "RMAN_06_27_2014_14_18_PM" } } RED are Required Parameters 16
Recurrent Database Installation, Backup, etc. by DevOps REST Example: Request DB from RMAN backup with Standby URI /em/cloud/dbaas/zone/82cf1c28fa20a183c99d138ff8065f19 JSON Body { "based_on": "/em/cloud/dbaas/dbplatformtemplate/cc3bbb665a6bc6ffe040f00aef252456", "name": "<Request name>", "description": "<Request Description>", "start_date": "2013-08-02T14:20:00ZAsia/Calcutta", "end_date": "2013-08-02T17:20:00ZAsia/Calcutta", "standby_required" : "true", "params": { "username": "Master Account username for the DB", "password": "Password for the Master Account on the DB", "database_sid" : "Database SID", "service_name" : "Name of the additional service to be created", "db_size_name": "Medium", "standbydbs": [ { "standbydb_name":"stby2", "standbydb_sid":"stio62" } ] "database_profile_version": "RMAN_06_27_2014_14_18_PM" } } REST Example: Schedule a backup URI /em/cloud/dbaas/dbplatforminstance/byrequest/7 JSON Body { "operation" : "BACKUP", "backup_schedule" : "2013-08-27T12:34:45ZAsia/Calcutta" } 17
Major Use Cases (Made easier with Cloud Mgmt.) Summary Data Guard Active Data Guard, Traditional Data Guard, Protection Mode choices, etc. Pluggable Databases Auto placement, User Defined Placement, etc. Snap Clone Snapshots, Restore, Refresh, etc. Fleet Maintenance Admin standards, 1 call update, etc. Resource Governance Quotas, Request Settings, Service Levels, etc. Metering and Show-back Capacity management, roll-up reporting, Option governance, etc. 18
Major Use Cases (Made easier with Cloud Mgmt.) Summary 1. Data Guard 2. Pluggable Databases (Auto or User request) 3. Snap Clone 4. Fleet Maintenance for Patching 5. Resource Governance 6. Metering & Show back 19
Customer Use Case Reviews 20
Use Case One Customer Requirements Chef, Service-Now, Enterprise Manager User Self Service via Service-Now Portal Automated Provisioning of Infrastructure via Chef Automated Provisioning of Oracle Platform via Enterprise Manager 12c Hand-off Resource Management 21
High-level Solution Design FROM BARE METAL TO DBAAS RESOURCES DBA & Cloud Admin Teams Owner Deploy DB Instance via OEM Agent against pre-deployed DB Software Business User DBaaS Service Management Tier Database Service Provided to Application or Consumer Oracle DBaaS Management Service-Now Request Portal Service Management SLA & PLA Management Post Deployment Binding CMDB Update Service Management & Monitoring Updates Service-Now Integration CMDB Update & Incident Management EM 12c Cloud Lifecycle Management Service-Now Portal Request Enterprise Manager 12c DBaaS Elasticity Capacity Management OEM Cloud Control Deployment Procedures OEM Custom Deployment Procedures Pre-Defined Database Profiles Chef Automation Application Blueprints Service Portfolio Provisioning Models vmware Automation Template Management Virtual Service Configuration Oracle 11gR2 Database Software OEM Cloud ControlWorkflow DBaaS Resource Management (IaaS Independent) Oracle 12c Database Software DB-0 Small Development Automated - Managed Virtual or Physical Server and Storage Resource Pool (IaaS) Processor CORE CORE CORE CORE CORE CORE Processor CORE CORE CORE CORE CORE CORE 12 GB Memory DB-1 Small Production Memory Pool 24 GB Memory OEM Agent Deploy and Configure DB Instance as Defined by Service Definition and Deployment Procecudure Database Infrastructure Zone/Pool Industry Standard Storage Resources DBaaS Resource Pool DB0_Data 700 GB Normal Redundancy Storage Allocated DB1_FRA 1.5 TB Allocated DB1_Data 1.5 TB Allocated Chef Managed IaaS EM Agent Installation Automated Zone Creation/Association
Oracle Cloud Pack & Chef Integration
Chef Bootstraps Enterprise Manager Agent 24
Leveraging Enterprise Manager s Robust Procedure Engine 25
Use Case Two Customer Requirements VMware Automation & Orchestration User Self-Service via vcac (now vrac) Automated Virtual Infrastructure Provisioning with vcac Provisioning of Oracle Database Service via Enterprise Manager 12c Dedicated and Shared Services Integration via vcenter Orchestration 26
Recommended Customer DBaaS Architecture Turnkey Integration and Implementation Oracle EM Cloud Pack VMware vrealize Self Service Portal Orchestration DBaaS Service Catalog RBAC Governance User Governance Resource Management Zone Control Dynamic Placement Algorithm Resource Management Zone Control Usage Metering Chargeback Service Request Validated Resources Req. Confirmed Oracle DBLM Pack Executing Provision Actions Verify Database Service Configuration & Compliance Additional Service Config Service Registration Database Service Instance is ready to Use Database Service Repository Configuration Compliance Management Patching Monitoring Monitoring Management Deployment Procedure
Oracle Cloud Pack & VMware Integration
Enterprise Manager & vrops Integration
30
vcenter Plugin EM Management Pack
Customer Requirements Application Engineer Portal via Application Director Mix Infrastructure with ExaData Backend 3 rd Party Orchestration YAML Processing 32
Blueprint Based Deployment 33
Enterprise Manager & Service-Now Connector
36