SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
MongoDB
Pain Relief
Michael Lynn
Sr. Solutions Architect, MongoDB
@mlynn, @phillyMUG
michael.lynn@mongodb.com
OpsManager
OpsManager
Relieving the pain associated with manually
managing your large-scale MongoDB estate.
Goals
• Ops Manager, Cloud Manager, Atlas
– What are they?
– How do they differ?
– Why do I need them?
• Ansible
– What is it and how can I use these tools to relieve some
pain in my life?
Show of
Hands
• Who’s Here?
– DevOps/Ops?
– Site Reliability?
– Engineer?
– DBA?
– Developer?
Admin
Evolution
3. Puppet, Salt,
Ansible
Leveraging automated solution for
config mgt, some cloud deployment.
1. Manual
Download by hand, build server from
CD, Manually Start and Config Services.
2. Scripting
Write scripts to maintain
configurations, copy those to
servers and run them.
4. Cloud/Hybrid
Automation
Full Cloud-based pro-
visioning and
management
Managing databases manually can be...
• Painful
• Risky
• Complex
• Susceptible to
human error*
• Unnecessary...
* 80% of all downtime due to people/process error (Gartner)
What’s involved in managing MongoDB?
● Provision / Deploy
● Install/Upgrade Binaries
● Configure Database
● Administer Database
Deploying 42
42
Upgrading 35
70
Maintaining 23
100
Play Top 3 Things DBA’s Hate to Do Manually?
So… what does it take (at scale)?
It can take a lot of manual effort to care for a MongoDB
system in production
● Install + Configure
○ 150+ steps
● Scale out, move servers, resize oplog, etc
○ 10 - 180+ steps
● Upgrades, downgrades
○ 100+ stepsUpgrade
Deploy
Maintain
Up to 95%
Reduction in
Operational
Overhead
• Single-click provisioning, scaling &
upgrades, admin tasks!
• Monitoring, with charts, dashboards
and alerts on 100+ metrics
• Backup and restore, with
point-in-time recovery, support for
sharded clusters
MongoDB Ops Manager
The Best Way to Manage MongoDB In Your Data Center
Up to 95% Reduction in Operational Overhead
• Single-click provisioning, scaling &
upgrades, admin tasks!
• Monitoring, with charts, dashboards
and alerts on 100+ metrics
• Backup and restore, with
point-in-time recovery, support for
sharded clusters
MongoDB Cloud Manager
The Best Way to Manage MongoDB In The Cloud
Up to 95% Reduction in Operational Overhead
• Scalable back-end for your
application on-demand
• Secure by default
• Highly available, even while scaling
• Patch maintenance performed for
you
• Your own MongoDB cluster in the
cloud
MongoDB Atlas
MongoDB’s Database as a Service
OpsManager Demo
http://ec2-54-162-176-239.compute-1.amazonaws.com:8080
This finds and
leverages servers
where you’ve already
installed the
automation agent
This provisions hosts
AND deploys the
automation agents.
OpsManager Demo
1
2
Group/RBAC
Logical/Physical
3 Replica Set Members
3 MongoDB Version
1Add Replica Set
1Repset Name
2Version of MongoDB
3Server Pool Hostnames
4Port to Run MongoDB
1Member Roles
2DB Path on Server
3Advanced Options Settings
4CLICK APPLY
Activity
Deploy Server Instance
Upgrade (Done For You)
Configure
Administer Database
Maintain OS - Mongod
Maintain OS - OpsMgr
Activity
Deploy Server Instance
Upgrade MongoDB
Configure MongoDB
Administer Database
Maintain OS - Mongod
Maintain OS - OpsMgr
Activity
Deploy Server Instance
Upgrade MongoDB
Configure MongoDB
Administer Database
Maintain OS - Mongod
Maintain OS - OpsMgr
Ops
Manager
Cloud
Manager Atlas
CONTROL CONVENIENCE
MongoDB Enterprise Server
MongoDB Enterprise Advanced24x7Support
CommercialLicense
Platform
Certifications
Emergency
Patches
On-Demand
Online Training
Customer
Success
Program
MongoDB CompassMongoDB Ops Manager
Monitoring &
Alerting
Query
Optimization
Backup &
Recovery
Automation &
Configuration
Schema
Visualization
Data Exploration
Ad-Hoc Queries
MongoDB Connector for
BI
Visualization
Analysis
Reporting
LDAP & Kerberos Auditing FIPS 140-2Encryption at Rest
REST API
MongoDB Deployment - Ops Manager
Configure Host
Provision Host
Configure
Agent
1. AWS 2. New Host 3. Ops Manager
Install OM
Agent
Restart Agent
Install
MongoDB
Configure
Monitoring
Configure
Backups
Configure Host
Provision Host
Configure
Agent
Install OM
Agent
Restart Agent
Install
MongoDB
Configure
Monitoring
Configure
Backups
2. New Host 3. Ops Manager1. AWS
More?
More?
http://ec2-54-162-176-239.compute-1.amazonaws.com:8080
MongoDB Deployment - Cloud Manager & Atlas
Configure Host
Provision Host
Configure
Agent
Install OM
Agent
Restart Agent
Provision New
Hosts
Configure
Monitoring
Configure
Backups
AWS New Host Ops Manager
Provision New
Hosts
Configure
Monitoring
Configure
Backups
1. Cloud / Atlas
This provisions hosts
AND deploys the
automation agents.
MongoDB Deployment - Ops Manager
Configure Host
Provision Host
Configure
Agent
1. AWS 2. New Host 3. Ops Manager
Install OW
Agent
Restart Agent
Install
MongoDB
Configure
Monitoring
Configure
Backups
Configure Host
Provision Host
Configure
Agent
Install OW
Agent
Restart Agent
Install
MongoDB
Configure
Monitoring
Configure
Backups
2. New Host 3. Ops Manager1. AWS
Candidate
for
Automation?
26
WHAT IS ANSIBLE?
Confidential
It’s a simple automation language that
can perfectly describe an IT application
infrastructure in Ansible Playbooks.
It’s an automation engine that runs
Ansible Playbooks.
Ansible Tower is an enterprise
framework for controlling, securing
and managing your Ansible
automation with a UI and RESTful API.
27
SIMPLE POWERFUL AGENTLESS
App deployment
Configuration management
Workflow orchestration
Orchestrate the app lifecycle
Human readable automation
No special coding skills needed
Tasks executed in order
Get productive quickly
Agentless architecture
Uses OpenSSH & WinRM
No agents to exploit or update
More efficient & more secure
Confidential
28
ANSIBLE TOWER
CONTROL
SIMPLE POWERFUL AGENTLESS
KNOWLEDGE DELEGATION
TOWER EMPOWERS TEAMS TO AUTOMATE
AT ANSIBLE’S CORE IS AN OPEN-SOURCE AUTOMATION ENGINE
Scheduled and
centralized jobs
Visibility and
compliance
Role-based access
and self-service
Everyone speaks the
same language
Designed for
multi-tier deployments
Predictable, reliable,
and secure
Confidential
Getting Started with Ansible - Lexicon
• Commands
– ansible, ansible-playbook
• Configuration
– ansible.cfg
• Modules
– Hundreds of stand-alone scripts to solve common requirements
• Plays, Playbooks
– The execution tools to carry out your management tasks
• Tasks
– The components that connect ansible to the servers
Why Ansible?
• Simple
• Human Readable
• Agentless (uses SSH)
• Popular - Lots of Modules
• Used by Twitter, NASA, Spotify
Demo of Ansible
Follow Along
• Git (or download)
– git clone http://github.com/mrlynn/ansible-demo
– Thank you Torsten Spindler
• Ansible
– brew install ansible
• Pipe Viewer (optional)
– Simulates typing
• AWS->EC2
– Keys Set Up
Post-Demo Check-in
• Atlas
– DBaaS
– Deploys new MongoDB Clusters from zero to cluster in minutes.
• Ops Manager
– Automation for all the things you do with MongoDB - except deploying the agent.
• Ansible
– Automation for configs, deployment and more - especially deploying O/M Agents
I hope you learned some ways you can relieve the pain associated with manually
configuring, deploying and maintaining your database environment.
Questions?
Get These Scripts and Slides:
http://github.com/mrlynn/ansible-demo
1 - Ansible Configuration Files
2 - Ansible Hosts File
3 - Ansible Modules - Ping
4 - Ansible Environment Variables
5 - Ansible Modules - Script
6 - Ansible Playbooks
7 - Deploying O/M in Playbooks
BONUS
SLIDES!
• Slides probably
not used in the
presentation.
Replica Set Architecture (w/ Ops Manager)
43
APP SERVER
APPLICATION
DRIVER
OPS MANAGER
OM APP
APP BACKUP
REPLICA SET
PRIMARY
SECONDARY SECONDARY
OM
AGENT
OM
AGENT
OM
AGENT
Demonstration Setup
Command Description
ansible -m ping -i ansible-hosts all Using the ping module and the hosts file
ansible-hosts in the current directory,
ping all hosts
export ANSIBLE_HOSTS=./ansible_hosts Save some time - ansible uses
environment variables extensivel
ansible -m ping all Same as before - but now ansible
leverages the env var to find the ansible
hosts file.
Demonstration
Command Description
ansible -m script test.sh all Here, we take a local script and execute
it across all of our hosts. Ansible takes
that script and delivers it via scp to the
hosts, executes it and captures the
output.
export ANSIBLE_HOSTS=./ansible_hosts Save some time - ansible uses
environment variables extensivel
ansible -m ping all Same as before - but now ansible
leverages the env var to find the ansible
hosts file.
Appendix A - /etc/ansible/hosts sample
[opsManager]
ec2-54-93-114-205.eu-central-1.compute.amazonaws.com ansible_user=ec2-user
[amlReplicaSet]
ec2-54-93-79-122.eu-central-1.compute.amazonaws.com ansible_user=ec2-user
ec2-54-93-176-246.eu-central-1.compute.amazonaws.com ansible_user=ec2-user
ec2-54-93-207-148.eu-central-1.compute.amazonaws.com ansible_user=ec2-user
[amlReplicaSet:vars]
opsmanagerurl=http://ec2-54-93-114-205.eu-central-1.compute.amazonaws.com:8080
opsmanager=ec2-54-93-114-205.eu-central-1.compute.amazonaws.com
Appendix B - ansible.cfg
[defaults]
host_key_checking = False
private_key_file = PATH/TO/AWS/KEY.FILE
[ssh_connection]
control_path = %(directory)s/%%C

