Met de introductie van AWS in het eerste decennium van deze eeuw ging er een wereld open voor de ontwikkelaar. Opeens was de afhankelijkheid van een IT afdeling gedecimeerd, en konden we via een API (en een credit card) ongelimiteerd servers starten. Deze innovatie heeft een ongelofelijke invloed gehad op de software industrie.
Ongeveer tegelijkertijd kwamen ook Google en Microsoft met een vergelijkbare cloud. Er zijn op dit moment nog meer aanbieders maar alleen Alibaba kan aan mee in het geweld van deze 3 grote spelers.
Via een API servers (computers) en storage (schijven) aanzetten, en betalen voor het gebruik (per uur). Dat is de kern van de vernieuwing. Het was nu mogelijk om heel snel te reageren op veranderend gebruik door op en af te schalen.
Big Tech ging op met deze bouwstenen aan het werk en introduceerden letterlijk honderden nieuwe diensten, allemaal handig voor de ontwikkelaar. Het is steeds makkelijker geworden met relatief kleine teams grote systemen te bouwen.
Deze ontwikkelingen hebben de software industrie ook wakker geschud. De moderne database, bijvoorbeeld, is nu steeds meer in staat op dezelfde manier gebruik te maken van de onderliggende systemen. Gebruiksgemak maar ook betrouwbaarheid zijn enorm toegenomen. De software ontwikkelaar aan de macht.
Maar er is geen standaard interface voor de 3 Big Tech cloud leveranciers. De industrie is al jaren op zoek naar een manier om hiermee om te gaan. Er wordt veel gesproken over multi-cloud en hybrid-cloud, de systemen uitsmeren over de Big Tech leveranciers al of niet met een eigen 'cloud' er naast.
Big Tech is er toch in geslaagd om de klanten vast te zetten. Het is niet makkelijk om van de ene omgeving naar de andere over te gaan. Daarnaast het is altijd een hele klus geweest je eigen cloud omgeving te bouwen en beheren.
Google heeft een aantal jaren geleden zijn onderliggende container orchestration platform (Kubernetes) vrijgegeven. Eerst open source, maar nu in het geheel in handen van de Linux Foundation (via de dochter Cloud Native Computing Foundation).
Kubernetes doet eigenlijk wat de basis van een Big Tech cloud ook doet, namelijk servers (containers) en storage (schijven) via een API toegankelijk maken. Veel ontwikkelaars waren al verliefd geworden op containers (Docker), en konden nu met Kubernetes heel makkelijk hun werk doen.
Big Tech kon niet achterblijven, en bieden nu allemaal de mogelijk Kubernetes workloads te draaien.
De Kubernetes community is zo groot, en zo actief, dat het de standaard aan het worden is. Software leveranciers zoals Elastic distribueren hun software ook via Kubernetes. Het is nu dus opeens steeds makkelijker aan het worden de extra services die Big Tech zo interessant maken zelf te draaien.
Met Kubernetes is het ook steeds makkelijker zelf een eigen cloud te bouwen. Naarmate er meer software leveranciers mee gaan doen (een kwestie van tijd) kan dus de eigen cloud gaan concurreren met Big Tech in de ogen van software ontwikkelaars en de software ontwikkelaar is 'de baas'.
Hiervoor zijn servers en opslag heb je nodig, uitgesmeerd over 3 (of meer) geïsoleerde data centers, waarmee verschillende availability zones worden gemaakt. Hiermee kunnen de systemen betrouwbaar en weerbaar gemaakt worden. Er ligt altijd een calamiteit op de loer, en daar heb je deze availability zones voor nodig. Vervolgens worden deze aan het internet gekoppeld via netwerken. Vervolgens wordt Kubernetes op Open Stack gebouwd.
Door te zorgen voor groene stroom, en de levensduur van de hardware verlengd, ben je al een heel eind op weg naar een duurzame cloud. De Amsterdam Cloud wordt gebouwd op 2dehands hardware, waarmee de co2 footprint al direct heel laag is.