Opening Up Cloud Computing with Aeolus Mohammed Morsi mmorsi@redhat
description
Transcript of Opening Up Cloud Computing with Aeolus Mohammed Morsi mmorsi@redhat
What is cloud computing
In the computing world there are three distinct roles
Developers
I.T.
Management
What is cloud computing
Developers need I.T. to manage resources,
I.T. needs developers to write software to address their needs
What is cloud computing Neither does each others job particularly well
What is cloud computing
Current challenges: The more time developers manage resources, the
less time they are writing code
Infrastructure often goes unused, servers need to be up 24x7 even if there is no demand
Demand can scale very quickly, a web server may be hit hard one day but the next day is not accessed at all
What is cloud computing
Developers are just looking for a way to quickly deploy code
Setting up infrastructure is costly (people, time, energy, etc)
Maintaining infrastructure is even more costly (fault tolerance, load balancing, high availability)
What is cloud computing
Current trends in practice Developers often spend lots of valuable time maintaining
systems
Excessive hardware is ordered in bulk incase of limited periods of high demand It is cheap right... ? Wrong, electricity, rackspace, synchronization mechanisms, etc
costs $
Power and internet failures still happen, systems still become unavailable, dispersing workloads geographically is all but impossible for a small business
What is cloud computing
Enter cloud computing
What is cloud computing
Pre-configured computing clusters which can be used to rapidly setup a computational environment to deploy code extremely rapidly
Outsourcing the data-center if you will
Provides a way to setup virtualized machines very quickly with a few clicks of a mouse button
Resources are shared, so if a customer is not using some processing power for example, it is available for others to use But when they need that computational power it is there instantly
What is cloud computing
Future opportunities Computational power and resources can now be
accessed and bought on demand like any other utility – eg electricity, gas, water
Developers spend less time maintaining systems and more time at what they are good at, writing code
Snapshots of systems can be easily taken and reproduced
Cloud Solutions (and the problems they present)
Currently Amazon EC2 is the 800lb gorilla in the room
Many other different cloud providers exist Rackspace / Google App Engine / RHEV
The problem is that these all have their own interfaces both graphical and APIs (programmatic interfaces developers can
interface their software with)
Alot are proprietary, promoting vendor lockin eg if I am accustomed to Amazon's interface and tools, and they
decide to raise their prices, I have no choice but to go with it
The Ultimate Solution
Aeolus - An Free / Open Source Cloud Computing Framework www.aeolusproject.org
Takes care of all the nitty / gritty details of interfacing w/ the different cloud providers
Presents a simple consistent interface to control and monitor various cloud providers
The code is out there, available for anyone to modify no chance of vendor lockin
The details
To start off Aeolus defines terminology used to describe clouds and instances in an abstract manner Cloud Provider - A managed infrastructure providing resources which instances will
run on
Instance - A virtualized operating system which runs on a a cloud provider
Image - a snapshot of an instance which can be used to reproduce and scale instances quickly
Realm - a grouping of instances (usually running in a single geographic location)
Hardware Profile - a description of computational resources that is either made available by a cloud provider required by an instance to run on a cloud provider used to match instances with clouds to run on (that satisfy the instance demands)
The details
Aeolus provides several sub-projects used to satisfy various functional requirements needed to implement this terminology
Deltacloud - the core API, or interface which programmers can use to control and monitor instances running on a cloud
Imagefactory - command line tools used to create cross-cloud images
IWHD - A generic key/value store used to stage data to be able to be pulled into any cloud provider
OZ - A mechanism to bootstrap a cloud instance w/ JEOS + the ability to install additional software after that
Conductor - The web interface orchestrating all of this
The details
Demo
Migrating a running instance from one cloud provider to another
Lets say you have an instance running on EC2 and Amazon changes its terms of service
You want to move this instance to rackspace
Here is how...
(command line walkthrough, graphical mechanisms coming soon)
Demo
Instance Running On EC2
Demo
Instance running on EC2 (running mediawiki)
Demo
View My EC2 Instance (from the command line)
Demo Log into instance
Grab a snapshot
Demo
View Rackspace images we can start instances with
Demo
Start a new instance on Rackspace using the selected image
Demo
Restore Snapshot
Demo
Verify Results