Weitere ähnliche Inhalte

Was ist angesagt?

Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기NeoClova
 
MySQL GTID 시작하기
MySQL GTID 시작하기MySQL GTID 시작하기
MySQL GTID 시작하기I Goo Lee
 
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스PgDay.Seoul
 
MySQL Atchitecture and Concepts
MySQL Atchitecture and ConceptsMySQL Atchitecture and Concepts
MySQL Atchitecture and ConceptsTuyen Vuong
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centersMariaDB plc
 
MySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveMySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveSveta Smirnova
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyJean-François Gagné
 
MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB FundamentalsMongoDB
 
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바NeoClova
 
ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)Mydbops
 
MySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software TestMySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software TestI Goo Lee
 
What is new in PostgreSQL 14?
What is new in PostgreSQL 14?What is new in PostgreSQL 14?
What is new in PostgreSQL 14?Mydbops
 
Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!Ted Wennmark
 
Connection Pooling in PostgreSQL using pgbouncer
Connection Pooling in PostgreSQL using pgbouncer Connection Pooling in PostgreSQL using pgbouncer
Connection Pooling in PostgreSQL using pgbouncer Sameer Kumar
 
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricksQuery Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricksJaime Crespo
 
CKA Certified Kubernetes Administrator Notes
CKA Certified Kubernetes Administrator Notes CKA Certified Kubernetes Administrator Notes
CKA Certified Kubernetes Administrator Notes Adnan Rashid
 
