Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Cloud ComputingA new kind of developers?
Presentation by
Nick Barcet
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
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
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
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
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
●