SlideShare a Scribd company logo
DevOps for DBAs
use cases and tools
Björn Rost
Björn Rost
about me
•Consultant
•Oracle Database HA & Performance
•Solaris and Linux DevOps & automation
•Oracle ACE Director
•(ex) president of RAC SIG
•OTN EMEA tour organizer
© 2016 Pythian 2
ABOUT PYTHIAN
Pythian’s 400+ IT professionals
help companies adopt
and manage disruptive
technologies to better compete
© 2016 Pythian. Confidential 3
© 2016 Pythian. Confidential 4
Systems currently
managed by Pythian
EXPERIENCED
Pythian experts
in 35 countries
GLOBAL
Millennia of experience
gathered and shared over
19 years
EXPERTS
11,800 2400
THE TOP 1.5% GLOBALLY
© 2016 Pythian. Confidential 5
2015
Resumes
Reviewed:
12,711
Behavioral
Interviews
Conducted:
394
Technical
Tests
Sent: 4062
Passed: 562
Job Offers
Made: 189
Accepted:
174
AGENDA
• what is DevOps and why do I care?
• use cases for DevOps
• standardize and automate operations
• agility with CI in development
• tools
• git: version control
• puppet: provisioning
• ansible: automation © 2016 Pythian 6
what is DevOps
and why do I care?
DevOps
© 2016 Pythian
DevOps is a culture, movement or practice that emphasizes the
collaboration and communication of both software developers
and other information-technology (IT) professionals while
automating the process of software delivery and infrastructure
changes. It aims at establishing a culture and environment where
building, testing, and releasing software can happen rapidly,
frequently, and more reliably.
source: https://en.wikipedia.org/wiki/DevOps
8
why should *I* care
© 2016 Pythian 9
another reason to care
The 10 Highest-Paying Tech Jobs Right Now
1. Software Architect – $116,267*
2. Data Scientist – $109,399
3. Devops Engineer – $106,045
4. Software Engineer – $98,304
5. Java Developer – $98,304
6. Mobile Developer – $96,133
7. Frontend Developer – $92,133
8. Software Developer – $87,185
9. Database Admin – $87,025
10. .Net Developer – $83,936
source: http://www.forbes.com/sites/kathryndill/2016/04/22/the-highest-paying-tech-jobs-right-now
© 2016 Pythian 10
• devs, biz demands more agile
• cloud shows what’s possible
• need to manage more with less
• data keeps increasing in value
• move to virtualization and cloud
• tools are becoming available
• “self-managing” rdbms
• free up time for interesting tasks
• standardization makes sense
• baby steps towards “the cloud”
internal driversexternal drivers
11© 2016 Pythian
DevOps use cases
standardize and
automate
13© 2016 Pythian
•avoid snowflake systems
•re-use experience and test results
•self-service instead of repeating
tasks
•avoid human errors
•maturity model
automate to standardize
© 2016 Pythian 14
manual
documented
command line
and templates
fully scripted
orchestrated APIs
automation maturity model
© 2016 Pythian 15
•software (and cluster) installation
•database creation
•updates and patching
•backup (and recovery)
•space management
•create and refresh dev/test/QA
•DataGuard setup
•manage users and privs
typical DBA tasks
© 2016 Pythian 16
provisioning
17© 2016 Pythian
© 2016 Pythian
•roll out standardized systems
•big push for virtualization
•migrate bare-metal env to 100s of VMs
•full system restores
•prereqs
•disk provisioning
•GI and rdbms installaion
•patching
•env customization
provisioning examples
18
automate
restore tests
© 2016 Pythian 19
rapid cloning
for CI
© 2016 Pythian 20
develop
buildtests
• de-facto standard method today
• sometimes called agile
• automatically build and deploy
code to dev/test/QA
• run unit tests
• fix broken tests as needed
• repeat
test driven development
© 2016 Pythian 21
•rather easy and standard to do
•build, test, throw away and repeat
•easy for idempotency
•but what about DML and DDL?
•creating an object in the DB?
•updating a certain object
•testing DDL changes
TDD for software
© 2016 Pythian 22
•manually clone (rman or dp)
•scripted creation of small DBs for
functional tests
•flashback database
•dNFS clonedb
•quick cloning of VMs
•cloning of PDBs
•oracle cloud DBaaS APIs
© 2016 Pythian
CI clone or reset the database
23
the outcome
•automatic unit tests now include data changes
•DDL changes for deployment are also unit-tested
•DDL deployments are run from scripts
•index adds etc by DBAs are fed back into dev codebase and test systems
•unit tests complete in minutes, giving instant feedback to developers
•less errors
•more confidence in deployments
•deployment automation meaning no stressful manual tasks for DBAs
•enormous benefits in agility and reduced time for feature-to-production
© 2016 Pythian 24
DevOps tools
a very quick intro
version control
© 2016 Pythian 26
•init/clone
•commit
•branch
•push/pull
git
version control
•no “central” repo required
•push and pull criss-cross
•git is not github or gitlab etc
•but they can be very useful
© 2016 Pythian 27
golden images vs
config mgmt
28© 2016 Pythian
• define end state of system
• checks current state and corrects
if necessary
• runs against different OS and
versions
• allows to pick and choose single
modules
• always need to change some
configs after cloning anyway
• how do you keep image up-to-
date?
• how do you push updates to
cloned VMs? (throw-away and
reclone not feasible for databases)
• not always supported for all sw
• what if you want to change VM
technology or move to cloud?
golden imagesconfig mgmt
© 2016 Pythian 29
state and
idempotency
© 2016 Pythian 30
useradd demo
© 2016 Pythian
[root@ol ~]# groupadd -g 54321 oinstall
groupadd: group 'oinstall' already exists
[root@ol ~]# useradd -u 54321 oracle
useradd: user 'oracle' already exists
31
defining state (ansible example)
brost$ cat create_user.yaml
---
- hosts: all
gather_facts: no
remote_user: root
tasks:
- name: ensure oinstall group exists
group: name=oinstall gid=54321 state=present
- name: ensure oracle user exists with correct groups
user: name=oracle uid=54321 group=oinstall shell=/bin/bash
32© 2016 Pythian
running this ansible playbook
brost$ ansible-playbook -i hosts create_user.yaml
PLAY [all] *********************************************************************
TASK [ensure oinstall group exists] ********************************************
ok: [blog-demo.pythian.com]
TASK [ensure oracle user exists with correct groups] ***************************
ok: [blog-demo.pythian.com]
PLAY RECAP *********************************************************************
blog-demo.pythian.com : ok=2 changed=0 unreachable=0 failed=0
33© 2016 Pythian
puppet
© 2016 Pythian 34
puppet
config management
•describe the end-state of your system(s) in pseudo-code
•server/client based model
•agent will (by default) check and run every 30 minutes
•has great support for modularization and re-usability
•extends to hierarchical config management
© 2016 Pythian 35
puppet
architecture
•puppetmaster hold configuration
•text files
•hiera
•ENC and many types of databases
•clients actions
1. scompile and end “facts”
2. request their config from puppetmaster
3. implement changes if needed
4. send back the report of the run
© 2016 Pythian 36
simplest puppet code example
group { 'oinstall':
ensure => 'present',
gid => '54321',
}
user { 'oracle':
ensure => 'present',
gid => '54321',
shell => '/bin/bash',
uid => '54321',
requires => Group['oinstall'],
}
37© 2016 Pythian
• excellent to force strict configs
• integration with provisioning
tools
• support into CMDBs
• modularization
• loads of great, supported
modules on puppetforge
• requires server/client
infrastructure
• running one-off scripts or tasks
is cumbersome
• jobs can run several minutes
• hard(er) to scale
conspros
© 2016 Pythian 38
ansible
© 2016 Pythian 39
ansible
config management made really easy
•no agent or infrastructure needed
•needs no client install, only Python must be available
•utilizes ssh for communications
•public-key auth highly recommended
•uses yaml to express configuration
•yaml is somewhere in between json and xml
•includes many modules
•and can be extended
•can run against one target at a time or a list or group of targets
© 2016 Pythian 40
quick and dirty ansible demo
a playbook for rlsqlplus
•install a 3rd party rpm
•to avoid risk of internet connectivity, I downloaded this and copy to VM
•copy a wordfile to the server
•this is also a static file that gets copied
•setup an alias called rlsqlplus in .bash_profile
41© 2016 Pythian
no need to reinvent the wheel
•git repo with oracle playbooks
•install SI and RAC
•patch and upgrade
•execute arbitrary SQL
ready ansible playbooks
https://github.com/oravirt/ansible-oracle
https://github.com/oravirt/ansible-oracle-modules
42© 2016 Pythian
•elevate your DBA skills with
automation
•free up your time for interesting stuff
•look for ways to help devs&biz
•version control everything
•don’t repeat manual tasks more than
twice
•get started with ansible
summary
© 2016 Pythian 43
THANK YOU
@brost
rost@pythian.com
44© 2016 Pythian