PGConf.ASIA 2017 Logical Replication Internals (English)
PGConf.ASIA 2017 Logical Replication Internals (English)PGConf.ASIA 2017 Logical Replication Internals (English)
PGConf.ASIA 2017 Logical Replication Internals (English)Noriyoshi Shinoda
 
Histogram-in-Parallel-universe-of-MySQL-and-MariaDB
Histogram-in-Parallel-universe-of-MySQL-and-MariaDBHistogram-in-Parallel-universe-of-MySQL-and-MariaDB
Histogram-in-Parallel-universe-of-MySQL-and-MariaDBMydbops
 
Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Mydbops
 

Was ist angesagt? (20)

Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기
 
MySQL GTID 시작하기
MySQL GTID 시작하기MySQL GTID 시작하기
MySQL GTID 시작하기
 
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
 
Automated master failover
Automated master failoverAutomated master failover
Automated master failover
 
MySQL Atchitecture and Concepts
MySQL Atchitecture and ConceptsMySQL Atchitecture and Concepts
MySQL Atchitecture and Concepts
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centers
 
MySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveMySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to Have
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash Safety
 
MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB Fundamentals
 
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바
 
ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)
 
MySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software TestMySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software Test
 
What is new in PostgreSQL 14?
What is new in PostgreSQL 14?What is new in PostgreSQL 14?
What is new in PostgreSQL 14?
 
Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!
 
