MongoDB Introduction and Red Hat Integration...

29
MongoDB Introduction and Red Hat Integration Points Chad Tindel Solution Architect

Transcript of MongoDB Introduction and Red Hat Integration...

Page 1: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

MongoDB Introduction and Red Hat Integration Points Chad Tindel Solution Architect

Page 2: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

2

MongoDB Overview

350+ employees 1,000+ customers

13 offices around the world

Over $231 million in funding

Page 3: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

3

MongoDB

The leading NoSQL database

Document Database

Open-Source

General Purpose

Page 4: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

4

To provide the best database for how we build and run apps today

MongoDB Vision

Build –  New and complex data –  Flexible –  New languages –  Faster development

Run –  Big Data scalability –  Real-time –  Commodity hardware –  Cloud

Page 5: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

5

MongoDB is so easy….

Page 6: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

6

MongoDB is so easy….

Even a baby can use it!

Page 7: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

7

1.  Customer Data Mgt.

2.  Product and Asset Catalogs

3.  Social and Collaboration Apps

4.  Mobile Apps

5.  M2M / Internet of Things

6.  Security and Fraud Apps

7.  PaaS/DBaaS

8.  Data Hub

9.  Analytics

Top 10 Apps in All Industries for MongoDB

Page 8: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

8

q  You want to easily aggregate data from multiple sources

q  You want agile development and/or fastest time-to-market

q  You want to offer location-based services (latitude/longitude)

q  You expect the schema to change often

q  You have variably or un-structured data (records might have different fields)

q  Your data is hierarchical (i.e. hard to model in RDBMS), e.g. JSON

q  You expect the data to grow quickly and want ease of scaling out

q  You want the best performance possible for real-time read/write

q  You want the lowest TCO and resources including with replication and caching

q  Performance of database directly impacts user experience

q  You want real-time analytics and aggregations

q  You have challenges today with building canonical models, scale, TCO, or agility

Most benefit from using MongoDB

Page 9: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

9

Documents are Rich Data Structures { ! first_name: ‘Paul’,! surname: ‘Miller’,! cell: ‘+447557505611’ ! city: ‘London’,! location: [45.123,47.232],! Profession: [banking, finance, trader],! cars: [ ! { model: ‘Bentley’,! year: 1973,! value: 100000, … },! { model: ‘Rolls Royce’,! year: 1965,! value: 330000, … }! }!}!

Fields can contain an array of sub-documents

Fields

Typed field values

Fields can contain arrays

String

Number

Page 10: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

10

High Availability

•  Automated replication and failover

•  Multi-data center support

•  Improved operational simplicity (e.g., HW swaps)

•  Data durability and consistency

Page 11: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

11

MongoDB Architecture

Page 12: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

12

Shell Command-line shell for interacting directly with database

Shell and Drivers

Drivers Drivers for most popular programming languages and frameworks

> db.collection.insert({product:“MongoDB”, type:“Document Database”}) > > db.collection.findOne() {

“_id” : ObjectId(“5106c1c2fc629bfe52792e86”), “product” : “MongoDB” “type” : “Document Database”

}

Java

Python

Perl

Ruby

Haskell

JavaScript

Page 13: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

13

Lower Total Cost of Ownership

Page 14: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

MongoDB and Docker

Page 15: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

15

•  Containers provide advantages of virtual machines with less overhead

•  Lightweight approach to managing different classes of infrastructure

•  Simple deployment and management model •  Containers can be packaged and shared easily

Why Docker?

Page 16: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

16

•  Use for “microsharding” •  Avoid storage bottlenecks, use dedicated

volumes

•  Put base settings in mongod.conf (e.g. dbpath) •  Set specific container params at runtime (e.g.

port) $  docker  run  mongodb  -­‐-­‐port  5001

•  Add iptables rules to map exposed ports

Deployment Best Practices

Page 17: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

17

Example Sharded Deployment

Host  1  

mongod  shard  1  primary  

mongod  shard  2  secondary  

mongod  shard  3  secondary  

mongod  config  

Host  2  

mongod  shard  1  secondary  

mongod  shard  2  primary  

mongod  shard  3  secondary  

mongod  config  

Host  3  

mongod  shard  1  secondary  

mongod  shard  2  secondary  

mongod  shard  3  primary  

mongod  config  

Page 18: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

18

FROM  centos:latest  

ADD  mongodb.repo  /etc/yum.repos.d/mongodb.repo  

RUN  yum  –q  –y  update  

RUN  yum  –q  –y  mongo-­‐10gen-­‐server  

ADD  mongod.conf  /etc/mongod.conf  

VOLUME  [“/data”]  

ENTRYPOINT  [“/usr/bin/mongod”,  “-­‐-­‐config”,  “/etc/mongod.conf”]  

Dockerfile

Page 19: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

19

•  MongoDB on Docker http://github.com/crcsmnky/mongodb-docker

•  Coming Soon –  Reference architecture –  Complete documentation –  Setup and walkthrough for a sharded cluster

Resources

Page 20: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

MongoDB and RHEL IdM

Page 21: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

21

Security Architecture

Identity • AD • LDAP • Etc.

Clients • MongoDB • App

Servers • Web

Servers

Page 22: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

22

•  RHEL IdM Docs: https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/Identity_Management_Guide/index.html

•  Setup RHEL IdM for MongoDB Enterprise: http://docs.mongodb.org/ecosystem/tutorial/configure-red-hat-enterprise-linux-identity-management/

•  Operational RHEL IdM Procedures: http://docs.mongodb.org/ecosystem/tutorial/manage-red-hat-enterprise-linux-identity-management/

•  Webinar Playback: http://www.mongodb.com/presentations/partner-webinar-securing-your-deployment-mongodb-and-red-hats-identity-management-red

Followup

Page 23: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

MongoDB and Middleware

Page 24: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

24

Hibernate Object/Grid Mapper (OGM)

Page 25: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

25

Hibernate Object/Grid Mapper (OGM)

Page 26: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

26

MongoDB OpenShift Cartridge

Page 27: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

MongoDB MMS / OpenStack

Page 28: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

28

Automation

•  Sophisticated and Simple –  Beautiful

–  Easy to use

•  Create and manage –  Replica sets

–  Sharded systems

–  Hot upgrades

•  Cloud-ready –  Public: AWS, Rackspace

–  Private: VMWare, OpenStack

Page 29: MongoDB Introduction and Red Hat Integration Pointspeople.redhat.com/mlessard/mtl/presentations/april2014/... Red_Hat_Enterprise_Linux/6/html-single/ Identity_Management_Guide/index.html

Questions?

Chad Tindel [email protected]