Cloud Computing - Accueil - 12es RMLL du 9 au 14 juillet 2011

34
Cloud Computing A new kind of developers? Presentation by Nick Barcet [email protected] www.canonical.com July 2011

Transcript of Cloud Computing - Accueil - 12es RMLL du 9 au 14 juillet 2011

Cloud ComputingA new kind of developers?

Presentation by

Nick Barcet

[email protected]

www.canonical.com

July 2011

2 Presentation by Nick Barcet

Cloud computing stack

Network

etc..LenovoDellIBMHP

etc..HyperVVMWareKVMXen

Amazon, GoGrid, OpenStack, Eucalyptus, etc...

GoogleApps, Java, Azure, etc...

Salesforce.com, GoogleDocs, Office, etc...

Storage

3 Presentation by Nick Barcet

Our Cloud offering

Network

x86

KVM, Xen

Ubuntu Cloud

Canonical's Ensemble

Storage

ARM

LXC Orchestra(Bare metal provisioning)

4 Presentation by Nick Barcet

Speed of Innovation

● Cloud reduces development friction and costs

● Cloud adoption is being driven by developers

Opportunity

● Access to latest technologies needed for competitive

advantage rather than cost saving

● Reduces time to market and therefore increases

Speed of innovation

5 Presentation by Nick Barcet

Second Wave of OSS Adoption

First wave in 2000 focused on Linux and LAMP

● Winners were RedHat, MySQL

Cloud represents Second Wave

● OSS innovating rather than imitating

● OSS is dominant in the cloud

Opportunity

● Scalability of cloud requires free bits

6

A fundamental change for developers

7 Presentation by Nick Barcet

Developing Applications for the Cloud

● Infrastructure as a Service (IaaS) is not Virtualisation

● Not just porting existing Applications

● Application have control on the infrastructure

● Instances specialize themselves

● Develop on a cloud

8 Presentation by Nick Barcet

IaaS is not virtualization

● Virtualisation:

● Is not controllable by the application

● Each Instance require a specific disk image

→ the term “virtual machine” regroups the notion of disk image

and execution instance.

● Assumes old separation of work model between developer and

operators

9 Presentation by Nick Barcet

Not just a porting exercise

● Current applications do not need to be ported

● anything that will run on a server can run in the cloud

● Application need to take advantage of the cloud

● Dynamic scaling

● Introspection

● Storage

10 Presentation by Nick Barcet

Old Habits

Application

Hardware

Network

Storage

● Assume that the infra is resilient

● Assume that the hardware scales vertically

● Assume that SQL is the only DB method, and that it will grow with the app

● SPOF and scalability are a data center issue

Dev R

ealm

Opera

t or

Realm

11 Presentation by Nick Barcet

New Habits

Application

Hardware

Network

Storage

Develo

per

Realm

● Applications can scale horizontally

● Application can spawns additional instances based on needs

● Any instance can fail, but you can always launch another one

● Data can scale horizontally too if you use NoSQL DBs for critical elements

● Applications can run across data centers (availability zones)

● Application control their storage

12 Presentation by Nick Barcet

APIs your application can use

Amazon's API to control AWS leads the way to control :

● The infrastructure (EC2)

● Elemental/Object storage (S3)

● Block storage (EBS)

Instances have access to meta-data and user-data

● Can query about environment

● Can learn about self

→ Developers are now operators of the data center: DevOps

13 Presentation by Nick Barcet

IaaS instances particularities

● Instances are very similar to Object instances in programming

● A single Image can have multiple instances

● Can initialize themselves based on user-data passed to it

● Specialization of the instance is not linked to the image

● Storage is not linked to the image

14 Presentation by Nick Barcet

Instance, Image and Storage Example

1. Instance is created from a generic OS image with user data:

• Type: web front end

• Load balancer: lb.somewhere.com

• EBS: use disk “web”

2. Instance boots, receives and parse user data

3. Installs apache and configures itself

4. Attaches to ebs disk “web”

5. Informs load balancer that it is ready to receive requests

15 Presentation by Nick Barcet

Developing for the Cloud

● Requires to develop ON a cloud infrastructure

● Requires an instance OS that is compatible with the cloud

● Requires new way to orchestrate your applications in the cloud

16

Using Ubuntu in the cloud

17 Presentation by Nick Barcet

Ubuntu is free, maintained AND supported

● No additional fee to run your instance in public cloud

● Images are maintained, updates are public

● Mirrors are maintained within the environment

● Support is available as an option

18 Presentation by Nick Barcet

Ubuntu innovates

