– 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