MongoSV 2011

1,012 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,012
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 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.
  • * 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.
  • How did I do that! (OMG)
  • How did I do that! (OMG)
  • How did I do that! (OMG)
  • How did I do that! (OMG)
  • How did I do that! (OMG)
  • How did I do that! (OMG)
  • How did I do that! (OMG)
  • MongoSV 2011

    1. 1. The building block of next generation compute <ul>Mark Baker <li>Juan Negron </li></ul>
    2. 2. Canonical
    3. 3. About Canonical London, Boston, Taipei, Shanghai, Montreal, São Paolo, Isle of Man Established in 2004 500 people To bring Ubuntu to the world Where When Who Why
    4. 4. Ubuntu Server
    5. 5. Ubuntu Server <ul><li>Ubuntu manages distributed applications s services
    6. 6. 40+ leading technologies such as Hadoop, Cloudfoundry, MongoDB, Couchbase Server, Cassandra and Tomcat all supported.
    7. 7. Manage services on servers, in Ubuntu Cloud in Amazon or combinations of all 3 </li></ul>Service Orchestration & Big Data <ul><li>Fastest growing OS on x86
    8. 8. Standard part of certification
    9. 9. Leading linux OS used for internal development in US and EU </li></ul><ul><li>Ubuntu is positioned as the leading guest and infrastructure Linux OS for the cloud
    10. 10. Ubuntu's business model in uniquely positioned for this
    11. 11. Ubuntu cloud is the foundation OS for Openstack. Next 24 moths will see huge growth in Private and public clouds based on Ubuntu + Openstack </li></ul>Volume server Cloud
    12. 12. Volume x86
    13. 13. Growth – Websites hosted globally | W3Techs data Asianux & Turbo Linux < 0.1% market share
    14. 14. We are cloud
    15. 15. Ubuntu: We are cloud <ul><li>Infrastructure </li></ul><ul><li>Ubuntu AMIs run on private or public EC2-based clouds
    16. 16. 3 of the 4 main public clouds build on Ubuntu
    17. 17. For private clouds, cloud-dedicated hardware
    18. 18. Ubuntu supports Intel hardware
    19. 19. Ubuntu supports ARM servers </li></ul>
    20. 20. <ul>Number 1 on Amazon </ul><ul>Published Amazon Machine Images – Sept 1st 2011 </ul><ul>38.1% are Ubuntu </ul>
    21. 21. Ubuntu: We are cloud Infrastructure <ul><li>Ubuntu is the reference platform for OpenStack
    22. 22. Ubuntu and OpenStack have the world’s open cloud momentum
    23. 23. From Oct 2010 Openstack is the core supported technology in Ubuntu Cloud
    24. 24. Joint solutions with Dell </li></ul>
    25. 25. Ubuntu: We are cloud <ul><li>Cloud Foundry FLOOS PaaS from VMware | APL 2.0 | Ruby
    26. 26. Default PaaS in several OEM Solutions
    27. 27. Extensive Canonical / VMWare collaboration
    28. 28. Vmware public PaaS implementation built on Ubuntu
    29. 29. Rapid developer & corporate interest in Cloud Foundry since launch
    30. 30. Engine Yard and Heroku also built on Ubuntu </li></ul>
    31. 31. Service Orchestration
    32. 33. Relationships <ul><li>A high-level interface describing interactions between services
    33. 34. Services have `provides` and `requires` interfaces
    34. 35. A relation provides private bi-directional communication. </li></ul>http://upload.wikimedia.org/wikipedia/commons/d/d8/Wikimedia-servers-2010-12-28.svg
    35. 36. Charms <ul><li>Reusable, codified best-practice.
    36. 37. Unit of reuse, and sharing.
    37. 38. Deploy a charm to get a service.
    38. 39. Doesn't require foreknowledge of who will use them or how. </li></ul>
    39. 40. ~40 charms Jenkins
    40. 41. Lets see it in action Deploy MongoDB Add more units to create a replica set Add Capacity to cluster Watch it all happening
    41. 42. $ juju bootstrap juju status juju deploy --repository . mongodb juju add-unit mongodb juju add-unit mongodb juju add-unit mongodb juju status
    42. 43. $ juju bootstrap juju status juju deploy --repository . mongodb juju add-unit mongodb juju add-unit mongodb juju add-unit mongodb juju status
    43. 44. Video of juju bootstrap running
    44. 45. $ juju bootstrap juju status juju deploy --repository . mongodb juju add-unit mongodb juju add-unit mongodb juju add-unit mongodb juju status
    45. 46. Video of juju status returning result – maybe see amazon ec2 console as well
    46. 47. $ juju bootstrap juju status juju deploy --repository . mongodb juju add-unit mongodb juju add-unit mongodb juju add-unit mongodb juju status
    47. 48. Video of juju deploying a mongodb server
    48. 49. Video of relations building in juju
    49. 50. Video of relations building in juju
    50. 51. $ juju bootstrap juju status juju deploy --repository . mongodb juju add-unit mongodb juju add-unit mongodb juju add-unit mongodb juju status
    51. 52. Video of new nodes deployed
    52. 53. $ juju bootstrap juju status juju deploy --repository . mongodb juju add-unit mongodb juju add-unit mongodb juju add-unit mongodb juju status
    53. 54. Video showing all nodes deployed using Juju
    54. 55. name: mongodb summary: 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: mongodb peers: replica-set: interface: mongodb-replica-set
    55. 56. 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 … .. start service mongodb start stop service 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 &quot;myset&quot;. ############################################################################################################ grep &quot;${DEFAULT_REPLSET_NAME}&quot; /etc/init/mongodb.conf || sed -i -e &quot;s/ -- / -- --replSet ${DEFAULT_REPLSET_NAME} /&quot; /etc/init/mongodb.conf … . replica-set-relation-changed
    56. 57. Charms https://juju.ubuntu.com/Charms
    57. 58. Next steps <ul><li>All development is public
    58. 59. Communication is open
    59. 60. Join Us
    60. 61. IRC: #juju on irc.freenode.net
    61. 62. Launchpad: https://launchpad.net/juju
    62. 63. Web: https://juju.ubuntu.com
    63. 64. Charms: https://juju.ubuntu.com/Charms </li></ul>
    64. 65. Render Farms Weta Digital <ul><li>Ubuntu used to render Avatar and King Kong
    65. 66. 35,000 cores in 5,000 HP Blades with 104TB RAM </li></ul>VDI Infrastructure Guateng Province, SA <ul><li>Centralised data-centre providing infrastructure to 2M pupils in 1,200 schools
    66. 67. 1500+ Dell Servers </li></ul>File and print servers Internal file and print servers running on Ubuntu Hosting Rackspace <ul><li>Over 50,000 Ubuntu Servers </li></ul>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 <ul>Web 2.0, social networks, online gaming, hosting service providers, public cloud providers, and startups prefer Ubuntu </ul>
    67. 68. Questions please Thank you

    ×