● Small, efficient base image

● Provides Amazon's API for most languages

● Same image can be ran on multiple clou

Amazon

Ubuntu Cloud

Rackspace*

Flexiant*

KVM virtualisation environment

● Has cloud-init built in

* Coming soon

19 Presentation by Nick Barcet

Cloud-Init

● Generic way to initialize your instance

● Works identically on multiple clouds

Supports:

● Mounting EBS volumes

● Configuration management tools (ie Puppet)

● Modular and external scripting

● Package installation and configuration

20 Presentation by Nick Barcet

Ubuntu Images – The #1 Public Cloud OS

● Amazon Web Services

● Images available since 2007

● Believed to be the most widely deployed OS

● https://help.ubuntu.com/community/EC2StartersGuide

● Rackspace Cloud

● Images available since 2008

● Confirmed as most widely deployed OS

● http://cloudservers.rackspacecloud.com/index.php/Ubuntu_-_Setup

21

Using Ubuntu as the cloud

22 Presentation by Nick Barcet

UbuntuEnterpriseClou

d

23 Presentation by Nick Barcet

Ubuntu Cloud → Ubuntu Oneiric Ocelot (11.10)

Build your infrastructure as a service public or private cloud

● Based on OpenStack

● Supporting KVM, Xen & LXC hypervisors

● All components can be made highly available

● EC2, EBS and S3 compatible

KVM, Xen or LXC

Ubuntu Server

UC Images Any OS

OpenStack

Your Workloads

24 Presentation by Nick Barcet

Ubuntu Cloud on your Laptop

● Single laptop deployment

● LXC based “virtualisation”

tens of VM on a single laptop

● Your own Ubuntu Cloud on the Go

25 Presentation by Nick Barcet

Ubuntu Cloud in your Data Center

● Full data-center deployments

● Automated deployments with Orchestra (based on cobbler) and Ensemble

● Up to thousands of nodes

● Professional services can help make the infrastructure fully highly available

26

Using Ensemble to orchestrate

27 Presentation by Nick Barcet

Cloud deployments

● Deploying in the cloud → the server is not the proper unit anymore

● How the service scales horizontally is the complexity

● Current configuration tool are clumsy as they still focus on servers

● Ensemble focuses on the services

● Creates servers when and where needed

● Hides the complexity of horizontal scalability in clean reusable formulas

28 Presentation by Nick Barcet

Ensemble

Ensemble treats individual services as atoms that are described as formulas and can be instantiated one or many times.

Ensemble environment

and dependency solver

Cloud appCloud appCloud app

29 Presentation by Nick Barcet

Ensemble

Each formula (or atom) define dependencies and/or provides.

Cloud appCloud appCloud app

LoadBalancerHAProxy

SQL DatabaseMySQL

Ensemble environment

and dependency solver

Depends Provides

Provides Depends

30 Presentation by Nick Barcet

Ensemble

Multiple formulas can provide the same service and can be easily switched.

Cloud appCloud appCloud app

LoadBalancerHAProxy

SQL DatabaseMySQL

Ensemble environment

and dependency solver

Depends Provides

Provides Depends

Varnish

31 Presentation by Nick Barcet

Ensemble

Ensemble maintains the relations between the services so that you don't need to care about the elasticity of your environment.

Relations are to formulas what bounds are to atoms.

Services are loosely coupled but highly cohesive.

Cloud appCloud appCloud app

VarnishVarnish

MySQLMySQLMySQL

Ensemble RelationEnsemble environment

and dependency solver

Ensemble Relation

32 Presentation by Nick Barcet

Ensemble

Ensemble delivers service focused management through their life-cycle

● Offers the same simple rules to components of you infra as we do already for packages on your servers: dependencies, provides

● Adds the notion of dynamic relations between components

● To provide you with simple automated elasticity that is easy to expand

● Working on your bare metal servers (through Orchestra*) as easily as on your favourite clouds (AWS, OpenStack*, ...)

Cloud appCloud appCloud app

Varnish

MySQLMySQL

Ensemble RelationEnsemble environment

and dependency solver*

Ensemble Relation

*coming soon

33 Presentation by Nick Barcet

Next steps

● All development is public

● Communication is open

Join Us● IRC: #ubuntu-ensemble and #ubuntu-server on irc.freenode.net

● Launchpad: http://launchpad.net/ensemble https://launchpad.net/orchestra

● Web: http://cloud.ubuntu.comhttp://ensemble.ubuntu.com

Thank you

Nick Barcet

[email protected]

www.ubuntu.com