Het einde van localhost: development in de cloud

Een aantal jaren geleden zorgde de mede-oprichter van Netscape voor sceptische reacties toen hij zei dat ‘Software is eating the world’, waarmee hij wilde aangeven dat traditionele diensten in de toekomst als software beschikbaar zouden worden. Denk aan een belegger: vroeger moest er gebeld worden, tegenwoordig kan iedereen online zelf beleggen. Of reisbureaus die vrijwel volledig zijn vervangen door online services. 

Tegenwoordig kunnen we stellen dat vrijwel iedere industrie draait op software, ofwel Software-as-a-Service of SaaS.

cloud-development-blog

De cloud is de standaard geworden voor ongeveer elke industrie, van opslag tot transport en van communicatie tot retail. Toch blijft één onderdeel nog deels weg van deze techniek en dat is, ironisch genoeg, software-ontwikkeling. Het bouwen, ontwikkelen, debuggen en analyseren van de code die alles in de cloud mogelijk maakt, vindt nog grotendeels offline plaats.

De cloud is de standaard geworden voor ongeveer elke industrie, van opslag tot transport en van communicatie tot retail. Click To Tweet

Niet lang meer, is de verwachting. Cloud-ontwikkeling is volgens een voorzichtige schatting een 6 miljard dollar grote industrie, mede dankzij alle SaaS-diensten. De grootste cloudproviders zien dit uiteraard ook; het is daarom goed om te zien hoe de transitie van localhost naar de cloud verloopt – en waar de mogelijkheden liggen.

IT en development – verschillende belangen

De status van de migratie van software-ontwikkeling naar de cloud houdt verband met twee langlopende, concurrerende belangen binnen de IT-afdeling: die van systeembeheerders en developers. De eerste groep houdt van stabiliteit, veiligheid en controle. Ontwikkelaars daarentegen hebben eisen omtrent (internet-)talen, frameworks en processen. Deze verschillen resulteren in spanning: wie beheert de development-servers en wie bepaalt de programmeerstandaarden? Developers kiezen doorgaans voor microservices voor ieder scenario, systeembeheerders gaan vaker voor inflexibele templates en configuraties die door en door zijn getest.

Deze kloof komt voort uit de vraag wie root access tot het systeem heeft. Als de ontwikkeling op eigen servers of localhost – de computer van de developer – wordt gedaan, heeft hij controle over de configuratie en gebruikte frameworks. Maar de schaalbaarheid van een localhost is beperkt en het delen is lastig. Zeker bij grotere teams wordt dit op een gegeven moment problematisch en onwerkbaar.

Een populair alternatief is een aantal centraal door een systeembeheerder beheerde servers, doorgaans virtuele machines. Echter, de adoptie van op virtuele machines gebaseerde oplossingen zoals VDI loopt achter omdat VM’s lastig te delen en duur zijn, en bovendien niet bevorderlijk voor samenwerking – vraag een ontwikkelaar of hij het prettig vindt om 2GB aan VM-images te delen met een collega.

Developers hebben de neiging om bepaalde zaken – zoals code en computers – te verzamelen, tenzij er een goede manier wordt geboden om samen te werken en op simpele wijze productiever te zijn. De groeiende populariteit van cloud-oplossingen die het delen van assets en processen vergemakkelijken laat zien dat dit inmiddels tot de mogelijkheden behoort.

We zijn aangekomen bij de laatste grens voor de cloud en het gevecht om de gebruiker is begonnen. GitHub is de de facto bestemming voor het samen werken aan code, door de code van verborgen repositories te verplaatsen naar het publieke domein zodat er feedback op gegeven kan worden. Als het gaat om issue management, zorgt Atlassian Jira dat het proces van software project management openbaar wordt voor alle teamleden .

Kortom, meer dan ooit ligt de nadruk op de gezamenlijke ontwikkeling van code. De werkplek en runtime systemen van de ontwikkelaars – waar daadwerkelijk wordt bewerkt, gebouwd, gedebugd en geanalyseerd voordat code wordt gecommit naar version control – blijven echter achter op de eigen computer of virtuele machine, gevangen in de kloof tussen systeembeheer en development.

De opkomst van cloud-ontwikkeling

Dankzij de opkomst van container-technologie (zoals Docker), die de development backends een gigantische boost heeft gegeven zodat er nu agile gewerkt kan worden, kan het gehele ontwikkelproces – inclusief (IDE) werkplek en runtime systemen – in de cloud gehost worden. Cloud-leveranciers staan te springen om de gebruikers nu deze voordelen van de cloud te laten ontdekken.

Dankzij de opkomst van container-technologie kan het gehele ontwikkelproces in de cloud gehost worden.Click To Tweet

De laatste ontwikkeling vindt plaats op het gebied van integrated development environments (IDE) in de cloud. Deze ontwikkeling trekt miljoenen gebruikers en euro’s aan financiering. Met een mix van gehoste development runtimes, gebaseerd op containers met ingebouwde browser tools, bieden cloud IDE’s een ideale scheiding, waardoor systeembeheerders volledige toegang houden terwijl developers Docker en andere tools kunnen gebruiken.

Met werkplekken in de cloud kunnen developers omgevingen delen en klonen. Zo voorkomen ze problemen met version control, zoals het bekende ‘maar hier werkte het wel’. Cloud IDE’s maken het gemakkelijk om development runtimes te delen – net zoals GitHub het klonen simpel en leuk maakt. Docker is inmiddels bezig met specifieke containers voor ontwikkelaars om hun leven te vergemakkelijken. Ook de grote cloud-providers denken vaker aan developers en bieden steeds meer open source aan.

Al deze activiteiten wijzen op een nieuw tijdperk van agile development – een die in de belangen van zowel systeembeheerders als ontwikkelaars voorziet. De nadruk ligt op containers en open source om ontwikkeling en testen efficiënter en krachtiger te maken. De tijd van localhost lijkt binnenkort voorbij en de slag om de gebruiker in de cloud is pas net begonnen.

Kennismaken met de cloud

Bent u benieuwd hoe u cloud- en wellicht containertechnologie voor uw organisatie beschikbaar kunt maken? Of weet u niet zeker of dit een toegevoegde waarde heeft voor uw organisatie maar u wilt er graag meer over weten? Laat hieronder uw gegevens achter, dan nemen wij contact met u op.