More Related Content

What's hot

Moving your Oracle Databases to the Oracle Cloud
Moving your Oracle Databases to the Oracle CloudMoving your Oracle Databases to the Oracle Cloud
Moving your Oracle Databases to the Oracle Cloud
Alex Zaballa
 
SOA Suite 12c Customer implementation
SOA Suite 12c Customer implementationSOA Suite 12c Customer implementation
SOA Suite 12c Customer implementation
Michel Schildmeijer
 
OUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th JanuaryOUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th January
Brendan Tierney
 
Large-Scale Stream Processing in the Hadoop Ecosystem
Large-Scale Stream Processing in the Hadoop Ecosystem Large-Scale Stream Processing in the Hadoop Ecosystem
Large-Scale Stream Processing in the Hadoop Ecosystem
DataWorks Summit/Hadoop Summit
 
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Lucas Jellema
 
Oozie meetup - HA
Oozie meetup - HAOozie meetup - HA
Oozie meetup - HA
Mona Chitnis
 
20160307 apex connects_jira
20160307 apex connects_jira20160307 apex connects_jira
20160307 apex connects_jira
MT AG
 
Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)
Bobby Curtis
 
Serverless and you - where do i run my stateless code
Serverless and you  - where do i run my stateless codeServerless and you  - where do i run my stateless code
Serverless and you - where do i run my stateless code
Gabriela Ferrara
 