Connection Pooling in PostgreSQL using pgbouncer
Connection Pooling in PostgreSQL using pgbouncer Connection Pooling in PostgreSQL using pgbouncer
Connection Pooling in PostgreSQL using pgbouncer
 
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricksQuery Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
 
CKA Certified Kubernetes Administrator Notes
CKA Certified Kubernetes Administrator Notes CKA Certified Kubernetes Administrator Notes
CKA Certified Kubernetes Administrator Notes
 
PGConf.ASIA 2017 Logical Replication Internals (English)
PGConf.ASIA 2017 Logical Replication Internals (English)PGConf.ASIA 2017 Logical Replication Internals (English)
PGConf.ASIA 2017 Logical Replication Internals (English)
 
Histogram-in-Parallel-universe-of-MySQL-and-MariaDB
Histogram-in-Parallel-universe-of-MySQL-and-MariaDBHistogram-in-Parallel-universe-of-MySQL-and-MariaDB
Histogram-in-Parallel-universe-of-MySQL-and-MariaDB
 
Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0Redo log improvements MYSQL 8.0
Redo log improvements MYSQL 8.0
 

Ähnlich wie Ansible, MongoDB Ops Manager and AWS v1.1

MongoDB Management & Ansible
MongoDB Management & AnsibleMongoDB Management & Ansible
MongoDB Management & AnsibleMongoDB
 
MongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James BroadheadMongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James BroadheadMongoDB
 
Premiers pas avec Ops Manager
Premiers pas avec Ops ManagerPremiers pas avec Ops Manager
Premiers pas avec Ops ManagerMongoDB
 
Automate, monitor and manage MongoDB cluster deployment
Automate, monitor and manage MongoDB cluster deploymentAutomate, monitor and manage MongoDB cluster deployment
Automate, monitor and manage MongoDB cluster deploymentAshnikbiz
 
Ansible Tutorial.pdf
Ansible Tutorial.pdfAnsible Tutorial.pdf
Ansible Tutorial.pdfNigussMehari4
 
Introducing Amazon RDS for PostgreSQL (DAT210) | AWS re:Invent 2013
Introducing Amazon RDS for PostgreSQL (DAT210) | AWS re:Invent 2013Introducing Amazon RDS for PostgreSQL (DAT210) | AWS re:Invent 2013
Introducing Amazon RDS for PostgreSQL (DAT210) | AWS re:Invent 2013Amazon Web Services
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftYaniv cohen
 
Ops manager webinar mar 5, 2015
Ops manager webinar   mar 5, 2015Ops manager webinar   mar 5, 2015
Ops manager webinar mar 5, 2015MongoDB
 
Introducing AWS OpsWorks, a DevOps application management platform
Introducing AWS OpsWorks, a DevOps application management platformIntroducing AWS OpsWorks, a DevOps application management platform
Introducing AWS OpsWorks, a DevOps application management platformAmazon Web Services
 
DevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & AnsibleDevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & AnsibleArnaud LEMAIRE
 
Ansible automation sa technical deck q2 fy19
Ansible automation sa technical deck q2 fy19Ansible automation sa technical deck q2 fy19
Ansible automation sa technical deck q2 fy19dvillaco
 
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWSAWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWSAmazon Web Services
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...WASdev Community
 
06 network automationwithansible
06 network automationwithansible06 network automationwithansible
06 network automationwithansibleKhairul Zebua
 
Aug NYC July 12 event
Aug NYC July 12 eventAug NYC July 12 event
Aug NYC July 12 eventAUGNYC
 
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...Amazon Web Services
 

