Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ubuntu cloud infrastructures


Published on

  • Be the first to comment

Ubuntu cloud infrastructures

  1. 1. Ubuntu Cloud Infrastructure
  2. 2. Cloud computing stack, GoogleDocs, Office, etc... GoogleApps, Java, Azure, etc... Amazon, GoGrid, 3Tera, OpenStack, etc... Storage Network Xen KVM VMWare HyperV etc.. HP IBM Dell Lenovo etc..2 Presentation by Nick Barcet
  3. 3. Ubuntu Cloud (Ubuntu One) Juju (CloudFoundry) Ubuntu Cloud Infrastructure and Guest Storage Network KVM, Xen LXC Orchestra (Bare metal provisioning) x86 ARM3 Presentation by Nick Barcet
  4. 4. Ubuntu Cloud InfrastructureOutstanding technologyAbility to use the same Ubuntu machineimages and management tools across bothprivate and public IaaS systems, minimisingcostly re-training or application change whenmoving from private to public and vice versa.U bu n tu C lou d H y br id F ocu sRapid deployment Ubuntu Cloud GuestOptimize resources & immediacy Ubuntu Cloud Infra. (public or private IaaS)(self service IT) Maximise benefits whilst minimising risksBest of breed (KVM, Xen, LXC, OpenStack) ElasticityCompatible technology (matches EC2) Simplifies burstingSupports multiple guest O/S Common StandardsSecure, trusted & open source Common Ubuntu machine image 4 Presentation by Nick Barcet
  5. 5. Ubuntu Cloud Infrastructure → Ubuntu Oneiric Ocelot (11.10) Your Workloads Build your infrastructure as a service public or private cloud Ubuntu Cloud Any OS Based on OpenStack Guest ● ● Supporting KVM, Xen & LXC hypervisors ● All components can be made highly OpenStack available ● EC2, EBS and S3 compatible ● One of the workload made easy to deploy with Orchestra KVM, Xen or LXC Ubuntu Server5 Presentation by Nick Barcet OpenStack in Action, Paris
  6. 6. Ubuntu Cloud Infrastructure on ARM in 11.10 Any Workloads LXC based OpenStack ● Contributed by Canonical to OpenStack with ARM support in mind Ubuntu Cloud Kernel compatible ● Technology preview for ARM and LXC Guest OS support OpenStack LXC Ubuntu Server6 Presentation by Nick Barcet OpenStack in Action, Paris
  7. 7. Orchestra7 Presentation by Nick Barcet
  8. 8. Ubuntu Orchestra Orchestra Install Orcherstra on your Infrastructure Server first server8 Presentation by Nick Barcet OpenStack in Action, Paris
  9. 9. Ubuntu Orchestra Orchestra Associate profiles with Infrastructure Server MAC addresses via the web or API interface9 Presentation by Nick Barcet OpenStack in Action, Paris
  10. 10. Ubuntu Orchestra Orchestra Turn on your hardware, Infrastructure Server the deployment happens, your infrastructure is ready!10 Presentation by Nick Barcet OpenStack in Action, Paris
  11. 11. Ubuntu Orchestra Orchestra Bare metal deployment Infrastructure Server from the Ubuntu Installer ● Zero touch deployment of complex workloads ● Configuration management ● Customizable Components ● Cobbler ● Fact database ● Cloud-Init ● Pluggable management tools (Juju as default)11 Presentation by Nick Barcet OpenStack in Action, Paris
  12. 12. Installing Orcherstra > sudo apt- get install ubuntu- orchestra- server12 Presentation by Nick Barcet
  13. 13. Installing Orcherstra13 Presentation by Nick Barcet
  14. 14. Installing Orchestra14 Presentation by Nick Barcet
  15. 15. Installing Orchestra15 Presentation by Nick Barcet
  16. 16. 16 Presentation by Nick Barcet
  17. 17. Orchestra ready● Latest Ubuntu ISO is downloaded● Package repositories are setup● PXE, TFTP, DHCP and Cobbler are ready –> Lets define some servers17 Presentation by Nick Barcet
  18. 18. Declaring servers for Orchestrasudo cobbler system add --name="" --mac-address="00:24:81:e4:59:9c" --ip-address="" --dns-name="" --hostname="" --profile="oneiric-x86_64-ensemble" --mgmt-classes="orchestra-juju-available" --kopts="console=ttyS0,9600n8 DEBCONF_DEBUG=developernetcfg/dhcp_timeout=120 netcfg/choose_interface=eth0"18 Presentation by Nick Barcet
  19. 19. JujuDevops Distilled19 Presentation by Nick Barcet
  20. 20. What is DevOps?● Rate of agile development and deployment requires deeper interaction between teams● A melding of development, deployment, and QA principles, methods, and practices● Fills the gap between developers and system administrators20 Presentation by Nick Barcet
  21. 21. What drives DevOps?● Speed of the deployment● Continuous Integration, Automated Testing, etc.● Fast change vs. Stability21 Presentation by Nick Barcet
  22. 22. What does DevOps “deliver”?● Fast repeatable server setup, consistent environment● Abstract ops tasks to empower devs● Smaller deployments empower ops● Repeatable processes that let you scale out quickly22 Presentation by Nick Barcet
  23. 23. Youve got the tools already● Hardware● Virtualization● Platform (OS)● Configuration Management … need to tie that together into something whole.23 Presentation by Nick Barcet
  24. 24. Manages Services, not Machines24 Presentation by Nick Barcet
  25. 25. Elevate to Juju Service Orchestration Configuration Management Virtualization Operating System Hardware25 Presentation by Nick Barcet
  26. 26. Juju, DevOps DistilledDev Ops● Reuse existing deployment charms in an ● Explicit control over deployment, openly-accessible repository of shared configuration and upgrade options expertise ● See what’s deployed and track usage in the● Reproduce deployments for test and staging cloud purposes ● Create and share charms for new● Rapid deployment of your dependencies for applications development purposes ● Monitor, scale, shrink and adjust deployment● Compose whole systems from individual parameters in real time application components and describe the ● Explicitly connect different components and entire deployment maintain those relationships over time ● Collaborate with developers on the exact deployment and upgrade processes ● Get more done: implement decisions regardless of infrastructure immediately scale26 Presentation by Nick Barcet
  27. 27. Jujus Charms● Charms are a shareable, re-usable, and repeatable expressions of DevOps best practices.● You can use them unmodified, or easily change and connect them to fit your needs.● Deploying a formula is similar to installing a package on Ubuntu: ask for it and it’s there, remove it and it’s completely gone.27 Presentation by Nick Barcet
  28. 28. Juju is a community of DevOps expertise.● Most of the application you want will be available in Juju.● Juju provides direct and free access to a DevOps community- contributed collection of formulas28 Presentation by Nick Barcet
  29. 29. Juju provides service orchestration● Juju focuses on managing the service units you need to deliver a single solution, above simply configuring the machines or cloud instances needed to run them.● Charms developed, tested, and deployed on your own hardware will operate the same in an EC2 API compatible cloud, including OpenStack.29 Presentation by Nick Barcet
  30. 30. Juju is intelligent● Juju exposes re-usable service units and well-defined interfaces that allow you to quickly and organically adjust and scale solutions without repeating yourself.30 Presentation by Nick Barcet
  31. 31. Juju is Easy● There’s no need to learn a domain specific language (DSL) to use Juju or create formulas. You can be up and running with your own formula in minutes31 Presentation by Nick Barcet
  32. 32. Jujus internals32 Presentation by Nick Barcet
  33. 33. Juju Juju treats individual services as atoms that are described as charms and can be instantiated one or many Juju environment times. Cloud app Cloud app Cloud app and dependency solver33 Presentation by Nick Barcet OpenStack in Action, Paris
  34. 34. Juju Load Balancer HAProxy Each charm (or atom) define dependencies and/or Depends Provides provides. Juju environment Cloud app Cloud app Cloud app and dependency solver Provides Depends SQL Database MySQL34 Presentation by Nick Barcet OpenStack in Action, Paris
  35. 35. Juju Load Balancer HAProxy Varnish Multiple charms can provide the same service and can be Depends Provides easily switched. Juju environment Cloud app Cloud app Cloud app and dependency solver Provides Depends SQL Database MySQL35 Presentation by Nick Barcet OpenStack in Action, Paris
  36. 36. Juju Varnish Varnish Juju maintains the relations between the services so that Juju Relation you dont need to care about the elasticity of your Juju environment environment. Cloud app Cloud app Cloud app Relations are to charms what and dependency solver Juju Relation bounds are to atoms. MySQL Services are loosely coupled MySQL MySQL but highly cohesive.36 Presentation by Nick Barcet OpenStack in Action, Paris
  37. 37. Juju Varnish Juju delivers service focused management through their Juju Relation life-cycle Juju environment ● Offers the same simple rules to components of you infra as we do already for packages on your servers: dependencies, provides Cloud app Cloud app Cloud app ● Adds the notion of dynamic relations between components and dependency solver* ● To provide you with simple automated Juju Relation elasticity that is easy to expand ● Working on your bare metal servers (through Orchestra*) as easily as on your favourite clouds (AWS, OpenStack*, ...) MySQL37 Presentation by Nick Barcet OpenStack in Action, Paris soon *coming
  38. 38. Jujus Architechture38 Presentation by Nick Barcet
  39. 39. Deploying OpenStackwith Juju39 Presentation by Nick Barcet
  40. 40. Back to the Orchestra server● > sudo apt- get install juju● > sudo mkdir - p ~/.juju● > sudo vi ~/.ensemble/environments.yamljuju: environmentsenvironments: orchestra: type: orchestra # Specify the orchestra server (santols IP address) orchestra- server: # Specify storage. In this case we are using webdav installed by orchestra. storage- url: # Specify cobblers usr/pass orchestra- user: cobbler orchestra- pass: cobbler admin- secret: fooooo # Mangement classes acquired- mgmt- class: orchestra- juju- acquired available- mgmt- class: orchestra- juju- available40 Presentation by Nick Barcet
  41. 41. Deploying OpenStak● > juju bootstrap● > juju deploy mysql - - placement=local● > juju deploy rabbit- mq - - placement=local● > juju deploy –config=~/formulas/openstack.yaml nova- cloud- controller● > juju add- relation nova- cloud- controller rabbitmq● > juju add- relation nova- cloud- controller mysql● > juju deploy –config=~/formulas/openstack.yaml glance● > juju add- relation glance mysql● > juju add- relation glance:image- service nova- cloud- controller:image- service● > juju deploy - - config=~/formulas/openstack.yaml - - repository=` pwd` nova- compute● > juju add- relation nova- compute rabbitmq● > juju add- relation nova- compute mysql● > juju add- relation nova- cloud- controller:nova- network nova- compute:nova- network● > juju add- relation glance:image- service nova- compute:image- service41 Presentation by Nick Barcet
  42. 42. Scaling OpenStack● > juju add-unit nova-compute or● > juju add-unit nova-cloud-controller42 Presentation by Nick Barcet
  43. 43. OpenStack is now in action !43 Presentation by Nick Barcet
  44. 44. Thank youNick Barcet<>