Van closed source naar zelfbouw en open source
KPN neemt het heft in eigen hand door zelf te ontwikkelen en te beheren.
Veel bedrijven schaffen standaardpakketten aan en passen hooguit wat maatwerk toe. Er zijn ook bedrijven die hiervan terugkomen en weer zelf hun software bouwen. Voor ontwikkelaars en beheerders een welkome ontwikkeling, want niets is leerzamer en leuker dan je eigen software schrijven en beheren.
Alweer vijf jaar geleden begon KPN met de bouw van een platform voor identity management. "In die tijd was er nog geen sprake van zelfbouw", vertelt Wiebe Niehof, technisch product manager bij KPN. "We hadden namelijk geen ontwikkelaars in dienst. Dus we benaderden leveranciers en vertelden wat we in gedachten hadden. Vervolgens deden we een pakketselectie, kozen twee leveranciers uit en lieten de twee omgevingen door hen aan elkaar knopen." Inmiddels is KPN weer van deze twee pakketten afgestapt en is het Grip-platform volledig opnieuw ontwikkeld. Wat is Grip precies en hoe is dit zo gekomen?
Grip-platform
Bedrijven die applicaties naar de cloud migreren, moeten bij elke cloud provider accounts aanmaken voor hun medewerkers. Dat is veel werk. Vandaar dat KPN hier een oplossing voor heeft bedacht. "Vijf jaar geleden zijn wij begonnen met een platform voor identity management genaamd Grip", vertelt Niehof. "Als klant koppel je de Active Directory aan Grip en vervolgens geef je aan welke gebruikers je toegang tot welke cloud-applicaties wilt geven. In de backend zorgen wij er vervolgens voor dat de benodigde accounts bij de verschillende cloud-leveranciers worden aangemaakt."
Daarnaast kunnen gebruikers via Grip gebruik maken van single sign-on, is er een portaal met iconen om applicaties te starten, widgets gevuld met informatie en er is een app store zodat eindgebruikers zelf nieuwe applicaties kunnen aanvragen.
Van closed software naar zelfbouw
Bij het ontwikkelen van Grip bleek al snel dat KPN te sterk afhankelijk was van de pakketleveranciers. "Eén pakket was erg instabiel en we konden het niet zelf beheren. Daarop besloten we dit pakket als eerste te vervangen door zelfbouw." De software werd volledig opnieuw ontwikkeld in Javascript en HTML5. "Voor zowel de backend als de integratie met de Active Directory van klanten gebruiken wij nu Node.JS. We ontwikkelen er open API's mee die vanuit de portal worden aangeroepen en die klanten ook zelf kunnen gebruiken. Voor de frontend gebruiken we Angular.JS en Backbone."
De voorkant is volledig responsive gemaakt, zodat klanten het portaal kunnen gebruiken met een apparaat naar keuze. "Als ontwikkelaar kun je kiezen of je aan de frontend of aan de backend wilt werken. En als je van afwisseling houdt en de uitdaging aandurft, mag je zelfs aan allebei werken."
Alles weer kwijt
Ongeveer een jaar geleden meldde de leverancier van het tweede en enige overgebleven pakket dat ze per direct stopten met het product. "Dit pakket hadden wij alleen nodig voor de single sign-on functionaliteit. Het was closed source, dus alles wat we erin hadden geïnvesteerd waren we in één klap weer kwijt." Helaas was deze software te complex om volledig zelf te bouwen. "Daarom besloten we om voor deze single sign-on functionaliteit over te stappen naar het open source pakket Open AM en hier zelf de benodigde customization op aan te brengen. Mocht hier de stekker ooit uitgetrokken worden, dan hebben we in ieder geval de code nog."
Continuous integration
Ontwikkelen aan het Grip-platform gebeurt volgens continuous integration, met Jenkins, Jira en Slack. Er wordt in DevOps gewerkt via een combinatie van Scrum en Kanban. Elke drie weken wordt een nieuwe release geautomatiseerd uitgerold via een OTAP-straat. "We stellen in Jira een flow van requirements op", vertelt Niehof. "Daarna bepalen we op basis van prioriteiten wat in welke release komt." Zo is voor iedereen duidelijk wanneer een bepaalde functionaliteit in Grip beschikbaar komt.
De productieomgeving is 7x24 beschikbaar en draait in meerdere datacenters die zich allemaal in Nederland bevinden. "We gebruiken Ultra DNS om bij uitval het verkeer te routeren naar een ander datacenter." De acceptatieomgeving is hetzelfde opgebouwd als productie. "Hiermee is Grip een complexe en erg leuke omgeving voor beheerders. Het is een uitdaging om het release-proces nog sneller te maken en verder te automatiseren. Daarnaast kent Grip verbindingen naar duizenden klanten en enorm veel cloud-diensten. Je bent hier echt een spin in het web."
Toekomstige ontwikkelingen
Nu KPN is overgestapt van closed source naar zelfbouw en open source, wordt alweer hard gewerkt aan de volgende fase van Grip. Ditmaal worden ook de cloud-diensten van KPN zelf eraan toegevoegd. Niehof: "Er is een groot aantal portalen voor de grootzakelijke markt. Elk met een eigen URL en waar klanten aparte credentials voor nodig hebben. Straks kunnen deze ook via single sign-on vanuit Grip gebruikt worden."
Daarnaast kunnen klanten dan meteen ook hun eigen cloud-applicaties of interne applicaties aan Grip toevoegen. "Dit betekent dat wij komend jaar vele duizenden extra klanten aan Grip koppelen. Verder willen steeds meer bedrijven ons portaal gebruiken voor werkplekvervanging. Als medewerker bezoek je dan met een apparaat naar keuze ons webportaal en dan kun je met één set credentials al je applicaties benaderen. Dat maakt van Grip een nog leukere omgeving voor zowel ontwikkelaars als beheerders."




Reply With Quote