Ähnlich wie Ansible, MongoDB Ops Manager and AWS v1.1 (20)

MongoDB Management & Ansible
MongoDB Management & AnsibleMongoDB Management & Ansible
MongoDB Management & Ansible
 
DevOps demystified
DevOps demystifiedDevOps demystified
DevOps demystified
 
MongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James BroadheadMongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James Broadhead
 
Premiers pas avec Ops Manager
Premiers pas avec Ops ManagerPremiers pas avec Ops Manager
Premiers pas avec Ops Manager
 
Ansible - Hands on Training
Ansible - Hands on TrainingAnsible - Hands on Training
Ansible - Hands on Training
 
Automate, monitor and manage MongoDB cluster deployment
Automate, monitor and manage MongoDB cluster deploymentAutomate, monitor and manage MongoDB cluster deployment
Automate, monitor and manage MongoDB cluster deployment
 
Ansible Tutorial.pdf
Ansible Tutorial.pdfAnsible Tutorial.pdf
Ansible Tutorial.pdf
 
ansible_rhel.pdf
ansible_rhel.pdfansible_rhel.pdf
ansible_rhel.pdf
 
Introducing Amazon RDS for PostgreSQL (DAT210) | AWS re:Invent 2013
Introducing Amazon RDS for PostgreSQL (DAT210) | AWS re:Invent 2013Introducing Amazon RDS for PostgreSQL (DAT210) | AWS re:Invent 2013
Introducing Amazon RDS for PostgreSQL (DAT210) | AWS re:Invent 2013
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShift
 
Ops manager webinar mar 5, 2015
Ops manager webinar   mar 5, 2015Ops manager webinar   mar 5, 2015
Ops manager webinar mar 5, 2015
 
Introducing AWS OpsWorks, a DevOps application management platform
Introducing AWS OpsWorks, a DevOps application management platformIntroducing AWS OpsWorks, a DevOps application management platform
Introducing AWS OpsWorks, a DevOps application management platform
 
DevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & AnsibleDevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & Ansible
 
Ansible automation sa technical deck q2 fy19
Ansible automation sa technical deck q2 fy19Ansible automation sa technical deck q2 fy19
Ansible automation sa technical deck q2 fy19
 
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWSAWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
 
06 network automationwithansible
06 network automationwithansible06 network automationwithansible
06 network automationwithansible
 
Aug NYC July 12 event
Aug NYC July 12 eventAug NYC July 12 event
Aug NYC July 12 event
 
DevOps for database
DevOps for databaseDevOps for database
DevOps for database
 
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
 

Kürzlich hochgeladen

Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 

Kürzlich hochgeladen (20)

Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 

