Streamingdienst Netflix, grootgebruiker van cloudgebaseerde applicatie omgevingen, laat een goed voorbeeld zien hoe je softwareontwikkeling in de wereld van de megaplatformen kunt adresseren. Dat zie je aan hun nieuwe Spinnaker-product voor multi cloud regie dat kortgeleden met de open source community gedeeld is.
Door cloud native applicaties te ontwikkelen zijn de beperkingen van eigen datacenters, legacy hardware en traditionele dienstenaanbieders omzeild. Volledige ontzorging op infrastructuurgebied toch? Dat is niet het hele verhaal. Organisaties van enige omvang hebben over het algemeen een te breed landschap om applicaties vanuit een cloudvormplatform te bedienen. Van IaaS, PaaS, tot containers en serverless. In zo’n multicloud landschap is het moeilijker grip houden. Qua planning van resources, kosten, development en deployment.
Implicaties
De inzet van meerdere, parallelle cloudplatformen heeft nogal wat implicaties voor de IT-afdeling. Het gebrek aan uniforme standaarden en portabiliteit kost tijd en geld en is problematisch voor ontwikkelaars. Software moet aansluiten op verschillende omgevingen. En in een tijd waarin continuous delivery de nieuwe norm is, moet ook de deployment zo gepland zijn dat de user experience nooit lijdt onder het uitbrengen van een nieuwe release.
Bedrijven willen hoe dan ook flexibiliteit. Vanuit een organisatorische invalshoek – denk aan fusies, overnames en samenwerkingen – maar ook voor redundante omgevingen, voor testdoeleinden, of omdat apps en services elders beter blijken te draaien. We gaan dus langzaamaan naar een situatie toe waarin je vandaag niet weet waar je morgen je apps en services host.
Servicelaag
Ontwikkelen voor verschillende cloudplatformen vraagt om een orkestratielaag: een toepassing waarmee je de resources in de verschillende clouds kunt beheren en je de software deployment zó kunt inrichten dat je gebruikers en klanten de beste UX blijft bieden door constant aan de knoppen te kunnen draaien. In de markt is dat geen vanzelfsprekendheid. De grote cloudplatformen hebben er geen belang bij om applicatie portabiliteit breed te ondersteunen. Maar ook bij kleinere cloud services providers laat de portabiliteit nogal eens te wensen over. Er zijn er die klanten terug willen duwen naar waar ze vandaan kwamen. Door standaardisatie niet te omarmen en door kunstmatige beperkingen, waardoor organisaties beperkt worden in hun softwareontwikkeling, innovatie en flexibiliteit.
Duizenden deployments
Nu multicloud de norm wordt, ontstaat er langzamerhand een kritische massa van startups en grotere aanbieders die de ontwikkeling van standaarden en nieuwe services actief ondersteunt. Een startup is het natuurlijk niet meer te noemen, maar het is precies die cloud regie, die Netflix met het uitbrengen van Spinnaker in het open source domein heeft gebracht. Met deze toepassing organiseer je continuous delivery die compatibel is met AWS EC2, Kubernetes, Google Compute Engine, Google App Engine, Microsoft Azure en Openstack. Ontwikkelaars hoeven vanuit hun continuous integration project alleen maar een deployable unit te maken en Spinnaker test de integratie, het systeem, beheert servergroepen en monitort de geautomatiseerde uitrol. Netflix zet dagelijks zo duizenden deployments weg en beheert een heel landschap van honderden microservices, virtual memory, containers en content delivery networks.
Hoe complex het aan de achterkant misschien ook lijkt, heel veel werk is al gedaan en het is ook nog eens open source. Ondernemingen die bij dit soort ontwikkelingen aanhaken zullen de eerste rijpe vruchten van de multicloud plukken. En misschien komt er nog wel meer. De geschiedenis lijkt zich te herhalen. Net zoals AWS een succesvolle spin off van de Amazon webshop werd, zo zou Spinnaker als nieuwe activiteit en aanvulling op video streaming een eigen leven kunnen gaan leiden.