MongoSV 2011

Embed Size (px)

Citation preview


The building block of next generation compute

Mark BakerJuan Negron

Canonical

About Canonical

London, Boston, Taipei, Shanghai, Montreal,
So Paolo, Isle of Man

Established in 2004

500 people

To bring Ubuntu to the world

Where

When

Who

Why

Ubuntu Server

Ubuntu Server

Ubuntu manages distributed applications s services

40+ leading technologies such as Hadoop, Cloudfoundry, MongoDB, Couchbase Server, Cassandra and Tomcat all supported.

Manage services on servers, in Ubuntu Cloud in Amazon or combinations of all 3

Service Orchestration & Big Data

Fastest growing OS on x86

Standard part of certification

Leading linux OS used for internal development in US and EU

Ubuntu is positioned as the leading guest and infrastructure Linux OS for the cloud

Ubuntu's business model in uniquely positioned for this

Ubuntu cloud is the foundation OS for Openstack. Next 24 moths will see huge growth in Private and public clouds based on Ubuntu + Openstack

Volume server

Cloud

Volume x86

Growth Websites hosted globally | W3Techs data

Asianux & Turbo Linux < 0.1% market share

The fact that Ubuntu is preferred as a development environment leads to it being the favoured deployment environment (no migration cost)

Ubuntu strategy of freely available yet supported has propelled it into this position.

We are cloud

Ubuntu: We are cloud

Infrastructure

Ubuntu AMIs run on private or public EC2-based clouds

3 of the 4 main public clouds build on Ubuntu

For private clouds, cloud-dedicated hardware

Ubuntu supports Intel hardware

Ubuntu supports ARM servers

Number 1 on Amazon

Published Amazon Machine Images Sept 1st 2011

38.1% are Ubuntu

Ubuntu: We are cloud

InfrastructureUbuntu is the reference platform for OpenStack

Ubuntu and OpenStack have the worlds open cloud momentum

From Oct 2010 Openstack is the core supported technology in Ubuntu Cloud

Joint solutions with Dell

Ubuntu: We are cloud

Cloud Foundry FLOOS PaaS from VMware | APL 2.0 | Ruby

Default PaaS in several OEM Solutions

Extensive Canonical / VMWare collaboration

Vmware public PaaS implementation built on Ubuntu

Rapid developer & corporate interest in Cloud Foundry since launch

Engine Yard and Heroku also built on Ubuntu

Service Orchestration

Relationships

A high-level interface describing interactions between services

Services have `provides` and `requires` interfaces

A relation provides private bi-directional communication.

http://upload.wikimedia.org/wikipedia/commons/d/d8/Wikimedia-servers-2010-12-28.svg

* Wikipedia's architecture has a lot of relationships* Adding 100 of each type isn't hard anymore thank you config management.* Getting them to work together is still a challenge.

Charms

Reusable, codified best-practice.

Unit of reuse, and sharing.

Deploy a charm to get a service.

Doesn't require foreknowledge of who will use them or how.

~40 charms

Jenkins

Lets see it in action

Deploy MongoDB Add more units to create a replica setAdd Capacity to clusterWatch it all happening

$ juju bootstrapjuju statusjuju deploy --repository . mongodbjuju add-unit mongodbjuju add-unit mongodbjuju add-unit mongodbjuju status

How did I do that! (OMG)

$ juju bootstrapjuju statusjuju deploy --repository . mongodbjuju add-unit mongodbjuju add-unit mongodbjuju add-unit mongodbjuju status

How did I do that! (OMG)

Video of juju bootstrap running

How did I do that! (OMG)

$ juju bootstrapjuju statusjuju deploy --repository . mongodbjuju add-unit mongodbjuju add-unit mongodbjuju add-unit mongodbjuju status

How did I do that! (OMG)

Video of juju status returning result maybe see amazon ec2 console as well

$ juju bootstrapjuju statusjuju deploy --repository . mongodbjuju add-unit mongodbjuju add-unit mongodbjuju add-unit mongodbjuju status

How did I do that! (OMG)

Video of juju deploying a mongodb server

Video of relations building in juju

Video of relations building in juju

$ juju bootstrapjuju statusjuju deploy --repository . mongodbjuju add-unit mongodbjuju add-unit mongodbjuju add-unit mongodbjuju status

How did I do that! (OMG)

Video of new nodes deployed

