T2919
Cloud Computing i praktiken
Cloud Computing kommer de närmsta åren att förändra hur vi konstruerar och driftkör nya skalbara applikationer. En gång i tiden var vi tvungna att hushålla med både minne och CPU - idag kan vi slösa med båda två. Cloud Computing är nästa logiska steg - slösa med servrar. Detta är faktiskt "mind-bending". Tänk dig att köra ett stort analysuppdrag på 100 servrar under en timme och betala bara 10 dollar! På denna kurs får du lära dig exakt hur.
Målgrupp
Utvecklare, arkitekter, tekniska projektledare och tekniska chefer.
Du får lära dig:
- Hantera virtuella servrar i Amazons AWS moln med virtuella hårddiskar, statiska IP-adresser och snapshot backup i S3.
- Konfigurera och skapa en ny server image (AMI), samt best practices för att underhålla egna AMIs.
- Kännedom och erfarenhet av verktyg för att managera AWS molnet.
- Kunskap och erfarenhet av att bygga en skalbar applikation i AWS molnet.
- Utnyttja komponenttjänster och stödtjänster i AWS molnet.
- Kännedom om hur man bygger sitt eget moln.
- Förstå hur ett distribuerat filsystem som kan lagra petabyte av data fungerar och kännedom om Google File System (GFS) och erfarenhet av Apache Hadoop HDFS.
- Designa MapReduce applikationer i Java och köra dem i ett Hadoop kluster.
Innehåll:
Första dagen: Servrar och tjänster i molnet
Vi börjar med att gå igenom området, dvs vad cloud computing är och inte är, vilka aktörer som finns och vad de tillhandahåller. Sedan fokuserar vi praktiskt på Amazons AWS molntjänst Elastic Compute Cloud EC2 och dess kringtjänster såsom EBS, EIA, S3, SDB, SQS.
- Vad är cloud computing? Översikt, bakgrund, aktörer, terminologi.
- Lagra datafiler i S3
- Skapa och köra virtuella servrar i EC2
- Hantera virtuella hårddiskar med EBS
- Skapa en ny server image (AMI) och använda denna
- Konfigurering och skriptning
- Bygga ett meddelandesystem med SQS
- Lagra strukturerad data i SDB
- Managerings verktyg för AWS såsom ElasticFox, Ylastic med flera
Andra dagen: Skalbara applikationer
Den andra dagen ägnas åt att bygga en liten men skalbar applikation med hjälp av ett antal tjänsteleverantörer, inklusive driftsättning och testning. Vi kommer också att titta på open source alternativ till Amazon AWS.
- Vad innebär skalbarhet och hur ser en modern system arkitektur ut för detta?
- Typiska verktyg såsom MemCache och HAProxy.
- Storskalig testning
- Att bygga och köra en skalbar applikation med RightScale
- Komponenttjänster i molnet såsom Twilio för telefonitjänster, med flera
- Bygg ditt eget moln med Eucalyptus
Tredje dagen: Massiv databehandling
Sista dagen handlar om ett fascinerande område, nämligen massiv databehandling. Vi går igenom programmeringsparadigmen MapReduce tillsammans med Apache Hadoop och skriver ett program som utför en datareduktion på en stor datamängd. Vi diskuterar också verktyg och system ovanpå Hadoop för både extremt stora databaser och hantering av komplexa MapReduce program.
- Bakgrund och historik: Google File System, MapReduce och hur det används av Google, Google BigTable
- Yahoo och Apache Hadoop
- Hadoop Distributed File System (HDFS)
- MapReduce i Hadoop - principer och praktik
- Hadoop på EC2
- Påbyggander såsom HBase, Pig, Cascading med flera
Övningar
Kursen består av flera praktiska övningar och du kan välja att jobba tillsammans med en kursdeltagare eller självständigt. Övningarna utförs via en Ubuntu Linux PC där utveckling och testning görs för att sedan laddas upp och köras i Amazon AWS molnet. Även om vi kommer att stifta bekantskap med användning av Windows i molnet, ligger lejonparten av alla praktiska övningar på Ubuntu Linux. Vi kommer att tillhandahålla lathundar för relevanta Unix kommandon, så ingen omfattande Unix kunskap är nödvändig.
Alla övningar förutsätter att du använder ett konto hos Amazon, som du kommer att få skapa på kursens första övning användande av ditt eget kreditkort. Kostnaden för dina egna övningar kommer att bli blott några få dollar, men du bör vara medveten om detta.
Kursledare
Jens Riboe, Ribomation.
Jens har 25 års erfarenhet av systemutveckling i många olika programspråk och på många olika plattformar. Hans professionella inriktning har alltid varit att hålla sig i teknikens framkant. Nu för tiden hjälper han företag och organisationer med att införa cloud computing. Utöver detta hjälper han företag med problem- och prestanda-analys av affärskritiska Java system.