Robuust fundament in een roerige wereld

Het valt niet mee om een artikel te vinden over softwareontwikkeling dat niet begint met razendsnelle verandering en constante beweging. Het is een cliché als een vermanend opgestoken vinger, meestal gevolgd door de waarschuwing dat u ergens de boot dreigt te missen. Toegegeven, er gebeurt veel op het terrein van softwareontwikkeling. Vraag die ik veelvuldig krijg, is dan hoe Cloud Native Development daarin toe te passen: als robuuste fundament dat een duurzame basis verschaft in die roerige wereld.

De behoefte aan meer flexibiliteit en wendbaarheid in bedrijfsvoering en de overstap naar DevOps dragen bij aan de toegenomen acceptatie van cloud services. Dat kent zo z´n uitdagingen. Uiteindelijk telt de kortste route van idee naar dienst. Een online supermarkt bijvoorbeeld kan niet meer zonder om zijn klanten tevreden te houden. Die willen advies op basis van hun profiel en hun profielen veranderen per dag. Vandaag is de trend dat alles diervriendelijk moet zijn, maar morgen kan de voorkeur alweer liggen bij lokale producten.

Flexibiliteit door microservices

Cloud Native Development biedt de mogelijkheid doorlopend te verbeteren en te schalen. Dankzij microservices, kleine stukjes functionaliteit die tezamen het hart van de dienstverlening vormen. Hiermee is de best mogelijk wendbaarheid gegarandeerd. Die maken aanpassingen op basis van veranderende klantwensen makkelijker. Zo kan een organisatie sneller functionaliteit uitproberen met een beperkt aantal gebruikers. De wijzigingen zijn makkelijker door te voeren, maar ook terug te draaien wanneer andere inzichten daartoe aanleiding geven.

Gedegen fundament

De grootste serviceproviders op gebied van clouddienstverlening zijn Google Cloud Platform, Amazon Web Services en Microsoft Azure. Zij bieden een scala aan diensten, elk met eigen complexiteit. Om alle mogelijkheden overzichtelijker te maken zijn er PaaS-diensten ontwikkeld die ondersteuning bieden bij Cloud Native Development.

Een van de krachtigste PaaS-diensten is Cloud Foundry, een open-source product voor Cloud Native Development dat wordt ondersteund door onder meer Google, IBM, Microsoft en SAP. Er zijn ook gecertificeerde distributies beschikbaar, waarvan Pivotal er uitspringt. De container-based architectuur is een gedegen fundament voor allerlei soorten programmeertalen. Pivotal biedt zowel een Application Service als Container Service. In het laatste geval is er geen directe afhankelijkheid met specifieke programmeertalen.

Samenwerking

Bij Cloud Native Development past een teamsamenstelling van eindgebruikers, experts, ontwerpers, techneuten en stakeholders. Het samenbrengen van al die verschillende perspectieven en visies op dezelfde uitdaging is essentieel om flexibele en eenvoudig diensten te ontwikkelen. Daar blijkt ook de meerwaarde van experts met zowel technische als de juiste domeinkennis. Want als er iets essentieel is voor Cloud Native Development, dan is dat het samenwerkingsverband dat die disciplines bijeenbrengt.

Take aways

Cloud Native Development in vogelvlucht

  • Cloud Foundry is open-source
  • Ondersteund door onder meer Google, IBM, Microsoft en SAP
  • Makkelijk nieuwe of verbeterde functies doorvoeren
  • Acteren op klantwensen met microservices
  • Rollback net zo eenvoudig als implementatie
  • Focus op waardecreatie
  • Container-based architectuur voor applicaties in alle denkbare programmeertalen
  • Eenvoudig meerwaarde te bewijzen om vervolgens op te schalen
  • Co-creatie in agile teams van eindgebruikers, experts, ontwerpers en ontwikkelaars

De auteur, Gerard Mulder, werkt bij CGI Nederland als Software Architect en Engineer. Binnen de unit Emerging Technologies past hij Cloud Native Development toe bij internationale klanten, zowel nieuwbouw als replatforming van bestaande applicaties.

Dit artikel verscheen eerder in CIO Magazine rond het thema Technology. Was technologie tot enkele jaren geleden een 'commodity', inmiddels is het een strategisch wapen. Wat zijn de trends op het gebied van business technology? Waar liggen de kansen? En hoe zijn nieuwe technologieën in te bedden?