Hadoop Migration from 0.20.2 to 2.0
Hadoop Migration from 0.20.2 to 2.0Hadoop Migration from 0.20.2 to 2.0
Hadoop Migration from 0.20.2 to 2.0
Jabir Ahmed
 
Extreme Replication - RMOUG Presentation
Extreme Replication - RMOUG PresentationExtreme Replication - RMOUG Presentation
Extreme Replication - RMOUG Presentation
Bobby Curtis
 
Scaling paypal workloads with oracle rac ss
Scaling paypal workloads with oracle rac ssScaling paypal workloads with oracle rac ss
Scaling paypal workloads with oracle rac ss
Anil Nair
 
MySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document StoreMySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document Store
Abel Flórez
 
Migrating pipelines into Docker
Migrating pipelines into DockerMigrating pipelines into Docker
Migrating pipelines into Docker
DataWorks Summit/Hadoop Summit
 
Automate your Oracle Cloud Infrastructure operation
Automate your Oracle Cloud Infrastructure operationAutomate your Oracle Cloud Infrastructure operation
Automate your Oracle Cloud Infrastructure operation
Nelson Calero
 
LVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan InstabilityLVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan Instability
Maris Elsins
 
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
Jérôme Françoisse
 
Data Ingest Self Service and Management using Nifi and Kafka
Data Ingest Self Service and Management using Nifi and KafkaData Ingest Self Service and Management using Nifi and Kafka
Data Ingest Self Service and Management using Nifi and Kafka
DataWorks Summit
 
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Nagios
 
Learn from HomeAway Hadoop Development and Operations Best Practices
Learn from HomeAway Hadoop Development and Operations Best PracticesLearn from HomeAway Hadoop Development and Operations Best Practices
Learn from HomeAway Hadoop Development and Operations Best Practices
Driven Inc.
 

What's hot (20)

