Cloud-gebaseerde ontwikkelomgevingen (CDE) worden in rap tempo populairder binnen de tech-industrie. Maar waarom maken steeds meer bedrijven en ontwikkelaars de overstap? Volgens Gergely Orosz, de auteur van een artikel op ‘The Pragmatic Engineer’, zijn er enkele belangrijke redenen die de opmars van deze omgevingen verklaren.
- Uniformiteit en consistentie – Traditionele lokale ontwikkelomgevingen kunnen inconsistent zijn. Ontwikkelaars hebben vaak verschillende softwareversies, besturingssystemen en hardwareconfiguraties. Gergely Orosz merkt op dat dit kan leiden tot het beruchte “het werkt op mijn machine” probleem. Met een cloud-gebaseerde oplossing is iedere ontwikkelomgeving identiek, wat deze problemen elimineert.
- Schaalbaarheid en flexibiliteit – Een van de grootste voordelen van cloud-infrastructuren is hun schaalbaarheid. Volgens Orosz kunnen ontwikkelaars profiteren van on-demand resources, waardoor ze bijvoorbeeld krachtige machines kunnen gebruiken voor intensieve taken en vervolgens kunnen downgraden wanneer dat niet nodig is.
- Onderhoud en Updates – Laptops en andere lokale machines vereisen regelmatig onderhoud en updates. Gergely wijst erop dat het bijhouden van deze updates voor elk lid van een groot ontwikkelteam tijdrovend en kostbaar kan zijn. Cloud-gebaseerde omgevingen worden centraal bijgewerkt, waardoor deze last vermindert.
- Toegankelijkheid – Met de verschuiving naar remote werken is toegang tot ontwikkeltools vanaf elke locatie cruciaal geworden. Orosz stelt dat cloud-gebaseerde omgevingen deze toegankelijkheid vergroten, omdat ontwikkelaars alleen een browser en internetverbinding nodig hebben. Een nadeel kan echter de impact van video calls zijn opa de prestaties van een laptop. Onderzoek geeft volgens Orosz aan dat deze zeer aanzienlijk kan zien.
- Integratie met andere cloud services – Veel moderne applicaties zijn afhankelijk van andere cloudservices. Door te ontwikkelen in de cloud, aldus Gergely, kunnen teams gemakkelijker integreren met deze services, wat resulteert in een soepeler ontwikkelproces.
Uit welke cloud gebaseerde software-ontwikkelomgevingen kunnen developers momenteel kiezen? Kijk dan onder andere naar (links zijn hier te vinden):
- GitHub Codespaces: Een service van GitHub die een volledig functionele ontwikkelomgeving in de cloud biedt, direct geïntegreerd in GitHub.
- Gitpod is een tool die vooraf geconfigureerde ontwikkelomgevingen biedt voor elke GitHub-, GitLab- of Bitbucket-repo.
- Stackblitz is volgens Orosz de enige leverancier die omgevingen aanbiedt die in milliseconden opstarten. Hier is bol indien sprake van een oplossing die een microbesturingssysteem, geschreven in WebAssembly, in het browsertabblad biedt en dat in 200 ms opstart.
- DevZero: opgericht in 2021 door twee ingenieurs die bij Uber hadden gewerkt, en de oplossing brengt veel inspiratie van Devpods bij Uber en de ontwikkelaarservaring bij het bedrijf.
- Crafting: waarschijnlijk de meest geavanceerde oplossing van allemaal, aldus Orosz. Het is een oplossing die Kubernetes onder de motorkap uitbreidt en veel meer wil zijn dan ‘enkel’ een clod based development environment.
- Replit is vermoedelijk de meest populaire collaboratieve codeeromgeving voor persoonlijk gebruik.
- Codesandbox begon rond 2018 als een web-IDE, maar is sindsdien uitgebreid.
- Coder: een van de weinige leveranciers die alleen een zelfgehost CDE-platform aanbiedt.
- Codeanywhere: een van de eerste cloud-IDE’s, opgericht in 2013.
- Daytona werd opgericht in 2023 en de oprichters zijn de medeoprichters van Codeanywhere.
- Cloudomation: richt zich vrijwel uitsluitend op Duitsland
- Hocus: gestart in november 2022, nog in de bouwfase.
- Strong Network: benadert CDE’s vanuit het perspectief van cyberbeveiliging en compliance
- AWS Cloud9: Een cloud-IDE van Amazon Web Services die ontwikkelaars een volledige ontwikkelomgeving biedt, gehost in de AWS-cloud.
Terwijl de overgang naar cloud-gebaseerde ontwikkelomgevingen duidelijke voordelen biedt, zijn er ook uitdagingen. Privacy, veiligheid en kosten zijn allemaal zorgen die bedrijven en ontwikkelaars moeten overwegen. Echter, zoals Gergely Orosz in zijn artikel benadrukt, lijkt de trend vooralsnog onstuitbaar. Het potentieel voor verhoogde productiviteit, schaalbaarheid en toegankelijkheid maakt het CDE tot een aantrekkelijke optie voor veel developer teams.
Kijk hier voor de blog van Gergely Orosz.