Xylos brands

Aan de slag met Azure

Je hebt besloten een publieke cloud te gebruiken. Maar hoe begin je daar precies mee? Eigenlijk is het simpel: maak gewoon een proefaccount, log in bij de Azure-portal en lanceer een virtuele machine. Dat is alles: je hebt je eerste machine naar de cloud gestuurd. Spannend! Maar wat doe je daarna?

Natuurlijk willen we de honderden verschillende services van Azure ook testen, zoals IoT-oplossingen, serverloos werken met Azure Functions of een hippe chatbot gebruiken. Of misschien wil je wel je eigen toepassing maken met behulp van microservices in Docker-containers, beheerd via Azure Kubernetes Service?

1. De cloud: zie je door de bomen het bos nog?

Dat klinkt allemaal leuk. Maar al snel kom je voor dezelfde vragen te staan als toen je je on-premises datacenter installeerde: “Hoe zit het met de connectiviteit van deze oplossing? Zijn mijn bestanden veilig? Wat voor SLA heeft deze service? Heb ik een Disaster Recovery Plan? Hoe kan ik iets implementeren in Azure?” Azure biedt eindeloos veel mogelijkheden. Misschien lijkt dat wat overweldigend en durf je daardoor je cloud-ontdekkingsreis niet verderzetten voordat je een duidelijk antwoord op je vragen hebt gekregen. Zie je door de bomen het bos nog?

Bij Xylos hebben we de vragen gebundeld die onze klanten ons het vaakst stellen. We hebben ze in logische categorieën onderverdeeld en het cloud-implementatieproces gestroomlijnd. Dat noemen wij het 'Azure Virtual Datacenter': het hulpmiddel bij uitstek dat jou het nodige zelfvertrouwen geeft om aan de slag te gaan met de publieke cloud. Je vindt er onderwerpen terug zoals governance, opslag, back-up en DR, netwerken en connectiviteit. Vandaag hebben we het over een belangrijk onderwerp: Infrastructure-as-Code.

2. Bedoel je met Infrastructure-as-Code niet gewoon DevOps?

Niet echt. De term 'DevOps' wordt eigenlijk te vaak gebruikt. Vraag aan vijf mensen wat DevOps precies is en je krijgt zes verschillende antwoorden. DevOps draait rond cultuur: het creëert een samenwerkingscultuur vol vertrouwen waarin je snel en vaak nieuwe software en updates kunt uitrollen. Met DevOps creëer je een cultuur waarin niemand met de vinger wordt gewezen of waarin mislukkingen zelfs gevierd worden. Processen worden geoptimaliseerd om de hoeveelheid lopend werk te beperken. En om dit alles mogelijk te maken, moeten bedrijven vaak hun bedrijfsstructuur aanpassen.

In deze blogpost concentreren we ons op één aspect van DevOps: Infrastructure-as-Code. Waarom is dat zo belangrijk? Denk eraan dat we snel en vaak nieuwe elementen willen uitrollen. Met 'uitrollen' bedoelen we het proces dat begint wanneer iemand een bepaalde toepassing of service aanvraagt en eindigt wanneer de gevraagde toepassing of service in werking treedt. Over het algemeen zijn tijdens dit proces minstens acht menselijke tussenkomsten nodig:

  • Functionele validatie van de aanvraag
  • Technische validatie van de aanvraag
  • Een IP-adres aanvragen
  • De serveruitrol manueel starten
  • Firewallregels en loadbalancerconfiguratie aanvragen
  • Standaardinstellingen en agents instellen, back-up configureren
  • Specifieke serverrollen instellen (bv.: IIS, SQL, enz.)
  • Application binary interfaces implementeren

3. Oké, we kunnen dus efficiënter werken, maar hoe?

We willen het uitrolproces zo volledig mogelijk automatiseren – en daarbij komt Azure erg goed van pas. Er geldt namelijk één algemene standaard voor het uitrollen van resources in Azure: de Azure Resource Manager. Ter vergelijking: bij een on-premises netwerk zouden we met componenten van verschillende serviceproviders moeten werken. En die hebben elk hun eigen API. Maar eerst een beetje terminologie:

3.1 Broncontrole en continue integratie

Net zoals bij gewone ontwikkelingsprojecten gebruiken we broncontrole. Zo hebben we een gecentraliseerde opslagplek voor de configuratie, scriptmodules en alle code die we ooit hebben geschreven om software uit te rollen. Bovendien kun je dankzij broncontrole verschillende versies opslaan en op elk gewenst moment terugkeren naar een vorige versie. Door ervoor te zorgen dat de teams gedeelde repositories gebruiken, groeien we als bedrijf. Ook riskeren we niet dat er slechts een paar mensen zijn die alles over onze omgeving weten. Bij Xylos werken we graag met Azure DevOps; de toegang tot DevOps gebeurt via een git-protocol.

3.2 Onveranderde infrastructuur

Wanneer we een nieuwe versie van een toepassing uitrollen, doen we dat zonder de bestaande implementaties te upgraden. We rollen de software altijd uit op nieuwe infrastructuur. Dat heeft heel wat voordelen:

  • De uitrol wordt volledig gedocumenteerd tijdens de hele levenscyclus van de omgeving
  • Telkens wanneer je dezelfde versie van een toepassing opnieuw uitrolt, kun je hetzelfde resultaat verwachten
  • Je kunt meerdere versies van een toepassing testen, wanneer je maar wilt
  • Je kunt de software naar een vorige versie herstellen
  • Je kunt afhankelijkheden met andere componenten testen
  • Bij rampscenario's herstel je je omgeving snel

3.3 Declarative provisioning

Bij Xylos gebruiken we graag tools zoals PowerShell DSC of Ansible. Ze geven ons de mogelijkheid om 'gewenste configuraties' te maken: wij beschrijven wat we nodig hebben, de tools voeren het uit. In de praktijk betekent dit dat we geen procedurescripts schrijven waarin coderegels opeenvolgend worden uitgevoerd, maar tools gebruiken die een platform optimaal kunnen configureren volgens de beoogde doelstellingen.

4. Het resultaat

Het resultaat is een volledig geautomatiseerde uitrol van je Azure-resources. Je kunt zelfs een volledig nieuw virtueel datacenter uitrollen in minder dan 7 minuten tijd – en je weet zeker dat het voldoet aan jouw configuratiewensen.

Deel dit blogbericht

Laat een antwoord achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd.

Breng jouw kennis en skills naar een hoger niveau

Schrijf nu in voor onze nieuwsbrief en krijg maandelijks:

  • Uitnodigingen voor Xylos' events & webinars
  • De laatste blogposts en cases
  • Nieuwste IT-trends