Bygg din egen sky: Spar millioner med åpen kildekode!

Lag din egen sky og spar betydelige summer!

Det er utallige aspekter å administrere, slik som serverplass, utviklingsmiljøer, sikkerhetstiltak, programvarepakker, oppdateringer av programvare og vedlikehold av maskinvare. Disse elementene medfører ofte overveldende kostnader for plattformvedlikehold. Bedrifter som utvikler og distribuerer applikasjoner må avsette en stor del av ressursene sine for å holde plattformen operativ. Disse ressurssene kunne ellers vært brukt til programvareutvikling.

Dette har ført til et økende behov for skybaserte plattformløsninger. Disse løsningene benytter en sky-databehandlingsmodell for å gi utviklere alt de trenger for å utføre arbeidet sitt. Dette inkluderer vertsmiljøer for utvikling, databaseverktøy og omfattende applikasjonsadministrasjonsmuligheter. Utviklere som jobber innenfor en skyplattform har tilgang til alle ressursene som kreves for å bygge, distribuere og lansere programvareapplikasjoner. For bedrifter kan skyplattformen tilby en skalerbar infrastruktur for nye applikasjoner som må leveres raskt. Med en «betal-etter-bruk»-modell er det ikke nødvendig med langsiktige investeringer i lokale plattformer.

Hvorfor velge åpen kildekode?

Nå som vi har diskutert fordelene med skybaserte kontra tradisjonelle, lokale plattformer, er det naturlige spørsmålet: hvorfor er en åpen kildekode skyplattform et bedre valg enn en proprietær skyplattform? Det mest innlysende svaret er kostnader: lisenser for proprietære løsninger er som regel dyrere. En annen vesentlig fordel er fleksibiliteten og friheten til å velge mellom et bredt spekter av rammeverk, skyer og tjenester.

Proprietære plattformer kan derimot låse deg til deres egne verktøy og tjenester. De tilbyr visse fordeler, som forpliktelse til SLA-er (service level agreements) og fjerning av hindringer som testing og integrasjon, men disse fordelene veier sjelden opp for fordelene med åpenhet.

Nedenfor finner du et utvalg av åpen kildekode-skyplattformer som leder markedet i dag.

Cloud Foundry

Opprinnelig utviklet av VMware (nå eid av Pivotal Software), Cloud Foundry skiller seg ut som en åpen kildekode, frittstående programvareapplikasjon. Dette gjør den uavhengig av skyleverandører. Den kan distribueres på VMware vSphere eller andre skyinfrastrukturer, som HP Helion, Azure eller AWS. Du kan også velge å hoste den selv på din OpenStack-server.

Cloud Foundry forenkler kjøretids- og rammeverksstøtte gjennom bruk av buildpacks. Når du «pusher» en app, velger Cloud Foundry Application Runtime den mest passende byggepakken for den. Byggepakken tar seg deretter av å kompilere appen og klargjøre den for lansering.

Cloud Foundry er designet for å muliggjøre rask applikasjonsutvikling og -distribusjon via en svært skalerbar arkitektur og DevOps-vennlige arbeidsflyter. Språkstøtten omfatter blant annet Python, Ruby, PHP, Java og Go. For å fungere optimalt i Cloud Foundry, anbefales det imidlertid at prosjektet ditt følger Twelve-Factor-applikasjonsstandarden: en metodikk spesielt utviklet for å skape optimale software-as-a-service (SaaS) applikasjoner.

Udemy tilbyr et godt kurs for å utvikle for skyen med Cloud Foundry.

WSO2

Hvis du jobber mye med SOA, må du sannsynligvis forholde deg til mange interne og eksterne API-er. Dette er situasjonen hvor WSO2 utmerker seg, takket være API Manager som kan håndtere hele API-livssyklusen. WSO2 leverer samsvar med de fleste kravene dine klienter kan ha, inkludert versjonskontroll, API-dokumentasjon og SSL-avlastning.

