Onveranderbare infra structuur-CI/CD met Jenkins en terraform op virtuele architectuur van Azure

Log Analytics
Managed Disks
Virtuele-machineschaalsets
GitHub

Oplossingsidee

Als u wilt dat we dit artikel uitbreiden met meer informatie, zoals mogelijke use cases, alternatieve services, implementatieoverwegingen of prijsinformatie, laat het ons dan weten met GitHub Feedback!

Azure is een eersteklas cloud voor het hosten van virtuele machines met Windows of Linux. Of u nu Java, Node.js, Go of PHP gebruikt om uw toepassingen te ontwikkelen, u hebt een CI/CD-pijplijn (Continue integratie en continue implementatie) nodig om wijzigingen automatisch naar deze virtuele machines te pushen.

Architectuur

Architectuurdiagram Download een SVG van deze architectuur.

Gegevensstroom

  1. Wijzig de broncode van de toepassing.
  2. Code invoeren in GitHub.
  3. Continue integratietrigger voor Jenkins.
  4. Jenkins activeert een Packer-build van een image om een VM te maken en slaat deze op als een VM-afbeelding met behulp van Azure Managed Disks.
  5. Jenkins activeert Terraform voor het inrichten van een nieuwe virtuele-machineschaalset met behulp van de Azure Managed Disks VM-afbeelding.
  6. Azure Log Analytics verzamelt en analyseert logboeken.
  7. Toepassing bewaken en verbeteringen aanbrengen.

Onderdelen

  • Managed Disks:permanente, beveiligde schijfopslag voor virtuele Azure-machines.
  • Virtual Machine Scale Sets:beheer en schaal omhoog naar duizenden virtuele Linux- en Windows machines.
  • Log Analytics: verzamel, zoek en visualiseer machinegegevens van on-premises en in de cloud.
  • Visual Studio Code:bouw en implementeer apps voor meerdere platforms om het meeste uit Azure-services te halen.

Volgende stappen

Implementeren op Azure