Moving your Oracle Databases to the Oracle Cloud
Moving your Oracle Databases to the Oracle CloudMoving your Oracle Databases to the Oracle Cloud
Moving your Oracle Databases to the Oracle Cloud
 
SOA Suite 12c Customer implementation
SOA Suite 12c Customer implementationSOA Suite 12c Customer implementation
SOA Suite 12c Customer implementation
 
OUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th JanuaryOUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th January
 
Large-Scale Stream Processing in the Hadoop Ecosystem
Large-Scale Stream Processing in the Hadoop Ecosystem Large-Scale Stream Processing in the Hadoop Ecosystem
Large-Scale Stream Processing in the Hadoop Ecosystem
 
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
 
Oozie meetup - HA
Oozie meetup - HAOozie meetup - HA
Oozie meetup - HA
 
20160307 apex connects_jira
20160307 apex connects_jira20160307 apex connects_jira
20160307 apex connects_jira
 
Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)
 
Serverless and you - where do i run my stateless code
Serverless and you  - where do i run my stateless codeServerless and you  - where do i run my stateless code
Serverless and you - where do i run my stateless code
 
Hadoop Migration from 0.20.2 to 2.0
Hadoop Migration from 0.20.2 to 2.0Hadoop Migration from 0.20.2 to 2.0
Hadoop Migration from 0.20.2 to 2.0
 
Extreme Replication - RMOUG Presentation
Extreme Replication - RMOUG PresentationExtreme Replication - RMOUG Presentation
Extreme Replication - RMOUG Presentation
 
Scaling paypal workloads with oracle rac ss
Scaling paypal workloads with oracle rac ssScaling paypal workloads with oracle rac ss
Scaling paypal workloads with oracle rac ss
 
MySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document StoreMySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document Store
 
Migrating pipelines into Docker
Migrating pipelines into DockerMigrating pipelines into Docker
Migrating pipelines into Docker
 
Automate your Oracle Cloud Infrastructure operation
Automate your Oracle Cloud Infrastructure operationAutomate your Oracle Cloud Infrastructure operation
Automate your Oracle Cloud Infrastructure operation
 
LVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan InstabilityLVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan Instability
 
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
 
Data Ingest Self Service and Management using Nifi and Kafka
Data Ingest Self Service and Management using Nifi and KafkaData Ingest Self Service and Management using Nifi and Kafka
Data Ingest Self Service and Management using Nifi and Kafka
 
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
 
Learn from HomeAway Hadoop Development and Operations Best Practices
Learn from HomeAway Hadoop Development and Operations Best PracticesLearn from HomeAway Hadoop Development and Operations Best Practices
Learn from HomeAway Hadoop Development and Operations Best Practices
 

Similar to DevOps for DBAs

Self Healing blue/green Deployments with Dynatrace and Keptn
Self Healing blue/green Deployments with Dynatrace and KeptnSelf Healing blue/green Deployments with Dynatrace and Keptn
Self Healing blue/green Deployments with Dynatrace and Keptn
Florian Bacher
 
Idi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessIdi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean Opsless
Linuxaria.com
 
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Weaveworks
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
Chris Kernaghan
 
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
William Caban
 
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
Coforge (Erstwhile WHISHWORKS)
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toil
Ambassador Labs
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
Daniel Bryant
 
12 Factor App Methodology
12 Factor App Methodology12 Factor App Methodology
12 Factor App Methodology
laeshin park
 
IBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudIBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the Cloud
Andrew Coleman
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event Keynote
Weaveworks
 
DevOps at Tradeshift - AWS community day nordics
DevOps at Tradeshift - AWS community day nordicsDevOps at Tradeshift - AWS community day nordics
DevOps at Tradeshift - AWS community day nordics
JesperTerkelsen1
 
Power shell saturday ravikanth
Power shell saturday  ravikanthPower shell saturday  ravikanth
Power shell saturday ravikanth
Ravikanth Chaganti
 
The Art and Zen of Managing Nagios With Puppet
The Art and Zen of Managing Nagios With PuppetThe Art and Zen of Managing Nagios With Puppet
The Art and Zen of Managing Nagios With Puppet
Mike Merideth
 