WSO2 benytter et butikkonsept hvor utviklere kan finne, teste og rangere API-er. Utplasseringen er enkel og grei, og gir mange muligheter for å kontrollere API-flyten. Den tilbyr også en funksjon for automatisk gjenoppretting i tilfelle en endepunkts suspensjon oppstår. Alle disse egenskapene er rettet mot å redusere time-to-market, forenkle kostnadsstyring og generelt forbedre smidigheten i forretningsprosesser.

Et stort pluss med WSO2 API Manager er den enkle integrasjonen med WSO2 Identity Server, en API-drevet IAM-løsning (Identity and Access Manager). Denne integrasjonen gir en brukervennlig plattform for autentisering på tvers av skymiljøer.

Cloudify

Cloudify er et orkestreringsrammeverk designet for å modellere applikasjoner og tjenester, samtidig som deres livssykluser automatiseres. Dette inkluderer muligheten til å distribuere i et hvilket som helst skymiljø eller datasenter og utføre kontinuerlig vedlikehold. Det tilbyr også verktøy for å overvåke alle aspekter av de distribuerte applikasjonene, oppdage feiltilstander og løse dem, enten manuelt eller automatisk.

En av Cloudifys mest bemerkelsesverdige funksjoner er TOSCA-basert blåkopimodellering. Denne innovasjonen lar utviklere bruke YAML for å lage tegninger av applikasjonens topologier. YAML er et menneskelesbart dataserialiseringsspråk som brukes til å skrive definisjoner basert på TOSCA-spesifikasjonen. Dette gir utviklere en standardisert måte å beskrive sammenhenger mellom applikasjoner, systemer og skyinfrastrukturkomponenter.

Cloudifys skyorkestrering gir et solid fundament for IT-styring og sikkerhet, og lar brukere implementere tilgangsbegrensninger med ulike roller og tillatelsesnivåer. For å kommunisere med eksterne tjenester, som Kubernetes-kontainere, skytjenester (AWS, Azure, vSphere, OpenStack) og konfigurasjonsadministrasjonsverktøy (Puppet, Ansible, Chef), bruker Cloudify sitt sett med offisielle plugins. Mange andre tjenester støttes av eksisterende, generiske plugins.

OpenShift

OpenShift er en Kubernetes-basert plattform med et fleksibelt og raskt installasjonsprogram, og omfattende API-støtte. Dette lar utviklere utvide plattformen etter deres behov. Den er bygget med sikkerhet i tankene. Et eksempel er at kontainere forventes å kjøre som ikke-rootbrukere, og i tilfeller der det ikke er tilfelle, krever OpenShift en eksplisitt overstyring for å kjøre kontaineren.

Bruken av Kubernetes krever et betydelig antall servere, og det kreves en viss læringskurve for å mestre det. Derfor er ikke denne plattformen særlig egnet for små distribusjoner, med mindre det er planer om en større utplassering i nær fremtid.

OpenShift-brukere fremhever de raske installasjons- og konfigurasjonsprosedyrene, i tillegg til at det er enkelt å vedlikeholde moduler og leveranser. En annen fordel er at den har sin egen Git-repo. Det som ikke er like populært er vanskeligheten med å lese og tolke logger. Spesielt når det oppstår en feil under opplasting av et prosjekt, kan det være vanskelig å forstå hvor problemet ligger.

Lære OpenShift er enkelt.

Tsuru

Rede Globo, det nest største kommersielle TV-nettverket i verden, lanserte Tsuru som et Docker-basert PaaS-produkt (Platform as a Service) som er i stand til å orkestrere og kjøre applikasjoner i et produksjonsmiljø. Det er en åpen kildekode multi-provisjonsplattform som støtter nettsteder med millioner av brukere, utviklet av Globo.com.

Tsuru-brukere bekrefter at det reduserer time-to-market betraktelig, uten å gå på bekostning av enkelhet, høy tilgjengelighet, sikkerhet eller stabilitet. Den kan kjøres i en rekke skyinfrastrukturer, enten de er offentlige eller private, så lenge de støttes av en Docker-maskin. Den støtter også nesten alle tilgjengelige programmeringsspråk, noe som gir utviklerne frihet til å velge etter egne preferanser.

