250 likes | 359 Views
Opening Up Cloud Computing with Aeolus Mohammed Morsi mmorsi@redhat.com. In the computing world there are three distinct roles Developers I.T. Management. What is cloud computing. What is cloud computing. Developers need I.T. to manage resources,
E N D
Opening Up Cloud Computing with Aeolus Mohammed Morsi mmorsi@redhat.com
In the computing world there are three distinct roles Developers I.T. Management What is cloud computing
What is cloud computing • Developers need I.T. to manage resources, • I.T. needs developers to write software to address their needs
Neither does each others job particularly well What is cloud computing
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
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
http://www.aeolusproject.org Questions ? </presentation>