We hadden een paar jaar geleden een interessant probleem. We zijn een volledig extern bedrijf met al onze software in de cloud. En we hadden een reeks Spring Boot-toepassingen die draaiden op containers met Infrastructure as Code. Maar we hadden zakelijke flexibiliteit nodig.

De wereldwijde arbeidsmarkt beweegt snel en er is altijd vraag naar nieuwe producten. We moesten een manier vinden om onze voorsprong in de hele industrie te behouden.

We zijn een technologiebedrijf met een gedurfde strategie

In 2022 creëerden we een ADR (Architecture Decision Record) waarin stond: "serverless-first en containers-as-needed." En leidde tot debat over bijna 40 technische teams.

Laten we eerst wat terminologie uitleggen

Serverless-first werkt niet alleen als een service. Het is ook een groep managed services van cloudproviders die: 

  • Lagere operationele overhead door geen infrastructuur te beheren

  • Schaal indien nodig, inclusief schalen naar nul om ze volledig elastisch te maken

  • Elastische prijzen hebben (u betaalt alleen voor wat u gebruikt) 

Bij G-P verwijst serverless-first naar ons gebruik van AWS Lambda, EventBridge, Step Functions, Fargate, SQS, SNS, API Gateway, S3, DynamoDB en andere.

Serverless-first betekent dat wanneer we een oplossing selecteren voor Compute, Storage, Messaging of vergelijkbaar, we willen dat teams beginnen met een serverloze optie. Een belangrijke opmerking: Als de serverloze service niet aan de behoefte voldoet, moeten teams terugvallen op een zwaardere service, een service die meer operationele investeringen vereist.

“Containers-as-needed” verduidelijkt dat serverless-first niet alleen serverless betekent. Er zijn momenten waarop we containers nodig hebben (bijv. het installeren van een COTS-softwareproduct) — en dat is oké.

Een technologiestrategie die prioriteit geeft aan klanten

We bewegen in een wendbaar tempo om te voldoen aan de behoeften van onze klanten en gebruikers. Diensten zoals Lambda, S3 en DynamoBD zijn ongelooflijk veerkrachtig en snel. Door het ongedifferentieerde zwaar tillen te offloaden, kunnen we meer tijd besteden aan het bouwen van functies voor gebruikers in plaats van te werken aan generieke infrastructuurconfiguratie.

Een belangrijk principe bij G-P is: "Je bouwt het, je runt het." Onze teams zijn eigenaar van hun software. We gooien dus niet alleen software over de muur naar een DevOps-team. 

Voordelen van “serverless-first”

Serverloos is inherent gebeurtenisgestuurd.

Onze architectuur is volledig evenementgestuurd. Door EDA (Event-Driven Architecture) te gebruiken, kunnen we zowel onze organisatie als onze software opschalen. Serverloos dwingt ons om een kleine straal te behouden en op een volledig cloud-native manier te communiceren via gebeurtenissen.

Beperkingen inschakelen

Als global employment platform nemen we naleving serieus. Onze cloudinfrastructuur is Well-Architected en we gebruiken een multiaccountstrategie die workloads scheidt en cloudcompliance automatiseert. Serverless helpt ons hoge normen af te dwingen door te controleren hoe we cloudbronnen leveren.

Het werk lossen

Onze cloudprovider beheert onze serverloze diensten. Een enkele set bouwstenen - geïntegreerd, beveiligd, afgestemd, ingeschakeld en onderhouden door AWS - stelt ons in staat om ons hoger te concentreren op de waardeketen voor klanten.

Goed ontworpen workloads

Elke workload die we creëren wordt beoordeeld met het AWS Well-Architected Framework. We richten ons op schaal, beveiliging, betrouwbaarheid en kostenoptimalisatie om ervoor te zorgen dat we niet alleen voldoen aan onze SLA (Service Level Agreement), maar deze ook overtreffen. Dit stelt onze technische teams in staat om te blijven evolueren met cloudomgevingen. 

Over onze teams

Onze technologiestrategie is ambitieus en dat maakt het een uitdaging. Veel ingenieurs hebben niet gewerkt in een serverloze architectuur (of een gedistribueerde architectuur). De overgang naar serverloze architectuur is niet eenvoudig en we zoeken naar technici die zich op hun gemak voelen bij leren, groot denken en in een hoog tempo bewegen.

Sommige technici zijn niet zeker van de term serverloos (ja, we weten dat er servers zijn), omdat de aanpak meer is dan het schrijven van code in functies. Onze strategie vereist een holistische benadering van de klassieke cloud-native principes.

Het resultaat

We hebben in twee jaar buitengewone vooruitgang geboekt. Modernisering heeft veel voordelen (zie ons artikel over AWS/bekende zakelijke waarde van cloudmodernisering). In het bijzonder hebben we het volgende waargenomen:

1. Snelheid: De manier waarop we ons systeem hebben opgebroken stelt teams en producten in staat om onafhankelijk te innoveren en te evolueren. Dit heeft een enorme impact op de zakelijke flexibiliteit.

2. Naleving: We gebruiken het AWS Well-Architected Framework om alle workloads te beoordelen. Omdat we veel AWS Managed Services gebruiken, kunnen we vertrouwen op hun operationele uitmuntendheid en beginnen vanaf een plek van hoge kwaliteit.

3. Systeemdenken: We moesten veel van onze processen standaardiseren, zodat we reden kunnen geven over het systeem, de betrouwbaarheid en de bedrijfswaarde. We besteden geen tijd aan het werken aan componenten met een lage waarde.

4. Innovatie: zonder server betekent dat alles een API is. Deze gedwongen beperking vereist een API-first benadering. Als we onszelf zien als een platform, kunnen we een nieuw niveau van innovatie bereiken door systemen eenvoudig te verbinden via API's, zoals het aansluiten van G-P Gia™ in een nieuwe kennisbank.

5. Eigendom: AWS is eigenaar van onze infrastructuur, maar wij zijn eigenaar van ons bedrijfsdomein. Serverless-first met domeingestuurd ontwerp heeft ons gedwongen om ons te concentreren op het zakelijke probleem. Dit houdt het eigenaarschap van de capaciteit duidelijk.

Serverless-first is niet altijd sneller, maar het is voordeliger. We optimaliseren liever de systeemsnelheid dan de snelheid van individuele ontwikkelaars. Serverless-first gaat minder over het gebruik van functies en meer over denken: “Code is een aansprakelijkheid. Het systeem is het bezit.” Hoe minder code we moeten schrijven, hoe meer we het bedrijfssysteem dat we bouwen kunnen overwegen en vormen.

Terwijl we ons verhaal delen, zal het duidelijk worden met welke snelheid we werken, wat een direct resultaat is van serverless-first. Blijf op de hoogte.