$ juju bootstrapjuju statusjuju deploy --repository . mongodbjuju add-unit mongodbjuju add-unit mongodbjuju add-unit mongodbjuju status

How did I do that! (OMG)

Video showing all nodes deployed using Juju

name: mongodbsummary: An object/document-oriented database (metapackage)description: | MongoDB is a high-performance, open source, schema-free document- oriented data store that's easy to deploy, manage and use. It's network accessible, written in C++ and offers the following features : * Collection oriented storage - easy storage of object- style data * Full index support, including on inner objects * Query profiling * Replication and fail-over support * Efficient storage of binary data including large objects (e.g. videos) * Auto-sharding for cloud-level scalability (Q209) High performance, scalability, and reasonable depth of functionality are the goals for the project. This is a metapackage that depends on all the mongodb parts.provides: database: interface: mongodbpeers: replica-set: interface: mongodb-replica-set

install#!/bin/bash# Here do anything needed to install the service# i.e. apt-get install -y foo or bzr branch http://myserver/mycode /srv/webroot

set -ux

############################################################################################################# Install some utility packages needed for installation############################################################################################################DEBIAN_FRONTEND=noninteractive apt-get -y install facter facter-customfacts-plugin

############################################################################################################# Set some variables that we'll need for later############################################################################################################DEFAULT_REPLSET_NAME=`config-get replicaset`HOSTNAME=`hostname -f`EPOCH=`date +%s`fact-add install-time ${EPOCH}WEB_ADMIN_UI=`config-get web_admin_ui`

############################################################################################################# Install mongodb############################################################################################################DEBIAN_FRONTEND=noninteractive apt-get install -y mongodb

..

startservice mongodb start

stopservice mongodb stop

replica-set-relation-joined#!/bin/bash# This must be renamed to the name of the relation. The goal here is to# affect any change needed by relationships being formed# This script should be idempotent.

set -ux

DEFAULT_REPLSET_NAME=`config-get replicaset`

############################################################################################################# Reconfigure the upstart script to include the replica-set option.# We'll need this so, when we add nodes, they can all talk to each other.# Replica sets can only talk to each other if they all belong to the same# set. In our case, we have defaulted to "myset".############################################################################################################

grep "${DEFAULT_REPLSET_NAME}" /etc/init/mongodb.conf || sed -i -e "s/ -- / -- --replSet ${DEFAULT_REPLSET_NAME} /" /etc/init/mongodb.conf.replica-set-relation-changed

Charmshttps://juju.ubuntu.com/Charms

Next steps

All development is public

Communication is open

Join Us

IRC: #juju on irc.freenode.net

Launchpad: https://launchpad.net/juju

Web: https://juju.ubuntu.com

Charms: https://juju.ubuntu.com/Charms

Render Farms

Weta DigitalUbuntu used to render Avatar and King Kong

35,000 cores in 5,000 HP Blades with 104TB RAM

VDI Infrastructure

Guateng Province, SACentralised data-centre providing infrastructure to 2M pupils in 1,200 schools

1500+ Dell Servers

File and print servers

Internal file and print servers running on Ubuntu

Hosting

RackspaceOver 50,000 Ubuntu Servers

Example case studies

Government Cloud

British government team responsible for showing better IT patterns by using new technologies . Infrastructure built out on Ubuntu

Web 2.0

Web 2.0, social networks, online gaming, hosting service providers, public cloud providers, and startups prefer Ubuntu

Questions please
Thank you

Website market share - Supported Linux distributionsData source: W3techsOct 2010Jan 2011Apr 2011Jul 2011Aug 2011Sept 2011Oct 2011

Red Hat0.1560.1560.1560.1570.1570.1530.150.1460.1440.1440.140.1390.1390.1390.1380.1390.1390.1380.1370.1370.136

Ubuntu0.1030.1070.1130.1190.1250.1310.1350.1380.1420.1440.1460.1490.1530.1540.1560.1570.160.1620.1650.1650.167

Attachmate SuSE0.0440.0440.0430.0440.0440.0430.0420.0410.040.0370.0370.0360.0360.0360.0360.0350.0350.0350.0340.0340.033

Presentation by Mark Baker

Presentation by Your Name

Presentation by Your Name

Click to edit the title text format

Presentation by Your Name

Presentation by Your Name

Canonical Confidential March 2011

Presentation by Nick Barcet

Presentation by Mark Baker

12/07/11

Presentation by Mark Baker

12/07/11

SLIDE of 41