Ansible, MongoDB Ops Manager and AWS v1.1

  • 1. MongoDB Pain Relief Michael Lynn Sr. Solutions Architect, MongoDB @mlynn, @phillyMUG michael.lynn@mongodb.com OpsManager OpsManager Relieving the pain associated with manually managing your large-scale MongoDB estate.
  • 2. Goals • Ops Manager, Cloud Manager, Atlas – What are they? – How do they differ? – Why do I need them? • Ansible – What is it and how can I use these tools to relieve some pain in my life?
  • 3. Show of Hands • Who’s Here? – DevOps/Ops? – Site Reliability? – Engineer? – DBA? – Developer?
  • 4. Admin Evolution 3. Puppet, Salt, Ansible Leveraging automated solution for config mgt, some cloud deployment. 1. Manual Download by hand, build server from CD, Manually Start and Config Services. 2. Scripting Write scripts to maintain configurations, copy those to servers and run them. 4. Cloud/Hybrid Automation Full Cloud-based pro- visioning and management
  • 5. Managing databases manually can be... • Painful • Risky • Complex • Susceptible to human error* • Unnecessary... * 80% of all downtime due to people/process error (Gartner)
  • 6. What’s involved in managing MongoDB? ● Provision / Deploy ● Install/Upgrade Binaries ● Configure Database ● Administer Database Deploying 42 42 Upgrading 35 70 Maintaining 23 100 Play Top 3 Things DBA’s Hate to Do Manually?
  • 7. So… what does it take (at scale)? It can take a lot of manual effort to care for a MongoDB system in production ● Install + Configure ○ 150+ steps ● Scale out, move servers, resize oplog, etc ○ 10 - 180+ steps ● Upgrades, downgrades ○ 100+ stepsUpgrade Deploy Maintain Up to 95% Reduction in Operational Overhead
  • 8. • Single-click provisioning, scaling & upgrades, admin tasks! • Monitoring, with charts, dashboards and alerts on 100+ metrics • Backup and restore, with point-in-time recovery, support for sharded clusters MongoDB Ops Manager The Best Way to Manage MongoDB In Your Data Center Up to 95% Reduction in Operational Overhead
  • 9. • Single-click provisioning, scaling & upgrades, admin tasks! • Monitoring, with charts, dashboards and alerts on 100+ metrics • Backup and restore, with point-in-time recovery, support for sharded clusters MongoDB Cloud Manager The Best Way to Manage MongoDB In The Cloud Up to 95% Reduction in Operational Overhead
  • 10. • Scalable back-end for your application on-demand • Secure by default • Highly available, even while scaling • Patch maintenance performed for you • Your own MongoDB cluster in the cloud MongoDB Atlas MongoDB’s Database as a Service
  • 11. OpsManager Demo http://ec2-54-162-176-239.compute-1.amazonaws.com:8080 This finds and leverages servers where you’ve already installed the automation agent
  • 12. This provisions hosts AND deploys the automation agents.
  • 16. 1Repset Name 2Version of MongoDB 3Server Pool Hostnames 4Port to Run MongoDB
  • 17. 1Member Roles 2DB Path on Server 3Advanced Options Settings 4CLICK APPLY
  • 18. Activity Deploy Server Instance Upgrade (Done For You) Configure Administer Database Maintain OS - Mongod Maintain OS - OpsMgr Activity Deploy Server Instance Upgrade MongoDB Configure MongoDB Administer Database Maintain OS - Mongod Maintain OS - OpsMgr Activity Deploy Server Instance Upgrade MongoDB Configure MongoDB Administer Database Maintain OS - Mongod Maintain OS - OpsMgr Ops Manager Cloud Manager Atlas CONTROL CONVENIENCE
  • 19. MongoDB Enterprise Server MongoDB Enterprise Advanced24x7Support CommercialLicense Platform Certifications Emergency Patches On-Demand Online Training Customer Success Program MongoDB CompassMongoDB Ops Manager Monitoring & Alerting Query Optimization Backup & Recovery Automation & Configuration Schema Visualization Data Exploration Ad-Hoc Queries MongoDB Connector for BI Visualization Analysis Reporting LDAP & Kerberos Auditing FIPS 140-2Encryption at Rest REST API
  • 20. MongoDB Deployment - Ops Manager Configure Host Provision Host Configure Agent 1. AWS 2. New Host 3. Ops Manager Install OM Agent Restart Agent Install MongoDB Configure Monitoring Configure Backups Configure Host Provision Host Configure Agent Install OM Agent Restart Agent Install MongoDB Configure Monitoring Configure Backups 2. New Host 3. Ops Manager1. AWS More? More?
  • 22. MongoDB Deployment - Cloud Manager & Atlas Configure Host Provision Host Configure Agent Install OM Agent Restart Agent Provision New Hosts Configure Monitoring Configure Backups AWS New Host Ops Manager Provision New Hosts Configure Monitoring Configure Backups 1. Cloud / Atlas
  • 23. This provisions hosts AND deploys the automation agents.
  • 24. MongoDB Deployment - Ops Manager Configure Host Provision Host Configure Agent 1. AWS 2. New Host 3. Ops Manager Install OW Agent Restart Agent Install MongoDB Configure Monitoring Configure Backups Configure Host Provision Host Configure Agent Install OW Agent Restart Agent Install MongoDB Configure Monitoring Configure Backups 2. New Host 3. Ops Manager1. AWS Candidate for Automation?
  • 25.
  • 26. 26 WHAT IS ANSIBLE? Confidential It’s a simple automation language that can perfectly describe an IT application infrastructure in Ansible Playbooks. It’s an automation engine that runs Ansible Playbooks. Ansible Tower is an enterprise framework for controlling, securing and managing your Ansible automation with a UI and RESTful API.
  • 27. 27 SIMPLE POWERFUL AGENTLESS App deployment Configuration management Workflow orchestration Orchestrate the app lifecycle Human readable automation No special coding skills needed Tasks executed in order Get productive quickly Agentless architecture Uses OpenSSH & WinRM No agents to exploit or update More efficient & more secure Confidential
  • 28. 28 ANSIBLE TOWER CONTROL SIMPLE POWERFUL AGENTLESS KNOWLEDGE DELEGATION TOWER EMPOWERS TEAMS TO AUTOMATE AT ANSIBLE’S CORE IS AN OPEN-SOURCE AUTOMATION ENGINE Scheduled and centralized jobs Visibility and compliance Role-based access and self-service Everyone speaks the same language Designed for multi-tier deployments Predictable, reliable, and secure Confidential
  • 29. Getting Started with Ansible - Lexicon • Commands – ansible, ansible-playbook • Configuration – ansible.cfg • Modules – Hundreds of stand-alone scripts to solve common requirements • Plays, Playbooks – The execution tools to carry out your management tasks • Tasks – The components that connect ansible to the servers
  • 30. Why Ansible? • Simple • Human Readable • Agentless (uses SSH) • Popular - Lots of Modules • Used by Twitter, NASA, Spotify
  • 32. Follow Along • Git (or download) – git clone http://github.com/mrlynn/ansible-demo – Thank you Torsten Spindler • Ansible – brew install ansible • Pipe Viewer (optional) – Simulates typing • AWS->EC2 – Keys Set Up
  • 33. Post-Demo Check-in • Atlas – DBaaS – Deploys new MongoDB Clusters from zero to cluster in minutes. • Ops Manager – Automation for all the things you do with MongoDB - except deploying the agent. • Ansible – Automation for configs, deployment and more - especially deploying O/M Agents I hope you learned some ways you can relieve the pain associated with manually configuring, deploying and maintaining your database environment.
  • 34. Questions? Get These Scripts and Slides: http://github.com/mrlynn/ansible-demo
  • 35. 1 - Ansible Configuration Files
  • 36. 2 - Ansible Hosts File
  • 37. 3 - Ansible Modules - Ping
  • 38. 4 - Ansible Environment Variables
  • 39. 5 - Ansible Modules - Script
  • 40. 6 - Ansible Playbooks
  • 41. 7 - Deploying O/M in Playbooks
  • 42. BONUS SLIDES! • Slides probably not used in the presentation.
  • 43. Replica Set Architecture (w/ Ops Manager) 43 APP SERVER APPLICATION DRIVER OPS MANAGER OM APP APP BACKUP REPLICA SET PRIMARY SECONDARY SECONDARY OM AGENT OM AGENT OM AGENT
  • 44. Demonstration Setup Command Description ansible -m ping -i ansible-hosts all Using the ping module and the hosts file ansible-hosts in the current directory, ping all hosts export ANSIBLE_HOSTS=./ansible_hosts Save some time - ansible uses environment variables extensivel ansible -m ping all Same as before - but now ansible leverages the env var to find the ansible hosts file.
  • 45. Demonstration Command Description ansible -m script test.sh all Here, we take a local script and execute it across all of our hosts. Ansible takes that script and delivers it via scp to the hosts, executes it and captures the output. export ANSIBLE_HOSTS=./ansible_hosts Save some time - ansible uses environment variables extensivel ansible -m ping all Same as before - but now ansible leverages the env var to find the ansible hosts file.
  • 46. Appendix A - /etc/ansible/hosts sample [opsManager] ec2-54-93-114-205.eu-central-1.compute.amazonaws.com ansible_user=ec2-user [amlReplicaSet] ec2-54-93-79-122.eu-central-1.compute.amazonaws.com ansible_user=ec2-user ec2-54-93-176-246.eu-central-1.compute.amazonaws.com ansible_user=ec2-user ec2-54-93-207-148.eu-central-1.compute.amazonaws.com ansible_user=ec2-user [amlReplicaSet:vars] opsmanagerurl=http://ec2-54-93-114-205.eu-central-1.compute.amazonaws.com:8080 opsmanager=ec2-54-93-114-205.eu-central-1.compute.amazonaws.com
  • 47. Appendix B - ansible.cfg [defaults] host_key_checking = False private_key_file = PATH/TO/AWS/KEY.FILE [ssh_connection] control_path = %(directory)s/%%C