451 Research: Data Is the Key to Friction in DevOps
451 Research: Data Is the Key to Friction in DevOps451 Research: Data Is the Key to Friction in DevOps
451 Research: Data Is the Key to Friction in DevOps
Delphix
 
The Art & Zen of Managing Nagios with Puppet
The Art & Zen of Managing Nagios with PuppetThe Art & Zen of Managing Nagios with Puppet
The Art & Zen of Managing Nagios with Puppet
VictorOps
 
Key takeaways for SAP PI Integration 2018
Key takeaways for SAP PI Integration 2018Key takeaways for SAP PI Integration 2018
Key takeaways for SAP PI Integration 2018
Daniel Graversen
 
Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017
Chip Childers
 
HadoopCon- Trend Micro SPN Hadoop Overview
HadoopCon- Trend Micro SPN Hadoop OverviewHadoopCon- Trend Micro SPN Hadoop Overview
HadoopCon- Trend Micro SPN Hadoop Overview
Yafang Chang
 
SCM Migration Webinar - English
SCM Migration Webinar - EnglishSCM Migration Webinar - English
SCM Migration Webinar - English
CollabNet
 

Similar to DevOps for DBAs (20)

Self Healing blue/green Deployments with Dynatrace and Keptn
Self Healing blue/green Deployments with Dynatrace and KeptnSelf Healing blue/green Deployments with Dynatrace and Keptn
Self Healing blue/green Deployments with Dynatrace and Keptn
 
Idi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessIdi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean Opsless
 
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
 
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
 
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toil
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
 
12 Factor App Methodology
12 Factor App Methodology12 Factor App Methodology
12 Factor App Methodology
 
IBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudIBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the Cloud
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event Keynote
 
DevOps at Tradeshift - AWS community day nordics
DevOps at Tradeshift - AWS community day nordicsDevOps at Tradeshift - AWS community day nordics
DevOps at Tradeshift - AWS community day nordics
 
Power shell saturday ravikanth
Power shell saturday  ravikanthPower shell saturday  ravikanth
Power shell saturday ravikanth
 
The Art and Zen of Managing Nagios With Puppet
The Art and Zen of Managing Nagios With PuppetThe Art and Zen of Managing Nagios With Puppet
The Art and Zen of Managing Nagios With Puppet
 
451 Research: Data Is the Key to Friction in DevOps
451 Research: Data Is the Key to Friction in DevOps451 Research: Data Is the Key to Friction in DevOps
451 Research: Data Is the Key to Friction in DevOps
 
The Art & Zen of Managing Nagios with Puppet
The Art & Zen of Managing Nagios with PuppetThe Art & Zen of Managing Nagios with Puppet
The Art & Zen of Managing Nagios with Puppet
 
Key takeaways for SAP PI Integration 2018
Key takeaways for SAP PI Integration 2018Key takeaways for SAP PI Integration 2018
Key takeaways for SAP PI Integration 2018
 
Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017
 
HadoopCon- Trend Micro SPN Hadoop Overview
HadoopCon- Trend Micro SPN Hadoop OverviewHadoopCon- Trend Micro SPN Hadoop Overview
HadoopCon- Trend Micro SPN Hadoop Overview
 
SCM Migration Webinar - English
SCM Migration Webinar - EnglishSCM Migration Webinar - English
SCM Migration Webinar - English
 

Recently uploaded

A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
nooriasukmaningtyas
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
PauloRodrigues104553
 
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
awadeshbabu
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
gerogepatton
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
Divyam548318
 
2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt
PuktoonEngr
 
Low power architecture of logic gates using adiabatic techniques
Low power architecture of logic gates using adiabatic techniquesLow power architecture of logic gates using adiabatic techniques
Low power architecture of logic gates using adiabatic techniques
nooriasukmaningtyas
 
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
Mukeshwaran Balu
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
mamunhossenbd75
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
anoopmanoharan2
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
gestioneergodomus
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 

Recently uploaded (20)

A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
 
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
 
2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt
 
Low power architecture of logic gates using adiabatic techniques
Low power architecture of logic gates using adiabatic techniquesLow power architecture of logic gates using adiabatic techniques
Low power architecture of logic gates using adiabatic techniques
 
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 

