Je wilt hypothesis-driven development, agile testing en continuous learning. Je wilt vrijheid om te vernieuwen en succesvolle applicaties ontwikkelen binnen de gestelde deadline en budget. In deze serie over de voordelen van Azure Cloud Solutions geven 15 experts hun visie op de nieuwste ontwikkelingen in agile development en de voordelen van ontwikkelen op Azure Cloud. Dit keer is cloud solution architect Chris Vugrinec aan het woord.
Azure platform
Als cloud solution architect help ik grote klanten van Microsoft met de overstap naar het Azure platform. Dat doe ik onder meer door te laten zien wat er technisch mogelijk is in de cloud. Hoe kun je bijvoorbeeld een moderne mobiele webapplicatie bouwen en laten landen op Azure? Met gebruik van open source technologie in combinatie met de bouwstenen die Microsoft Azure biedt zijn er vele mogelijkheden. Zo kun je bijvoorbeeld voor het beheer van jouw platform binnen Azure Puppet, Chef of een gelijkwaardige oplossing gebruiken. Zo heb je er minimaal onderhoud aan.
Handige app
Hoe dit werkt kan ik laten zien aan de hand van een een mobiele applicatie met een backend in Azure. De app is gebouwd voor Android en iPhone en maakt gebruik van Beacon-technologie, waarmee je mensen kunt lokaliseren in een gebouw. De beacons (sensoren) die in het gebouw hangen, zenden een signaal naar de NodeJS backend server (Azure) zodra er iemand langsloopt. Deze backend-server onthoudt jouw locatie in een Redis Cache. Een webserver (NGINX) laat een kaart van het gebouw zien met daarop realtime alle app-gebuikers en de daarbij behorende locatiegegevens. Handig als je een collega zoekt en op je app ziet dat hij bij het koffie-apparaat staat. Alle logging wordt via de zgn ELK stash (ElasticSearch Logstash en Kibana) gecentraliseerd en kan via het grafische scherm bevraagd worden.
Rechtstreeks deployen
De broncodes die ik voor de web-app heb geschreven staan in een Git-opslagplaats binnen Visual Studio Team Services (VSTS). Visual Studio Team Services is geïntegreerd met Microsoft Azure, zodat je rechtstreeks applicaties kunt deployen naar de cloud. De backend van de app heb ik verpakt als Docker-containers.
Kubernetes
De implementatie van de Docker-containers op Azure gebeurt door middel van een VSTS job op een Kubernetes Cluster. Kubernetes is een ‘open source container cluster manager’ die oorspronkelijk door Google is ontwikkeld. Met behulp van Kubernetes is het mogelijk een cluster van containers te beheren als één enkel systeem. Met behulp van Azure Container Services kan heel makkelijk een Kubernetes Cluster op Azure worden opgezet.
App beheren
Voor het beheer van de app heb ik Puppet ingeschakeld. Via de Azure Marketplace is een standaard Puppet-installatie beschikbaar gesteld. Een Master manager bepaalt de desired state van jouw platform. Updates en patches kunnen op deze manier gecontroleerd worden uitgerold. Meer info? Bekijk deze film over het gebruik van Puppet op Azure:
Wil je meer verdieping rondom dit onderwerp?
Schrijf je in voor het on demand webinar “Ontwikkelen en testen met oa Chef, Puppet of Ansible en Azure”.