Architecting your own DBaaS in a Private Cloud with EM12c/EM13c
Presented by : Gustavo René Antúnez Oracle DBA June, 2016
© 2016 Pythian. Confidential
ABOUT PYTHIAN
Pythian’s 400+ IT professionals help
companies adopt and manage disruptive technologies to better compete
2
TECHNICAL EXPERTISE
Infrastructure: Transforming and managing the IT infrastructure that supports the business
DevOps: Providing critical velocity in software deployment by adoptingDevOps practices
Cloud: Using the disruptive nature of cloud for accelerated, cost-effective growth
Databases: Ensuring databasesare reliable, secure, available and continuously optimized
Big Data: Harnessing the transformative power of data on a massive scale
Advanced Analytics: Mining data for insights & business transformationusing data science
3
© 2016 Pythian. Confidential 4
Welcome to KSCOPE 2016
© 2016 Pythian. Confidential 5
Where do I come From–OracleDBA
• StartedwithVersion9.2in2004–SpeakeratOracleOpenWorld,OracleDevelopersDayandCollaborate
–Co-PresidentofORAMEX(MexicoOracleUserGroup)
–WebEventsChairforIOUGCloudComputingSpecialInterestGroup(SIG)
– InternationalChairRACSpecialInterestGroup(SIG);
–MovieFanatic&MusicLover–BringingthebestfromMéxico(Mexihtli)totherestoftheworldandintheprocessphotographingit:)
– rene-ace.com–@rene_ace
• #TD16
© 2016 Pythian. Confidential 6
Where do I come From
rene-ace.com@rene_ace• #KSCOPE2016
© 2016 Pythian. Confidential 7
Program Agenda
Introduction
WhatisCloudComputingandtheServiceDeliveryLifecycle
DefiningaPrivateCloudinEM12c
OracleDatabaseCloudServiceandHybridCloudManagement
1
2
3
4
© 2016 Pythian. Confidential 8
Introduction1
© 2016 Pythian. Confidential 9
© 2016 Pythian. Confidential 10
What is Cloud Computing and the Service Delivery Lifecycle
2
© 2016 Pythian. Confidential 11
▪ Aself-servicecomputingenvironmentofferingtheabilitytocreate,consumeandpayfordatabaseservices
▪ Computingresourcesareelasticallysuppliedfromasharedpoolandchargedbasedonmetereduse
▪ Servicecatalogsprovideamenuofoptionsandservicelevels
Database-as-a-Service (DBaaS) Definition
© 2016 Pythian. Confidential 12
Cloud Computing WhatisyourKeyDriver?
Source: NIST Definition of Cloud Computing v15
3ServiceModels• SaaS• PaaS• IaaS
4DeploymentModels• PublicCloud• PrivateCloud• CommunityCloud• HybridCloud
5EssentialCharacteristics• Resourcepooling• Rapidelasticity• On-demandself-service• Measuredservice• Broadnetworkaccess
© 2016 Pythian. Confidential 13
Pizza as a Service*
Applications
Data
Runtime
Middleware
O/S
Virtualization
Servers
Storage
Networking
Applications
Data
Runtime
Middleware
O/S
Virtualization
Servers
Storage
Networking
Applications
Data
Runtime
Middleware
O/S
Virtualization
Servers
Storage
Networking
Applications
Data
Runtime
Middleware
O/S
Virtualization
Servers
Storage
Networking
Traditional On-Premise IaaS PaaS SaaS
YouManageVendorManages
Dining Table
Soda
Cheese
Toppings
Tomato Sauce
Pizza Dough
Fire
Oven
Electric/Gas
Dining Table
Soda
Cheese
Toppings
Tomato Sauce
Pizza Dough
Fire
Oven
Electric/Gas
Dining Table
Soda
Cheese
Toppings
Tomato Sauce
Pizza Dough
Fire
Oven
Electric/Gas
Dining Table
Soda
Cheese
Toppings
Tomato Sauce
Pizza Dough
Fire
Oven
Electric/Gas
Traditional On-Premise IaaS PaaS SaaS
Made at Home Take & Bake Pizza Delivery Dine Out
*http://goo.gl/rweIwF
© 2016 Pythian. Confidential 14
Service Delivery Lifecycle15 Steps to “X”-as-a-Service
1. Capture Demand
2.Define Service
Strategy and Design
3.Define Service Catalog
4.Define Resource
Configurations (Technical
5. Build Deployable
Entities
© 2016 Pythian. Confidential 15
Service Delivery Lifecycle15 Steps to “X”-as-a-Service
6. Consumer purchase
7. Initiate Service
Request
8. Deployable
Entity Allocated
9. Deployment
10. Consumer
operates Service
11. Client App Utilizes
Service
© 2016 Pythian. Confidential 16
Service Delivery Lifecycle15 Steps to “X”-as-a-Service
12. Monitor performance
metrics
13. Utilisation
Metrics Captured
14. Metrics
Applied to SLA &
15 Perf, Util, & Cost
Provided to Consumer
© 2016 Pythian. Confidential 17
Capture Demand and Define Service Strategy and Design• Current State Analysis
• Identify Initial deployment opportunities
• Establish operational maturity • Determine where to focus
• Cloud Maturity Model Assessment
• NIST Capability Mapping Tool • ITIL Maturity Assessment
• Future State Architecture Focus Areas • Technology Deployment • New Operating Procedures • Ecosystem Integration
© 2016 Pythian. Confidential 18
Capture Demand and Define Service Strategy and Design
Application Focus • Business criticality • Upstream/
downstream dependencies
• Regulation/ Retention • SDLC • Integration • Migration window
Technology Focus • Resource capacity
and utilization • Growth characteristics • Workload type • RTO/RPO • Maintenance windows • Data center location • Prod/Non-Prod
Operations Focus • Monitoring • Patching and
Upgrades • Backup and Recovery • Disaster Recovery • Automation • Ecosystem integration
© 2016 Pythian. Confidential 19
Define Service CatalogEssentialtoseparatebusinessandtechnicalaspects
•Whatdoestheserviceprovide
•Servicelevelsandcosts
• Howistheserviceprovisionedandmaintained•Deploymenttemplateandprocesses•Vendor-specific
• OndemandportalofselecteditemsfromtheBusinessCatalog
•--------•--------•--------
•--------•--------•--------
•--------•--------•--------
BusinessCatalog
TechnicalCatalog
Self-serviceCatalog
© 2016 Pythian. Confidential 20
BusinessServiceName
ServiceDescripFon/CapabiliFes
AffectedBusinessUnits
SupportedBusinessProcesses
LinkedBusinessOutcomes
ServiceConsumer
BusinessQualityofService Chargeback/Showback
ID MeasurementType
Value Charge/Show
OrderEntry
Thisserviceenablesuserstoorderproductsandservices;defineworkflowsandapprovals.
1.HR2.Sales3.Manufacturing
1.HRemployeeonboarding(orderlaptop,phone,etc)2.Salesorder-to-cash(enablecustomerstoorderproducts)3.Manufacturing(orderrawmaterials)
1.Accelerateemployeeproductivity2.Increasesales3.Reducemanufacturingtimeline
1.Employee/Manager2.Customer3.Mfgpurchasingmanager
1 BusinessAvailability
24x7 Showonly
2 End-to-endmaximumresponsegme
60sec
3 RecoveryTimeObjecgve
8hrs
4 RecoveryPointObjecgve
4hrs
5 Dataretengon 7years
6 RegualtoryRequirements
SOX,PII
Define Service Catalog (Business) Essentialtoseparatebusinessandtechnicalaspects
© 2016 Pythian. Confidential 21
Define Resource Configurations (Technical Catalog)
Mon
itorin
g, M
anag
emen
t and
C
harg
ebac
k
Sec
urity
PaaS
SaaS
IaaS
DBaaS MWaaS
© 2016 Pythian. Confidential 22
Define Resource Configurations (Technical Catalog)
SPARC T or M Series
External Fabric/Switches
Data Protection
Consolidation, QoS, Abstraction
Clustering
Operating System
Database Storage
Oracle Database Appliance
Oracle Exadata
Compute
Oracle 11gR2/12c (Multitenant) 12c, 11gR2 and prior
SAN / NAS platforms
Oracle Grid Infrastructure (Clusterware and Automatic Storage Management)
Oracle Enterprise Linux (OEL)
Oracle Solaris
Server & Storage Networks
RDBMS
Real Application Clusters, Data Guard, and Golden Gate Failover and BCP
Instance Caging, Database Resource Manager, IO Resource Management (Exadata), Database Services, OVM (Sparc)
Advanced Security Option (ASO)
Ops Center
OEM 12c
Diagnostics Pack
Test Data Management Pack
Change Management Pack
Cloud Management Pack
DB Lifecycle Management Pack
Data Masking Pack
Cloud Managemeent
SPARC Super Cluster
Customer Ecosystem
DB Firewall Audit Vault Database Vault
ZFS-Storage
Self Service Portal
DB AUDIT/ Compliance /
Security
CMDB / DBAR
© 2016 Pythian. Confidential 23
Define Resource Configurations Business(what)evolutiontotheTechnical(how) Pluggable
Database
DedicatedDatabase
EncapsulatedDatabase
Flex-Silo
.
..
© 2016 Pythian. Confidential 24
DBaaS Service Catalog Design Process OracleDBaaSServiceTiers
GOLD Business-criticalCustomerFacing
SILVER ProductionDepartmental
BRONZE DevelopmentTest
PLATINUM Mission-criticalTrading
© 2016 Pythian. Confidential 25
DBaaS Service Catalog Design Process
Service Definition
Technical Service Description
Service Provisioning
Model
Cloud Deployment
Model
Define service tiers to simplify your offerings
Establish the technical footprint
of each service tier
Determine the individual
services to be provisioned
Align services with your
deployment model
Bronze Silver Gold
Small Large
Medium X-Large
❑ RAC ❑ Data Guard ❑ Golden Gate
PDB Database Schema
Private Public
Provider Hybrid
© 2016 Pythian. Confidential 26
Service Catalogs• Keep it simple –
clear, concise, consistent
• Clean separation of business (what) vs. technical (how)
• Define a process to identify and handle exceptions
• Minimize the number of distinct environments you will support
• Start small, add services incrementally as needed
• Stay with the plan but be willing to adjust
© 2016 Pythian. Confidential 27
3 Defining a Private Cloud in EM12c/EM13c
© 2016 Pythian. Confidential 28
Plug-ins Required to Enable Database as a Service (DBaaS)• Enterprise
Manager for Oracle Cloud
• Enterprise Manager for Oracle Virtualization
• Enterprise Manager for Oracle Consolidation Planning and Chargeback
• Enterprise Manager for Oracle Database
• Enterprise Manager for Storage Management
• Enterprise Manager for Oracle Cloud Framework
© 2016 Pythian. Confidential 29
Define Resource Configurations (Technical Catalog)
• EM_CLOUD_ADMINISTRATOR • Can set up and manage the cloud
infrastructure. This role is responsible for deploying the cloud infrastructure (servers, zones, storage, and networks)
• EM_SSA_ADMINISTRATOR • Define quotas and constraints for the
self service users and grant them access privileges
• EM_SSA_USER • Can only access the Self Service Portal
and all the service families
EM_CLOUD_ADMINISTRATOR EM_SSA_ADMINISTRATOR EM_SSA_USER
© 2016 Pythian. Confidential 30
Roles
© 2016 Pythian. Confidential 31
Roles
31
© 2016 Pythian. Confidential 32
Define Resource Configurations (Technical Catalog) ZonesandPools
© 2016 Pythian. Confidential 33
Define Resource Configurations (Technical Catalog)
▪ZoneAlogicalgroupingofcloudinfrastructureresourcesbasedonQOS,functional,departmentalorgeographicboundaries.Self-ServiceusersprovisionintoaZone.
▪ DatabaseResourcePoolAgroupofhomogeneousclusteredornon-clusteredresourcesexhibitingcommoncharacteristics.
12.1.0.2
11.2.0.4
12.1.0.2
11.2.0.4
Prod Zone
Dev Zone
© 2016 Pythian. Confidential 34
Define Resource Configurations (Technical Catalog)
• PaaSInfrastructureZones• DatabasePools
Build Deployable Entities• RequestSettings• Quotas• ProfilesandServiceTemplates
© 2016 Pythian. Confidential 35
Setup for PaaS Infrastructure Zones
© 2016 Pythian. Confidential 36
[oracle@em12c bin]$ ./emcli create_paas_zone -name=PVC PAAS Infrastructure Zone CL15LV -credential=NC_HOST_ORACLE -hosts=em12c.localdomain -roles="DBAAS_CLOUD_USERS" -description="Test PaaS zone" -cpu_utilization=90 -memory_utilization=90
PaaS Infrastructure Zone "PVC PAAS Infrastructure Zone" created successfully.
[oracle@em12c bin]$ ./emcli get_paas_zone_detail -name="PVC PAAS Infrastructure Zone" Name PVC PAAS Infrastructure Zone Named Credentials NC_HOST_ORACLE Number of Hosts 1 Roles DBAAS_CLOUD_USERS Maximum Memory Allocation (%) 90
EMCLI setup for PaaS Infrastructure Zones
© 2016 Pythian. Confidential 37
Setup for Database Pools
37
© 2016 Pythian. Confidential 38
Setup for Database Pools
© 2016 Pythian. Confidential 39
EMCLI setup for Database Pools[oracle@em12c bin]$ ./emcli get_pool_allowed_member_constraints -target_type=pdbaas_pool Name Value Description
PLATFORM_CDB 197 HP-UX Itanium 59 HP-UX PA-RISC (64-bit) 212 IBM AIX on POWER Systems (64-bit) 209 IBM: Linux on System z 46 Linux x86 226 Linux x86-64 912 Microsoft Windows (32-bit) 208 Microsoft Windows Itanium (64-bit) 233 Microsoft Windows x64 (64-bit) 23 Oracle Solaris on SPARC (64-bit) 267 Oracle Solaris on x86-64 (64-bit)
TARGET_TYPE_CDB rac_database Cluster Database oracle_database Database Instance
VERSION_CDB 12.1.0.1.0 12.1.0.1.0 12.1.0.2.0 12.1.0.2.0
© 2016 Pythian. Confidential 40
EMCLI setup for Database Pools[oracle@em12c bin]$ ./emcli create_pool -name="Pluggable DB Pool" -target_type="pdbaas_pool" -paas_zone="PVC PAAS Infrastructure Zone" -members=“em12c.localdomain" -description="Oracle Database 12c Pool for Pluggable Databases" -member_constraints="PLATFORM_CDB=226,TARGET_TYPE_CDB=oracle_database,VERSION_CDB=12.1.0.2.0" Software Pool "Pluggable DB Pool" created successfully.
[oracle@em12c bin]$ ./emcli get_pool_detail -name="Pluggable DB Pool" -target_type=pdbaas_pool Name Pluggable DB Pool Target Type pdbaas_pool Description Oracle Database 12c Pool for Pluggable Databases Paas Infrastructure Zone PVC PAAS Infrastructure Zone Number of Members 1 Placement Constraints Member Constraints PLATFORM_CDB : Linux x86-64 , TARGET_TYPE_CDB : Database Instance , VERSION_CDB : 12.1.0.2.0
© 2016 Pythian. Confidential 41
Setup for Quotas
© 2016 Pythian. Confidential 42
[oracle@em12c bin]$ ./emcli create_dbaas_quota -role_name="DBAAS_CLOUD_USERS" -databases="0" -schema_services="0" -pluggable_databases="10" -memory="2" -storage="10" Quota for Role "DBAAS_CLOUD_USERS" setup successfully.
[oracle@em12c bin]$ ./emcli get_dbaas_quota ROLE_NAME : DBAAS_CLOUD_USERS NUMBER_OF_DB_INSTANCES : 0 STORAGE : 10 NUMBER_OF_PLUGGABLE_DATABASES : 10 MEMORY : 2 NUMBER_OF_SCHEMA_SERVICES : 0 Quotas for Roles retrieved successfully.
Setup for Quotas
© 2016 Pythian. Confidential 43
Setup for Profiles and Service Templates
© 2016 Pythian. Confidential 44
Setup for Profiles and Service Templates
© 2016 Pythian. Confidential 45
Setup for Profiles and Service Templates
© 2016 Pythian. Confidential 46
Setup for Profiles and Service Templates
© 2016 Pythian. Confidential 47
Setup for Profiles and Service Templates setup—>cloud—>Database—>ProfilesandServiceTemplates
© 2016 Pythian. Confidential 48
Self Service
• Consumer purchase
• Initiate Service Request
• Deployable Entity Allocated
• Deployment
• Consumer operates Service
• Client App Utilizes Service
• Enterprise—>Cloud—>Middleware and Database Home • Enterprise—>Cloud—>Middleware and Database Home Request
Dashboard • Enterprise—>Provisioning and Patching—>Procedure Activity
© 2016 Pythian. Confidential 49
Self Service
© 2016 Pythian. Confidential 50
Self Service
© 2016 Pythian. Confidential 51
Monitor and Manage Cloud Operations ChargebackandCostRecoveryOverview
What services will I sell?
What infrastructure will I need to deliver those services?
What is the cost of delivering those services on that infrastructure?
How many services do we plan on selling for that
infrastructure?
How long will it take to sell those services?
How much do I need to price my services to recover my cost and/or
meet my financial objectives
© 2016 Pythian. Confidential 52
Monitor and Manage Cloud Operations
Track resource flux, tenants, policy violations, etc
Monitor requests and failures
Manage resource and capacity utilization Automatic, policy driven elasticity
© 2016 Pythian. Confidential 53
Meter, Charge and Optimize Cloud Services
Application-to-Disk resource metering Chargeback/Showback Oracle Billing and Revenue Management (BRM) Integration Optimize performance, capacity, QoS, costs…
© 2016 Pythian. Confidential 54
Self-Service Portal APIs Comprehensive RESTFUL APIs for Integration and Orchestration
DBaaS
Portal & API
List Deploy
Delete Manage
▪ RequestDBs▪ RequestPDBs
▪ RequestSchemas
▪ Trackrequestprogress
▪ ServiceControl(start/stop)
▪ Backup
▪ Restore
▪ Snapshot▪ GetChargebackinfo
▪ DeleteService
▪ Extendreservation
▪ ListZones
▪ ListServiceTemplates
▪ ListServiceInstances
© 2016 Pythian. Confidential 55
DEMO
© 2016 Pythian. Confidential 56
4 Oracle Database Cloud Service and Hybrid Cloud Management
© 2016 Pythian. Confidential 57
© 2016 Pythian. Confidential 58
Oracle Database Cloud Services – Naming Updates AnumberandgrowingDatabasecloudservices
• AllPartNumberscalled“OracleDatabaseCloud–<servicename>Service”
• FormalPriceListNames:– OracleDatabaseCloud–MicroService(apex.oracle.com)– OracleDatabaseCloud–MultitenantService(SchemaService)– OracleDatabaseCloud–SEService(DatabaseasaService)– OracleDatabaseCloud–EEService(DatabaseasaService)– OracleDatabaseCloud–HighPerformanceService(DatabaseasaService)– OracleDatabaseCloud–ExtremePerformanceService(DatabaseasaService)
– OracleDatabaseCloud–ExadataServiceService(ExadataService)
© 2016 Pythian. Confidential 59
▪ ▪ DatabaseReady for
UseAllocate Compute
Allocate Storage
Set Keys &Privileges
Requestfor
ServiceProvision
OSInstall &
ConfigureDatabase
ConfigureTools
ConfigureAccess
Configure Backups
Oracle Database Cloud Service AutomatedProvisioning:Noconfigurationnecessary
▪ Reducedtimeandcomplexitytoprovision
▪ Increasedstandardisationofthe“fleet”
▪ Newusecasesthatwerenotpracticalbefore.
Benefits
© 2016 Pythian. Confidential 60
Oracle Enterprise Manager Simplifies the Journey to Cloud ManageHybridCloudAsOne
• Manageprivateandpubliccloudviasinglepaneofglass
• 100%reuseofmanagementpracgces• Simple,SecureDeployment• QualityofServiceandLifecycleManagement• LeverageexisgngITinvestment
© 2016 Pythian. Confidential 61
Simple,SecureDeployment
OracleEnterpriseManager
• MinimalchangestoEnterpriseManagerorenterprisenetwork (noVPCrequired!)
• EnterpriseManagerremainshardenedandsecure
Private Cloud
HybridGatewayhandlesallcommunicationbetweenprivateand
publiccloud
CommunicationviaHTTPS,SQL*NetandJMXoverSSH
OracleCloud
Platform
© 2016 Pythian. Confidential 62
Hybrid Cloud Management Upgrade,MoveandManageThroughaSinglePaneofGlass
On-Premises & Private CloudOracle Cloud
(Database & Java Cloud Services)
Move database and applicationswith the push of a button
Monitor and control viasingle pane of glass
Same tool, same skillsets Faster, easier, lower cost, lower risk
Manage lifecycle including provisioning, compliance and patching
© 2016 Pythian. Confidential 63
© 2016 Pythian. Confidential 64
Differentiators vs. competitive hybrid cloud management
• Singlepaneofglass• Ownershipofthecompletestack• DeepmanagementforhybridPaaS
• 100%reuseofbestpractices• Workloadportability
CompeFtors
• Multiple,disjointedofferings• Multi-partnerintegrationheadache
• IaaSlayerisprimaryfocus• Additionalskillsetsandtooling• Cloudsilos
ORACLE
Thank you – Q&A CONSULTING & STRATEGY
IMPLEMENTATIONMANAGED SERVICES
To contact us [email protected]
1-877-PYTHIAN
To follow us http://www.pythian.com/blog
http://goo.gl/bImXcJ
@pythian
http://goo.gl/DMXExf