DevOps for DBAs

  • 1. DevOps for DBAs use cases and tools Björn Rost
  • 2. Björn Rost about me •Consultant •Oracle Database HA & Performance •Solaris and Linux DevOps & automation •Oracle ACE Director •(ex) president of RAC SIG •OTN EMEA tour organizer © 2016 Pythian 2
  • 3. ABOUT PYTHIAN Pythian’s 400+ IT professionals help companies adopt and manage disruptive technologies to better compete © 2016 Pythian. Confidential 3
  • 4. © 2016 Pythian. Confidential 4 Systems currently managed by Pythian EXPERIENCED Pythian experts in 35 countries GLOBAL Millennia of experience gathered and shared over 19 years EXPERTS 11,800 2400
  • 5. THE TOP 1.5% GLOBALLY © 2016 Pythian. Confidential 5 2015 Resumes Reviewed: 12,711 Behavioral Interviews Conducted: 394 Technical Tests Sent: 4062 Passed: 562 Job Offers Made: 189 Accepted: 174
  • 6. AGENDA • what is DevOps and why do I care? • use cases for DevOps • standardize and automate operations • agility with CI in development • tools • git: version control • puppet: provisioning • ansible: automation © 2016 Pythian 6
  • 7. what is DevOps and why do I care?
  • 8. DevOps © 2016 Pythian DevOps is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably. source: https://en.wikipedia.org/wiki/DevOps 8
  • 9. why should *I* care © 2016 Pythian 9
  • 10. another reason to care The 10 Highest-Paying Tech Jobs Right Now 1. Software Architect – $116,267* 2. Data Scientist – $109,399 3. Devops Engineer – $106,045 4. Software Engineer – $98,304 5. Java Developer – $98,304 6. Mobile Developer – $96,133 7. Frontend Developer – $92,133 8. Software Developer – $87,185 9. Database Admin – $87,025 10. .Net Developer – $83,936 source: http://www.forbes.com/sites/kathryndill/2016/04/22/the-highest-paying-tech-jobs-right-now © 2016 Pythian 10
  • 11. • devs, biz demands more agile • cloud shows what’s possible • need to manage more with less • data keeps increasing in value • move to virtualization and cloud • tools are becoming available • “self-managing” rdbms • free up time for interesting tasks • standardization makes sense • baby steps towards “the cloud” internal driversexternal drivers 11© 2016 Pythian
  • 14. •avoid snowflake systems •re-use experience and test results •self-service instead of repeating tasks •avoid human errors •maturity model automate to standardize © 2016 Pythian 14
  • 15. manual documented command line and templates fully scripted orchestrated APIs automation maturity model © 2016 Pythian 15
  • 16. •software (and cluster) installation •database creation •updates and patching •backup (and recovery) •space management •create and refresh dev/test/QA •DataGuard setup •manage users and privs typical DBA tasks © 2016 Pythian 16
  • 18. © 2016 Pythian •roll out standardized systems •big push for virtualization •migrate bare-metal env to 100s of VMs •full system restores •prereqs •disk provisioning •GI and rdbms installaion •patching •env customization provisioning examples 18
  • 20. rapid cloning for CI © 2016 Pythian 20
  • 21. develop buildtests • de-facto standard method today • sometimes called agile • automatically build and deploy code to dev/test/QA • run unit tests • fix broken tests as needed • repeat test driven development © 2016 Pythian 21
  • 22. •rather easy and standard to do •build, test, throw away and repeat •easy for idempotency •but what about DML and DDL? •creating an object in the DB? •updating a certain object •testing DDL changes TDD for software © 2016 Pythian 22
  • 23. •manually clone (rman or dp) •scripted creation of small DBs for functional tests •flashback database •dNFS clonedb •quick cloning of VMs •cloning of PDBs •oracle cloud DBaaS APIs © 2016 Pythian CI clone or reset the database 23
  • 24. the outcome •automatic unit tests now include data changes •DDL changes for deployment are also unit-tested •DDL deployments are run from scripts •index adds etc by DBAs are fed back into dev codebase and test systems •unit tests complete in minutes, giving instant feedback to developers •less errors •more confidence in deployments •deployment automation meaning no stressful manual tasks for DBAs •enormous benefits in agility and reduced time for feature-to-production © 2016 Pythian 24
  • 25. DevOps tools a very quick intro
  • 27. •init/clone •commit •branch •push/pull git version control •no “central” repo required •push and pull criss-cross •git is not github or gitlab etc •but they can be very useful © 2016 Pythian 27
  • 28. golden images vs config mgmt 28© 2016 Pythian
  • 29. • define end state of system • checks current state and corrects if necessary • runs against different OS and versions • allows to pick and choose single modules • always need to change some configs after cloning anyway • how do you keep image up-to- date? • how do you push updates to cloned VMs? (throw-away and reclone not feasible for databases) • not always supported for all sw • what if you want to change VM technology or move to cloud? golden imagesconfig mgmt © 2016 Pythian 29
  • 31. useradd demo © 2016 Pythian [root@ol ~]# groupadd -g 54321 oinstall groupadd: group 'oinstall' already exists [root@ol ~]# useradd -u 54321 oracle useradd: user 'oracle' already exists 31
  • 32. defining state (ansible example) brost$ cat create_user.yaml --- - hosts: all gather_facts: no remote_user: root tasks: - name: ensure oinstall group exists group: name=oinstall gid=54321 state=present - name: ensure oracle user exists with correct groups user: name=oracle uid=54321 group=oinstall shell=/bin/bash 32© 2016 Pythian
  • 33. running this ansible playbook brost$ ansible-playbook -i hosts create_user.yaml PLAY [all] ********************************************************************* TASK [ensure oinstall group exists] ******************************************** ok: [blog-demo.pythian.com] TASK [ensure oracle user exists with correct groups] *************************** ok: [blog-demo.pythian.com] PLAY RECAP ********************************************************************* blog-demo.pythian.com : ok=2 changed=0 unreachable=0 failed=0 33© 2016 Pythian
  • 35. puppet config management •describe the end-state of your system(s) in pseudo-code •server/client based model •agent will (by default) check and run every 30 minutes •has great support for modularization and re-usability •extends to hierarchical config management © 2016 Pythian 35
  • 36. puppet architecture •puppetmaster hold configuration •text files •hiera •ENC and many types of databases •clients actions 1. scompile and end “facts” 2. request their config from puppetmaster 3. implement changes if needed 4. send back the report of the run © 2016 Pythian 36
  • 37. simplest puppet code example group { 'oinstall': ensure => 'present', gid => '54321', } user { 'oracle': ensure => 'present', gid => '54321', shell => '/bin/bash', uid => '54321', requires => Group['oinstall'], } 37© 2016 Pythian
  • 38. • excellent to force strict configs • integration with provisioning tools • support into CMDBs • modularization • loads of great, supported modules on puppetforge • requires server/client infrastructure • running one-off scripts or tasks is cumbersome • jobs can run several minutes • hard(er) to scale conspros © 2016 Pythian 38
  • 40. ansible config management made really easy •no agent or infrastructure needed •needs no client install, only Python must be available •utilizes ssh for communications •public-key auth highly recommended •uses yaml to express configuration •yaml is somewhere in between json and xml •includes many modules •and can be extended •can run against one target at a time or a list or group of targets © 2016 Pythian 40
  • 41. quick and dirty ansible demo a playbook for rlsqlplus •install a 3rd party rpm •to avoid risk of internet connectivity, I downloaded this and copy to VM •copy a wordfile to the server •this is also a static file that gets copied •setup an alias called rlsqlplus in .bash_profile 41© 2016 Pythian
  • 42. no need to reinvent the wheel •git repo with oracle playbooks •install SI and RAC •patch and upgrade •execute arbitrary SQL ready ansible playbooks https://github.com/oravirt/ansible-oracle https://github.com/oravirt/ansible-oracle-modules 42© 2016 Pythian
  • 43. •elevate your DBA skills with automation •free up your time for interesting stuff •look for ways to help devs&biz •version control everything •don’t repeat manual tasks more than twice •get started with ansible summary © 2016 Pythian 43