Uitbreidbaarheid is een slechte reden om open source te kiezen

22 april 2021
expand commerce platform with propeller api
Inhoudsopgave

    Een paar maanden geleden ben ik met een nieuw avontuur begonnen: Propeller. Met Propeller koppelen we de kracht van digital commerce en data aan het sales team, waarmee we B2B bedrijven echt in staat stellen een optimale digitale klantreis te bieden, met minder fouten, betere klantbeleving en hogere omzet. 

    Maar ik krijg nu vaak de vraag: hé, maar is Propeller geen open source? Als oprichter van Hippo CMS (nu Bloomreach) en fervent voorstander van open source sinds 1999 heb ik natuurlijk wel iets uit te leggen 🙂

    Is Open Source in het moderne cloud tijdperk nog wel relevant?

    Er is de afgelopen jaren heel veel veranderd in de manier waarop we software gebruiken. De belangrijkste verandering is daarbij, denk ik, de opkomst van de cloud. Maar met de opkomst van de cloud is ook de manier waarop software werkt structureel veranderd. Software is veranderd van grote complexe applicaties naar veel kleine software applicaties die op een los-vast basis samenwerken. 

    Het revolutionaire concept hiervoor: de REST API, werd door Roy Fielding gepresenteerd in zijn proefschrift in 2000 en niet toevallig werd dit voor het eerst commercieel geïntroduceerd door Salesforce, één van de eerste Cloud/Software as a Service bedrijven. Amazon maakte de volgende stap doordat Jeff Bezos het bedrijf dwong in zijn beroemde API services memo dat alle interne software onafhankelijk als services met elkaar zou communiceren. 

    Het begin van de services en later microservices revolutie. En het begin van Amazon Web Services ( AWS.)

    Dit lijkt een technisch verhaal, maar het heeft enorme impact op hoe de waardeketen werkt. 

    Denk aan Adyen, een bedrijf dat eigenlijk maar een hele kleine dienst levert: betalen op de website en nu meer waard is op de beurs dan ABN Amro en ING bij elkaar. Dit bedrijf kan alleen maar bestaan dankzij deze API revolutie. Andreessen Horowitz, een van de meest vooraanstaande VC’s in de wereld, noemt het niet voor niets de API Economy. In dit filmpje leggen ze het helder uit.

    What Is an API and Why Does It Matter? [animated video] – Andreessen Horowitz (a16z.com)

    En een uitgebreidere uitleg in deze podcast: a16z Podcast | The API Economy — The Why, What, and How – YouTube

    api first by propeller

    Uitbreidbaarheid is een slechte reden om open source te kiezen

    Het zelf kunnen aanpassen en uitbreiden van de software was vroeger één van de argumenten om voor open source te kiezen. Het aanpassen van software brengt echter enorme verantwoordelijkheid met zich mee, namelijk dat het onderhouden moet worden. De ontwikkelde code en/of plug-in moet ook met een nieuwe versie van het product blijven werken en dat is vaak veel meer werk dan gedacht.

    Of je iets kan uitbreiden is afhankelijk van de architectuur van je applicatie, is deze geschikt voor uitbreiding?

    Heel veel monolithische applicaties, zoals Shopware en Magento met architecturen van rond 2000 zijn eigenlijk niet geschikt om uit te breiden. Hoe groter het team en de applicatie hoe moeilijker het namelijk is om dat goed en stabiel te doen. Dat was de reden voor de API memo van Bezos. De coördinatie om de Amazon site en applicaties goed te laten werken was zelfs binnen één bedrijf te complex. En natuurlijk al helemaal te complex als je dit als onafhankelijk partij moet doen.

    De enige juiste manier om flexibel uit te breiden is via API’s, omdat de leverancier daarbij de verantwoordelijkheid neemt dat de API blijft werken conform de specificaties die vastgelegd en gedocumenteerd zijn, terwijl hij onder water allerlei vernieuwingen en aanpassingen kan doen aan de software. De software hoeft daar dus niet open source voor te zijn. Belangrijk is dus wel hoe uitgebreid de API’s zijn. Welke onderdelen van de software zijn via een API te manipuleren? Over het algemeen: hoe meer hoe beter. 

    Moderne software zoals de Propeller Cloud is ontwikkeld op basis van microservices en een headless architectuur, hierdoor kan elk onderdeel aangepast worden en vervangen worden door een betere of meer geschikte software service. 

    Is dit dan het einde van Open Source?

    Er is meer Open Source dan ooit

    Nee. Sterker nog, er is meer open source dan ooit. Veel technologiebedrijven waaronder ook Propeller gebruiken ontzettend veel open source software om hun services mee te bouwen. 

    De software wereld is verdeeld in lagen, grofweg: 

    1. Operating Systems, Databases / Search
    2. Middleware
    3. Functionele applicaties

    De functionele applicaties zijn eigenlijk alle software waar een UI op zit en waarvan de doelgroep de business users zijn: denk aan Office of je ERP systeem of je Commerce applicatie.

    Het succes van open source heeft altijd gezeten in de eerste twee lagen. Als je kijkt naar succesvolle open source producten met een UI dan zijn dat er weinig. Ja, ja natuurlijk WordPress. Maar verder?

    Dit is ook niet zo gek. In die eerste 2 lagen werken technologiebedrijven namelijk graag samen omdat het doel van de applicaties op die laag vaak gedeeld is, maar het niet is waar de klant voor betaalt (ze concurreren er niet mee).

    Niemand zit op Facebook omdat ze React of GraphQL hebben uitgevonden. Een database moet voor zowel Amazon als Facebook, Google als voor Salesforce snel en robuust zijn met vrij duidelijk omschreven functionele eisen. Binnen open source gemeenschappen zoals de Apache Software Foundation wordt daarom door al deze bedrijven samengewerkt aan technologie op die eerste twee lagen.

    Met mijn vorige bedrijf Hippo werkten we intensief samen met Adobe aan Apache Jackrabbit (een database laag) en onze mensen dronken samen bier, wisselden ideeën uit, terwijl tegelijkertijd Hippo CMS en Adobe Experience Manager allebei als Leader in het Gartner Magic Quadrant voor Web Content Management directe concurrenten zijn.

    Met de explosie van de Cloud is er alleen maar meer geweldige open source technologie ontstaan, zoals Kubernetes en Docker. Deze open source software is veel veiliger en robuuster dan technologie die door bedrijven inhouse wordt ontwikkelt.

    Op de functionele laag ligt dit anders. Het is namelijk heel moeilijk zo niet onmogelijk om een goede UI voor eindgebruikers in de open source te ontwikkelen. Hier zit uiteindelijk altijd een bedrijf achter dat dit coördineert: WordPress is een bedrijf, Drupal is Acquia en Magento is ook een bedrijf (Adobe). 

     

    Conclusie

    Ik geloof nog steeds in de kracht van open source, maar voor uitbreidbare functionele  applicaties is open source niet het middel. Daarvoor zijn API’s het middel. Propeller heeft als eerste in de industrie een volledige GraphQL API ( de opvolger van REST), waarmee de klant of een implementatie partij elk onderdeel kan aanpassen en vervangen zonder dat de stabiliteit in gevaar komt. Voor technologiebedrijven die complexe functionele applicaties bouwen als core business hebben, is open source onmisbaar onder de motorkap, om veilige, schaalbare software te kunnen ontwikkelen.

    Jeroen foto
    Jeroen Co-founder and CEO I enjoy building strong teams with smart people.

    Welke uitdagingen heb jij voor ons?