– til børn og voksne
Transcription
– til børn og voksne
DATALOGISK INSTITUT DET NATURVIDENSKABELIGE FAKULTET AARHUS UNIVERSITET Hovedopgave MASTER I INFORMATIONSTEKNOLOGI LINIEN I SOFTWAREKONSTRUKTION Evaluering af udbud og modenhed af cloud computing software teknologier af Thomas Mollerup Lanng 16.01.2011 Thomas Mollerup Lanng, studerende Henrik Bærbak Christensen, vejleder Datalogisk Institut Aarhus Universitet Åbogade 34 8200 Århus N Tlf.: 89425600 Fax: 89425601 E-mail: [email protected] http://www.cs.au.dk/da Evaluering af udbud og modenhed af cloud computing software teknologier Indholdsfortegnelse 1 2 3 4 Indledning .............................................................................................. 3 Motivation .............................................................................................. 4 Problemformulering ............................................................................... 4 Planlægning ............................................................................................ 4 4.1 Udviklingsmetode ............................................................................ 5 4.2 Plan .................................................................................................. 5 4.3 Konfiguration ................................................................................... 5 5 Teori ....................................................................................................... 6 6 Metode.................................................................................................... 7 6.1 Projektfaser ...................................................................................... 7 6.2 Foranalyse ........................................................................................ 7 6.3 Eksperiment Og Evaluering ............................................................. 8 7 Analyse Og Resultater............................................................................ 9 7.1 Foranalyse ........................................................................................ 9 7.1.1 Kandidater .............................................................................. 9 7.1.2 Evaluering............................................................................... 9 7.2 Eksperiment ..................................................................................... 9 7.2.1 Design ..................................................................................... 9 7.2.2 Implementering....................................................................... 9 7.2.3 Test ......................................................................................... 9 7.3 Evaluering ...................................................................................... 10 7.3.1 Konklusion ........................................................................... 10 7.4 Samlet evaluering........................................................................... 10 8 Konklusion ........................................................................................... 10 Referencer .................................................................................................... 11 Tidsplan ........................................................................................................ 12 Side 2 af 14 Evaluering af udbud og modenhed af cloud computing software teknologier 1 INDLEDNING Denne rapport behandler konceptet autonomic computing med hensyn til cloud computing teknologier og disses modenhed i forhold til realisering af den self managed autonome arkitektur [3, 4]. Denne rapport komplementerer tidligere arbejde i rapport ”Evaluering af udbud og modenhed af self managed arkitektur software teknologier” [12] ved at fokusere på, hvorledes eksisterede cloud computing teknologier understøtter autonom computing. Desuden er samme faseopdelte metode anvendt i evalueringen af teknologierne. Der er valgt at evaluere et udsnit af relevante teknologier ved en kvalitativ og kvantitativ tilgang. Hermed kan resultater både verificeres og valideres i de relevante miljøer. Dette gøres ved en evaluering af teknologiernes egenskaber ud fra en gennemgang af kriterier og en eksperimentel del, hvor brugbarheds kvalitetsattribut scenarier anvendes i evalueringen. Arbejdsprodukterne for denne rapport er : - en sammenligning af cloud computing og self managed arkitekturer, - et survey af relevante cloud computing teknologier, - evaluering af disse i forhold til self managed autonom arkitektur, - en evalueringsmetode, - en taksonomi som kan anvendes til evaluering af cloud computing teknologier og - udvikling af et prototype autonomt system ved hjælp af en udvalgt cloud computing teknologi. Rapporten behandler emnet i en struktur af 7 afsnit. Afsnit 1, dette afsnit, beskriver emnet som behandles herunder anvendt metode og arbejdsprodukter, afsnit 2 beskriver min motivation for udarbejdelse af denne rapport. Afsnit 3 beskriver problemformuleringen for rapporten. Afsnit 4 beskriver planlægning af projektet herunder valg af udviklings metode, tidsplan og konfiguration. Afsnit 5 indeholder en beskrivelse af teori for emnet. Afsnit 6 beskriver metoden anvendt i rapporten til behandling af emnet. Afsnit 7 indeholder en analyse af problemet sammen med resultater. Analysen følger metoden valgt, som beskriver faserne: foranalyse, eksperiment og evaluering. For-analysen lister bruttolisten af kandidater fra informationssurvey, en evaluering af disse og en udvælgelse af en teknologi til den næste eksperimentelle fase. Den eksperimentelle fase beskriver en case som anvendes til udvikling af et prototype system ved hjælp af den udvalgte teknologi. Herefter foretages en erfaringsopsamling og en endelig evaluering af resultater. Afsnit 8 giver et resume af rapport resultater og en samlet konklusion. Side 3 af 14 Evaluering af udbud og modenhed af cloud computing software teknologier 2 MOTIVATION Jeg finder, at cloud computing er et både aktuelt og spændende emne og har derfor defineret et projekt, hvori der arbejdes videre med emnet i forhold til pensum for tidligere kursus. I projektet arbejdes med udgangspunkt i kursets teoretiske gennemgang af emnet, men der fokuseres desuden på den operationelle teknologi vinkel, det vil sige hvilke cloud computing teknologier eksisterer til understøttelse af konceptet autonomic computing og self managed arkitektur og hvilken modenhed disse har. Det er forventet at dette arbejde skal bidrage til en kvalificeret diskussion af cloud computing og eksisterende teknologier i forhold til autonom computing herunder eventuelle begrænsninger i en erhvervsmæssig sammenhæng. 3 PROBLEMFORMULERING I denne rapport foretages en evaluering af udbud og modenhed af cloud computing, Buyva [7], Java teknologier, der understøtter autonom computing teorien, som defineret af Kephart et. al. [3] og White et. al. [4]. Processen er opdelt i en foranalyse fase, hvori der udvælges i en teknologi kandidat, til den eksperimentelle fase. Erfaringerne fra eksperimenterne indgår i yderligere evaluering ud fra et praktisk perspektiv. I projektet vil følgende spørgsmål blive besvaret: Hvilke cloud computing teknologier understøtter helt eller dele af teorien? Hvordan er modenheden af de aktuelle cloud computing teknologier? Modenheden af de udvalgte cloud computing teknologier vurderes ud fra følgende kriterier: Hvor godt understøttes teorien? Hvor svært er det (at komme i gang med) at bruge? Hvor god er eksempler/dokumentation? Hvor mange versioner / releases og hvor ofte udgives nyt? Hvor mange anslåede brugere? 4 PLANLÆGNING I det følgende gennemgås planlægning for projektet. Side 4 af 14 Evaluering af udbud og modenhed af cloud computing software teknologier 4.1 UDVIKLINGSMETODE Projektet er udarbejdet af enkelt person, derfor er der ikke fokuseret på vidensdeling og opgavedeling, som ellers ville have været relevant. I stedet er der arbejdet efter metoden beskrevet i rapporten og afsat faste tidsperioder til at arbejde med problemstillingen. Hvor det er muligt anvendes en agile tilgang til udvikling, således, at funktionalitet udvikles iterativt. Dermed er det muligt kontrolleret at teste og indføre ændringer. 4.2 PLAN Planlægningen af rapport projekt arbejde følger faserne for den valgte projekt metode: foranalyse, eksperiment og evaluering. Der er valgt en beskrivelse af opgaver på uge basis, således det er muligt at styre og følge op på opgaverne. Projektet forventes at have den største arbejdsbelastning i informationsindsamling herunder artikler og teknologier, evaluering og realisering. Estimat [uger] 1 1 1 1 2 2 2 2 3 1 2 1 Uge nr Opgave 35 Synopsis og tidsplan 36, 37 Informations indsamling 38 Teori udvælgelse og beskrivelse 39 Metode beskrivelse 40, 41 Udvælgelses af kandidater 42, 43 Evaluering af kandidat 44, 45 Beskrivelse af kvalitetsscenarier 46, 47 Beskrivelse af case 48, 49, 50 Realisering af case 51 Evaluering af kandidat 52, 1 Konklusioner 2 Rapport sammenfatning Tabel 1: Planlægning af projekt rapport. 4.3 KONFIGURATION Til styring af opgaver og tid anvendes der et regneark med de nævnte data som overskrifter. Opgave listen findes i bilag ”Tidsplan”. Til dokument og kildekode konfigurationsstyring anvendes Google Code[32] Subversion repository. Side 5 af 14 Evaluering af udbud og modenhed af cloud computing software teknologier 5 TEORI Emner 1. Virtualiering (hoved teknologi for cloud computing, muliggør ressource opdeling, quality of service Qos) 2. Autonmic computing, principper, self managed arkitektur krav, modenheds evolution 3. Kvalitetsattribut scenarier til beskrivelse af brugbarhed af teknologier 4. Klassificering af Cloud computing platforme, Paas, SaaS.. 5. Global Cloud børs og markeder og krav til modenhed af cloud computing 6. Til evaluering – kvalitativ sammenligning af autonomic computing self managed arkitektur krav og global cloud børs og markeder krav Side 6 af 14 Evaluering af udbud og modenhed af cloud computing software teknologier 6 METODE I det efterfølgende afsnit beskrives metoden anvendt i projektet. 6.1 PROJEKTFASER Metoden opdeler projekt aktiviteter i faserne: foranalyse, eksperiment og evaluering, se Figur 1 Foranalyse Eksperiment Evaluering Figur 1: Projekt faser. I det efterfølgende beskrives de detaljerede aktiviteter for de enkelte fase. 6.2 FORANALYSE Inden projektet påbegyndes en foranalyse, der afklare om der er tilstrækkelig materiale til gennemførelsen af projektet, Figur 2. Hvis det viser sig, at der ikke kan findes tilstrækkeligt med materiale forkastes problemstillingen. Kriterier Informationsindsamling Teknologi kandidater Beslutning ”go / no go” Evaluering Notationen Firkant: Aktivitet Trekant: Beslutning Firkant med afrundede hjørner: Artefakt Udvælgelse Teknologi kandidat Teknologi kandidater Figur 2: Foranalyse aktiviteter og artefakter. Hvis der i foranalysen findes baggrund for at fortsætte projektet inddeles forløbet i to mindre forløb. Det første forløb omhandler teori beskrivelse og analyse af, hvilke cloud computing teknologier, der findes på markedet og hvordan de relaterer til teorien, der anvendes. Denne del af projektet afgrænses af en tidsperiode til afsøgning af internet og gennemlæsning af materiale af interesse. Resultatet af dette forløb er en summarisk vurdering Side 7 af 14 Evaluering af udbud og modenhed af cloud computing software teknologier og kategorisering af de enkelte teknologier. Med hjælp fra kategoriseringen udvælges en teknologi til det videre arbejde i næste forløb. 6.3 EKSPERIMENT OG EVALUERING Anden del af projektet er eksperimentel, og baseres på den udvalgte teknologi, der tages i brug og evalueres yderligere ud fra kvalitetsattributter baseret på usability kvalitetsattribut scenarier, Figur 3. Kriterier Udvikle Case Evaluering Modenheds kvalificering Figur 3: Fremgangsmåde for den eksperimentelle del af projektet Når den udvalgte teknologi kendes beskrives en case som ramme for realiseringen af en prototype. Løbende vurderes teknologien ud fra erfaringerne. Når kandidaten er identificeret, forsøges det at få softwaren aktiveret og afhængig af tiden udvælges et eller flere aspekter af teorien til realisering. Denne del af projektforløbet er den sværeste at forudsige, fordi teknologien kan være meget kompleks og den kan være abstrakt, så der skal skrives meget kode for at se en lille del af teorien virke eller den kan være konkret og fokuseret på et bestemt forretningsområde, som kan udnyttes og med få ressourcer afprøve detaljerede eksempler. Erfaringer og informationer, der har indgået i arbejdet opsamles løbende i alle faser af projektet og dokumenteres endeligt i rapporten. Side 8 af 14 Evaluering af udbud og modenhed af cloud computing software teknologier 7 ANALYSE OG RESULTATER Dette afsnit indeholder en analyse af problemstilling og løsningsresultater. 7.1 FORANALYSE Dette afsnit indeholder foranalysen for projektet. Her evalueres fundne teknologi kandidater og en kandidat udvælges herfra til eksperiment fasen, som skal afklare og evaluerer kvaliteter vedrørende brugbarhed herunder usability. 7.1.1 Kandidater …hvordan teknologier er fremkommet og hvorfra Nr Navn K1 Azure K2 Elastic Compute Cloud (EC2) K3 App Engine K4 Network.com (Sun Grid) K5 Aneka 7.1.2 .. Type Compute, Storage Compute, Storage Standard/reference License model Organisation .Net og Java Betaling Microsoft Corporation Linux VM Betaling Amazone Web Python applikcation Compute Java Betaling Google Betaling Sun Microsystems Incorporated, Oracle GRIDS Lab Compute .Net og Java Betaling Tabel 2: Cloud computing teknologi kandidater. Evaluering 7.2 EKSPERIMENT .. .. 7.2.1 .. Design 7.2.2 ... Implementering 7.2.3 .. Test Side 9 af 14 Evaluering af udbud og modenhed af cloud computing software teknologier 7.3 EVALUERING .. 7.3.1 .. Konklusion 7.4 SAMLET EVALUERING .. 8 KONKLUSION .. Side 10 af 14 Evaluering af udbud og modenhed af cloud computing software teknologier REFERENCER 1. Synopsis Template, Henrik Bærbak Christensen, 2008 http://www.daimi.au.dk/~hbc/evuthesis/notes/synopsis-template.pdf 2. Autonomic Computing: IBM’s Perspective on the State of Information Technology, IBM Research, P. Horn, 2001 http://www.research.ibm.com/autonomic/manifesto/autonomic_com puting.pdf 3. The Vision of Autonomic Computing, IEEE Computer, J. Kephart and D. Chess,Vol. 36, No. 1, 2003, http://www.research.ibm.com/autonomic/research/papers/AC_Visio n_Computer_Jan_2003.pdf 4. An Architectural Approach to Autonomic Computing, IBM Research, White et. al., 2004 5. An architectural blueprint for autonomic computing, Whitepaper, IBM, 2006 6. Software Architecture in Practice 2nd Ed, Bass, Clements, and Kazman, Addison-Wesley, 2003 7. Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities, Buyya et. al., Proceedings of the 2008 10th IEEE International Conference on High Performance Computing and Communications, 2008 8. Monitor and control system for a chemincal plant, CP09, kravsbeskrivelse, Henrik Bærbak Christensen, http://www.cs.au.dk/rsa/exercise.html#cp09-document, 2009 9. Monitor and control system for a chemincal plant, CP09 opgavebeskrivelse, Henrik Bærbak Christensen, http://www.cs.au.dk/rsa/exercise.html#cp09, 2009 10. An Approach to Software Architecture Description Using UML Revision 2.0, Henrik Bærbak Christensen et al., University of Aarhus, Computer science, 2007 11. Kritiske systemer, Overvågning og kontrol system for et kemisk produktions anlæg – CP09, Thomas Mollerup Lanng, Michael Brøbech Mogensen, 03. december, 2009, http://rsa2009.googlecode.com/svn/reliable%20architecture/docs/exercise%2 04/R05.pdf 12. Evaluering af udbud og modenhed af self managed arkitektur software teknologier, Thomas Mollerup Lanng, Michael Brøbech Mogensen, 2010, http://rsa2009.googlecode.com/svn/RSA_Project/docs/R05.pdf 13. Google Sites, http://sites.google.com 14. Google Code, http://code.google.com Side 11 af 14 Evaluering af udbud og modenhed af cloud computing software teknologier TIDSPLAN Dato Beskrivelse 04.02.2011 Exam Status Kommentar 16.01.2011 Final hand in of report. 12.12.2010 Supervisor feedback 07.11.2010 Supervisor feedback 10.10.2010 Supervisor feedback 12.09.2010 Supervisor feedback 12.09.2010 Indførsel af rettelser ref. HBC kommentarer samt AU forside. 12.09.2010 Ændringer til rapporten beskrevet til HBC: - Indledning, Motvation, Problemformulering - Metode beskrevet - Kandidater udvalgt (første udgave) 12.09.2010 Spørgsmål HBC ang. betaling af kandidater til afprøvning 05.09.2010 Supervisor feedback 05.09.2010 Aflevering af synopsis til godkendelse (inkl. indledning, motivation, problemformulering, tidsplan) 05.09.2010 Rapport forside 31.08.2010 Thesis kickoff meeting - AU 31.08.2010 Introduktion af speciale forløb 31.08.2010 Valg af speciale emne Afsluttet Afsluttet Afsluttet I gang Afsluttet Problemformulering og synopsis godkendt. Afsluttet Email sendt til Marianne Dammand Afsluttet Afsluttet Afsluttet Præsentation af 4 emner indenfor : 1. Arkitektur evaluering 2. Udviklingsmodeller 3. Virtualiering og autonomic computing 4. Vidensdeling Side 12 af 14 Evaluering af udbud og modenhed af cloud computing software teknologier 31.08.2010 Udarbejdelse af første udgave af problemformulering / hypotese 31.08.2010 Tildeling af vejleder Afsluttet Evaluering af udbud og modenhed af cloud computing teknologier, der understøtter autonom computing teorien. Afsluttet HBC valgt som vejleder indenfor området Cloud computing Side 13 af 14 Evaluering af udbud og modenhed af cloud computing software teknologier Side 14 af 14