Med Tsuru kan du bruke forskjellige datalagre, inkludert SQL- eller NoSQL-databaser, eller minnebaserte alternativer som Memcached eller Redis. Du velger enkelt den du foretrekker og kobler den til appen din. For å administrere appen kan du velge mellom å bruke kommandolinjen eller et webgrensesnitt, og deretter distribuere via Git. Tsuru-infrastrukturen tar seg av alle de tekniske detaljene.

Stackato

Stackato er et polyglot PaaS-produkt basert på Cloud Foundry og Docker, som kjører på toppen av skyinfrastrukturen din og fungerer som en lanseringsplattform for applikasjonene dine. Stackato-brukere forteller at det tilbyr en smidig og robust applikasjonsplattform som bidrar til å øke produktiviteten for både skyadministratorer og utviklere. Det er godt egnet for skyimplementeringer for bedrifter, og kombinerer fleksibiliteten ved å ha direkte tilgang til VM i skyinfrastrukturen, med den automatiserte konfigurasjonen som en fullverdig PaaS tilbyr. De støttede skyinfrastrukturene inkluderer blant annet HP Cloud Services, Citrix XenServer, AWS, OpenStack og VMware.

I Stackato har hver applikasjon sin egen Linux-kontainer (LXC), som sikrer en effektiv og sikker deling av ressurser. Tjenestespekteret består av: Helion Control Plane, som Stackato bruker for å kommunisere med den underliggende skyen og for å administrere livssykluser for tjenester; Helion Service Manager, et arkiv med tilleggstjenester som er tilgjengelige for applikasjoner; Helion Cloud Foundry, en elastisk kjøretid designet for å forenkle app-hosting og -utvikling; Helion Code Engine, en kontinuerlig leveringstjeneste integrert med Git-repositories, enten private eller offentlige og Helion Stackato Console, et webgrensesnitt for å administrere alle Helion Cloud-funksjonene.

Alibaba

Selv om det sjelden nevnes i forbindelse med åpen kildekode-skyplattformer og PaaS, har Alibaba Cloud sin databehandlingsvirksomhet vokst i et voldsomt tempo. De har allerede erobret 50% av det kinesiske offentlige skymarkedet, og lærer stadig hvordan de skal betjene markeder utenfor Kina. De tilbyr for eksempel faktureringsstøtte i amerikanske dollar i 168 land og utformer tjenester som er spesielt tilpasset utenlandske markeder.

Skyplattformtjenestene som inngår i Alibabas tilbud omfatter mange gratis funksjoner, inkludert kontainertjenester for Docker og Kubernetes, Container Registry, Auto Scaling og DataWorks, et sikkert miljø for offline datautvikling. Tjenestene er godt dokumentert og ledsaget av alt du trenger for å starte migreringen av appene dine til skyen med en gang, som for eksempel mange opplæringsvideoer. Etter noen få enkle trinn og uten å investere penger, inviterer Alibaba deg til å starte byggingen umiddelbart.

Avslutningsvis…

Heldigvis for alle utviklere, dominerer åpenhet i skyverdenen. For noen år siden truet konkurransen om kontainerteknologier (Docker, Kubernetes, Mesos, Nomad, ECS, for å nevne noen) med å splitte markedet i separate enheter, noe som genererte en betydelig risiko ved valg av plattform. Selv om det i dag finnes flere plattformer å velge mellom, ligger forskjellene mellom dagens åpen kildekode-valg kun i detaljene: ulike kostnadsordninger, forskjellige styringsverktøy og ulike tilnærminger til sikkerhet. Med andre ord: hvis du velger en åpen kildekode-skyplattform i dag og ikke er fornøyd, kan du bytte til en annen i morgen uten at det koster deg skjorta.

Med informasjonen vi har gitt deg her, håper vi at du kan velge den plattformen som passer best for dine behov. Da kan du glemme hodepinen som serverkapasitet, mellomvare, rammeverk, virtuelle maskiner, datalagre og så videre. Når du har frigjort deg fra alt dette, kan du bruke alle ressurser og oppmerksomhet på det som virkelig betyr noe: å levere en fantastisk applikasjon til brukerne dine så raskt som mulig, og holde dem fornøyde mens de bruker den.

Leter du etter gratis bruk eller kreditt på skyplattformer? Se denne listen.