1.WhatIsOpenStack?
IfIcouldrememberthenameofalltheseparticles,Iwouldhavebeenabotanist.
EnricoFermi
Asaninfrastructureprojectthathasavarietyofoptionsavailableforvarioustypesofdeployments,
answeringthequestion“WhatisOpenStack?”cantakesometime.Simplyput,OpenStackisaseriesof
independent,yetrelated,softwarepiecesthatcanbeusedtobuildaninfrastructurefordeployingand
managingserversandstoragearraysofvarioustypes.Thesesoftwarepiecesincludeprojectsforwebor
API-basedcontrol,compute,networking,objectstorage,blockstorageandmore.
Wholebookscanandhavebeenwrittencoveringeachofthesevariouscomponents.Inthischapterwe
talkaboutsomeofthebasicsaroundcloud,andyouareprovidedwithanoverviewthatwillserveasa
referenceforthevariouscomponentsasyoubeginworkingonsampledeploymentsinthenextseveral
chapters.Furtherdetailabouteachcomponent,andhowitrelatestothedeploymentyou’reworkingon,
willbeprovidedasyougothrougheachdeploymentscenario.
ThePrefaceexplainedthatthetargetoperatingsystemforthisbookisUbuntu.Thechapterwill
concludebytalkingabouttheUbuntuCloudArchive,whichalwaysprovidesthelatestversionof
OpenStacktoeachsupportedUbuntuLongTermSupportreleaseaswellasthePuppetmoduleswewill
useforthedeploymentscenarios.
TheCloud
Theterm“cloud”hasbecomeveryover-loadedinrecentyears.Tothelaypersonitmaymeantheplace
wherealloftheirmusicandphotosarekeptwhentheyusesyncingandstorageapplicationsfortheir
phones.Adeveloperworkingforapayrollaccountantmayviewthecloudasaplatformagainstwhich
applicationsforthefinancialdepartmentcanbewritten.Toasystemsadministratoritmayspecifically
meanwhereavirtualmachine,abletobescaledanddeployedondemandbutotherwisealmost
indistinguishablefromanyotherbasicservertowhichthey’vedeployedapplications,resides.Thisis
wherewegettothedistinctionofdifferent“asaService”models.
Inthefirstexampleofauseruploadingphotosandmusic,thisistypicallyknownasSoftwareasa
Service(SaaS).Theusermayhavealocalapplicationtoaccomplishthetaskofsyncingthedata,butit’s
thenuploadedtoacentralizedlocationandtheuserhasnoviewintooranycontroloverhowthisworks.
Whentheusershutoffthedevice,thesoftwarein“thecloud”stillruns.Thisisincontrasttohowusers
mayhavestoredalloftheirfilesontheirdesktopcomputersinthepastandsyncedtotheirphonesfrom
there.
ThesecondexampletakesadvantageofPlatformasaService(PaaS).Adevelopmentteammayselect
aspecificPaaSproviderthathastherequiredbackend,supportfortheirtoolsandfocusfortheir
organization.Inthecaseofapayrolldepartment,theymaychooseaPaaSproviderthatspecializesin
financesbutwhichallowsthemtobuildtheirownapplicationstosupportandaugmentthedefault
features.Now,insteadofhavingserversin-housefortheaccountantstointeractwith,theyareusinga
serviceonlinethathasaframeworksupportedbythePaaScompany,withfeaturesprovidedbytheirown
developers.Again,thereisnovieworcontroloverhowthisworksonthecustomerside.
ThethirdexampleofdeployingscalablevirtualmachinesisthelowestlevelInfrastructureasaService
(IaaS).Ifyoupurchasethisfromavendor,youtypicallystilldon’thavecontrolovertheunderlying
hardware,likehowbackgroundnetworkingworksorviewintowhenaharddrivedies.However,youdo
getaccesstothefulloperatingsystemoneachvirtualmachineyoucreate,enablingfreedomtotackle