Kom i gång med molntjänster

Med Amazon Web Services (AWS) som exempel

Colleagues working together during a workshop.
Hur kan man komma igång med molntjänster (Cloud Services) och dra nytta av dessa? På Consid jobbar vi med flera partners & plattformar inom molntjänster; Amazon Web Services (AWS), Google Cloud Platform, Microsoft Azure. I detta blogginlägg ger vår lösningsarkitekt Magnus Sjöstrand, som omskolat sig från systemutvecklare, tips till dig som vill börja använda molntjänster. Med Magnus personliga fokusområde AWS som konkret exempel.
Magnus Sjöstrand, lösningsarkitekt

Magnus Sjöstrand

Lösningsarkitekt

magnus.sjostrand@consid.se

076-8558984

Då kan det lämpa sig att ”gå till molnet”

Det är viktigt att ta hänsyn till säkerhetsfrågor, kostnadsfördelar och tillgänglighet när man överväger en migration till molnet. Att flytta en applikation från en server till en molnbaserad plattform kan vara fördelaktigt då användarna kan ta del av molnets skalbarhet, höga tillgänglighet och säkerhet. Samt lämpar sig när det finns en affärs- eller teknisk anledning att migrera. Till exempel vid behov av att hantera trafiktoppar eller bättre hantera variationer i efterfrågan på tjänster. Det är också lämpligt när företaget vill minska kostnader för infrastruktur och underhåll eller när det vill ha en hög grad av redundans och säkerhet för sina data och applikationer.

Det finns såklart flera faktorer som kan påverka när det lämpar sig att gå till molnet. En avgörande faktor är hur moderniserad applikationen är, där äldre och större applikationer kan vara svårare att migrera. För att underlätta sådana migreringar erbjuder AWS, Google Cloud Platform och Microsoft Azure olika tjänster för modernisering av applikationer. Dessa tjänster syftar till att lyfta en applikation och bryta ner den för att uppgradera tjänsterna.

En översikt över olika molnbaserade tjänster

Vilken typ av molntjänst som passar bäst beror på användning och ansvarsnivå. Här följer en översikt över olika molnbaserade tjänster:

Infrastructure as a Service (IaaS)

IaaS-plattformar och service erbjuder en infrastruktur i molnet inklusive servrar, nätverk, operativsystem och lagring. Här får användaren ta mer ansvar och ha kontroll över infrastrukturen. Amazon Web Services (AWS) EC2 är exempel på en Iaas-tjänst som gör det möjligt att skapa och hantera virtuella datorer (VM) på en molnbaserad infrastruktur – utan att behöva oroa sig för den underliggande fysiska infrastrukturen.

Platform as a Service (PaaS)

PaaS är en typ av molntjänst som ger användarna en komplett utvecklingsmiljö. Här har användarna mindre ansvar och kan fokusera på att utveckla applikationen medan molnleverantören sköter allt annat. OpenShift är ett exempel på en PaaS-tjänst som erbjuder en komplett utvecklingsmiljö.

Software as a Service (SaaS)

SaaS är en färdig tjänst som ägs av en tredje part och som kan användas av alla typer av användare över webben. Här har användarna minst ansvar då allt redan finns färdigt. Dropbox är ett exempel på en SaaS-tjänst där allt är färdigt och användarna kan använda det direkt utan att behöva ta ansvar för infrastrukturen.

Så kommer man igång med AWS som exempel

AWS är en molnplattform utfärdad av Amazon. Molnplattformen ger användare tillgång till ett världsomfattande nätverk av datacenter. Det här levererar Amazon tillsammans med över 200 olika tjänster för att kunna skapa skalbara säkra och kostnadseffektiva lösningar för din applikation. På kanske ett par minuter, för vissa tjänster sekunder, så kan du leverera din produkt ut till någon del av världen.

Första spadtaget är såklart att skapa ett konto hos AWS. Men det är många som inte tar sig förbi detta första steg, då man också behöver signa upp sig med ett betalkort dit du kopplar alla dina kostnader. Därefter så får man tillgång till en stor ”sandboxmiljö”. Där kan man experimentera lite som man vill. Vare sig det gäller att sätta upp någon S3 Bucket (där man lagrar filer) eller att ha en instans av en EC2 (virtuell server) som bara står och kör. Detta är för övrigt två av de äldsta tjänsterna.

Arbetet vid dashboarden styrs väldigt mycket av vad man har för intresse; att jobba med databaser eller nätverk eller säkerhet för att förstå sig på hur saker och ting kopplas ihop. Ett av mina första projekt var att följa ett kodexempel, som Amazon utfärdat, av hur man sätter upp en enkel pipeline. Genom ett fåtal knapptryck och lite copy paste av exempelkod så kan man sätta upp en hel pipeline som hämtar källkod från github – för att bygga och distribuerar ut en enkel webbtjänst. Den kan man självklart rasera sedan om man vill.

Tips på steg att följa vid migrering till molnet

När man ska ta steget mot molnet finns det några bästa praxis att följa. Först och främst bör man vara beredd på att det är en långsiktig investering som kräver kompetens och tid för att migrera befintliga system. Ett första steg är att beräkna kostnader och risker.

Därefter kan man börja titta på den tekniska biten, till exempel genom att göra en ”lift and shift” av befintliga databaser till en EC2 instans. Sedan kan man undersöka vilka tjänster som kan ersätta befintliga system, som RDS eller Aurora.

Slutligen kan man uppgradera sina applikationer och titta på möjligheter att använda ”Serverless” tjänster, som Lambda.

Det är viktigt att anpassa dessa steg efter storlek och komplexitet hos de befintliga systemen. Mindre, komplexa system kan lättare migreras, medan stora monoliter kan behöva brytas upp i mindre mikrotjänster med hjälp av IAS-tjänster.

Språk och verktyg som är vanliga att använda inom AWS

Inom AWS är vanliga språk och verktyg Java, .NET, och Python, vilket kan användas i AWS Lambda, en serverlös tjänst som tillåter att inline-kod exekveras.

För att bygga upp infrastruktur från kod kan man använda AWS egna tjänst CloudFormation eller verktyg som Terraform. Jamel-formatet används ofta för att beskriva och bygga upp infrastrukturen.

För att hantera övervakning kan man använda AWS CloudWatch och CloudTrail, men det finns även en mängd tredjepartsverktyg som kan användas för detta ändamål, såsom Prometheus, Datadog, Sumo Logic, och andra. Generellt sett är fokus inom AWS på infrastrukturkod, men det krävs även en förståelse för att testa och övervaka kommunikationen mellan olika servrar och resurser.

Vill du veta ”allt om Amazon Web Services”?

I avsnitt 44 av Consids podd Utveckla snackar jag, Magnus Sjöstrand, mer AWS med poddhosten Lily och Simon. Jag berättar om min egen väg från utvecklare till lösningsarkitekt, hur jag halkade in på just AWS och om ytterligare fördelar jag ser med molnet. Lyssna till avsnittet “Allt om Amazon Web Services (AWS)”.

Kollegor som arbetar tillsammans under workshop.

Vill du veta mer om molntjänster? 

Kontakta oss här så hör vi av oss.

Integritetspolicy

Ta del av fler blogginlägg