25
Michael DelNegro Principal Database Administrator AOL “Operationali zing” MongoDB@AOL

Operationalizing MongoDB at AOL

Embed Size (px)

DESCRIPTION

MongoDC 2012

Citation preview

Page 1: Operationalizing MongoDB at AOL

Michael DelNegroPrincipal Database Administrator

AOL

“Operationalizing”

MongoDB@AOL

Page 2: Operationalizing MongoDB at AOL

About Me

• DBA at AOL (Dulles) for 6+ years• Original DBMS Background is in Sybase• Now MySQL, MongoDB, PostgreSQL and

NoSQL (Neo4J, Redis, etc)• Check out www.meetup.com/NOVA-

MySQL

Page 3: Operationalizing MongoDB at AOL

The First Mongo at AOL• A MapQuest Developer in the

Summer of 2010 Replaced a MySQL Datastore with Mongo

• That Developer left in early 2011 :-/• Was Handed Over to Operations and

Yours Truly

Page 4: Operationalizing MongoDB at AOL

Never Forget Your First• Not Small: 40+ Hosts• Upgrade Challenges• Connection Floods• Support to the Rescue• Magnified the Reasons to

Operationalize

Page 5: Operationalizing MongoDB at AOL

Operation “Operationalize”

Page 6: Operationalizing MongoDB at AOL

Operation “Operationalize”

• Take Advantage of 10Gen Support• Establish Standards• Monitoring/Alerting• Backups• Information Sharing• Challenges

Page 7: Operationalizing MongoDB at AOL

10Gen Support

• JIRA Documents Cases Enabling Information Sharing and Referencing

• Serves Us Well in Both “Emergencies” and “Hey Quick Question”

• Training Classes: Administration & Development

Page 8: Operationalizing MongoDB at AOL

Standard Host Setup

• CentOS 6• XFS/EXT4• Deadline I/O Scheduler• dirty_ratio = 10 (down from 40)• dirty_background_ratio = 5 (down

from 10)• noatime

Page 9: Operationalizing MongoDB at AOL

Standard Build Scripts

• Use 64bit Linux Binaries Stored in AOL Repository

• mongodb_install.sh– Parameters Include:• MongoDB Version• Replica Set Name• Sharded? (Y/N)• Port (27017 is standard)• Type (DB, Arbiter, Config, Mongos)

Page 10: Operationalizing MongoDB at AOL

Standard Directory/Layouts

• Based on our standard MySQL layout• Binaries in /opt/local/pkg• /db/mongodb/<port> base directory

– Ex. /db/mongodb/27017– Can Override

• /db/mongodb/27017-repset1

• Under base directory– data– etc (config files)– logs– scripts (ex stop/start)

Page 11: Operationalizing MongoDB at AOL

ORB

• AOL Technologies’ Configuration Management Database (CMDB)

• Integrated with many authoritative data repositories

• Unique namespace for many operations data points

• Data model for operations management• Projects, Assets, People, Applications,

Network Data, HCM• SQL Interface

Page 12: Operationalizing MongoDB at AOL

Monitoring/Alerting

• Argus• Nagios• Component Test Tool• MMS (MongoDB Monitoring Service)

Page 13: Operationalizing MongoDB at AOL

Argus

• Metric and Event– Collector– Thresholds –Management– Data Viewing

Page 14: Operationalizing MongoDB at AOL

Argus

• Capture serverStatus Metrics (once a minute)• Capture Replication Lag• Great for Trending• Great for Capacity Planning• Great for Troubleshooting• We Also Use for Host Metrics (CPU, I/O, etc)• Administrated By a Small and very Busy Group– Requested Additions/Changes Can Be Slow

Page 15: Operationalizing MongoDB at AOL

Nagios

• Great For Fault-detection/Alerting• Great For Show Me What Is Currently

Broken• Great For Service Availability Metrics• Flexible• Reduces Pressure On NOC• Integrates With Netcool, Ignore Tool• We Write Our Own Plug-Ins

Page 16: Operationalizing MongoDB at AOL

Component Test Tool

• Runs Parallel HTTP GETs Across a Group of Hosts

• Matches Regular Expressions On the Page Content (or HTTP Headers)

• Displays Number (or Content) of Matches in a HTML Table

Page 17: Operationalizing MongoDB at AOL

MMS

Page 18: Operationalizing MongoDB at AOL

Backups

• Scripts Delivered With Install• Choice Between LVM (default) and

Standard (mongodump)• Ability to Backup Sharded Setup

Page 19: Operationalizing MongoDB at AOL

Mongo @ AOL Currently

Page 20: Operationalizing MongoDB at AOL

Mongo @ AOL Currently

• 30+ Active MongoDB Projects• 500+ Servers in Production• Developed in:

– Java– PHP– Ruby– C#– Erlang– Scala– Perl– C++

Page 21: Operationalizing MongoDB at AOL

Information Sharing

• Internal Wikis/Websites• UnUniversity (Organized Brown Bags)• Architecture Reviews• 10Gen JIRA Access

Page 22: Operationalizing MongoDB at AOL

Challenges

• Developers Love It • BUT Requires More Upfront Planning

Than They May Realize• Should NOT Be Our Default Datastore• Better Developer OnBoarding• Aggressive Upgrading Is Required• Coordination of Driver Upgrades

Page 23: Operationalizing MongoDB at AOL

The Future

• “MongoDB As a Service”• Puppet or Chef• Internal Administration Console– Already has Visual Topologies

• Internal MongoDB Operations Class– First One is in July

Page 25: Operationalizing MongoDB at AOL

Thank You!

• www.slideshare.net/radiocats• @radiocats• www.linkedin.com/in/mdelnegro• Thank you, SeniorGif