Salut !
Samedi 22 Avril avait lieu le Quebec Azure Global BootCamp, je vous propose de retrouver quelques unes des présentations :
- Azure Stack Overview
- DevOps Agility using Azure and VSTS
- Expérience pratique de développement avec Azure
Salut !
Samedi 22 Avril avait lieu le Quebec Azure Global BootCamp, je vous propose de retrouver quelques unes des présentations :
Salut,
Aujourd’hui, je vous présente comment déployer Kong au sein d’une plateforme de Cloud Azure. Kong est une solution Api Management open-source basée sur Nginx, permettant de répondre à d’importants volumes de requêtes (La société Mashape éditrice de Kong offre un catalogue de 1500 APIs, générant un volume de plusieurs milliards de calls d’APIs par mois).
Afin de garantir la persistence des données, Kong permet d’utiliser Cassandra (comme dans cet article) ou PostgreSQL.
Dans un premier temps, nous allons cloner le repo de Kong pour Azure. Ce template a comme objectif de déployer une nouvelle VM : Ubuntu incluant Cassandra.
$ git clone https://github.com/Mashape/kong-dist-azure
Au sein du script deploy.ps1 nous allons éditer les informations suivantes :
Exécuter le script deploy.ps1 :
. .\deploy.ps1
Nous allons ensuite éditer les paramètres du fichier azuredeploy.parameters.json :
Valider le bon fonctionnement de Kong :
$ curl http://<DNS>.<Location>.cloudpapp.azure.com:8001
Salut !
Aujourd’hui, je vais vous présenter un outil d’infrastructure as code permettant d’automatiser le déploiement de vos infrastructures dans Azure.
Terraform (Mozilla Public License 2.0, soutenu par la société Hashicorp) est outil multi clouds vendors (Azure, Google Cloud, …) qui vous permet d’en décrire leur configuration dans un outil unique. Terraform repose sur le langage HCL.
Les 3 principales commandes de Terraform sont :
Ci-dessous un exemple d’un fichier de configuration permettant de faire le déploiement d’une VM : Windows Server 2016 avec SQL Server 2016.
# Configure the Microsoft Azure Provider provider "azurerm" { subscription_id = "your_subscription_id" client_id = "your_client_id" client_secret = "your_client_secret" tenant_id = "your_tenant_id" }
Création d’un compte de stockage:
# Create a storage account resource "azure_storage_service" "storage" { name = "defaultstor1" location = "Central US" description = "Default storage account" account_type = "Standard_LRS" }
Création d’un réseau virtuel:
# Create a virtual network resource "azure_virtual_network" "default" { name = "test-network" address_space = ["10.1.2.0/24"] location = "Central US" subnet { name = "subnet1" address_prefix = "10.1.2.0/25" } }
Création d’une VM : Windows Server 2016 avec SQL Server 2016
# Create a Windows VM with SQL2016 resource "azure_instance" "windows" { depends_on = ["azure_virtual_network.default"] name = "mytf-win-254${count.index}" image = "SQL Server 2016 RTM Developer on Windows Server 2016" size = "Basic_A1" storage_service_name = "${azure_storage_service.storage.name}" location = "Central US" username = "MonSuperUsername" password = "MonSuperMotdePasse_SuperSecure!" time_zone = "Europe/Amsterdam" virtual_network = "${azure_virtual_network.default.name}" count = "1"
Création d’un endpoint : On expose le port RDP : TCP/3389
# Create the endpoint to connect to endpoint { name = "RDP" protocol = "tcp" public_port = 3389 private_port = 3389 } }
On affiche les IPs
# Create IP address outputs output "azure-windows-vips" { value = "${join(",", azure_instance.windows.*.name)}:${join(",", azure_instance.windows.*.vip_address)}" } output "azure-windows-ips" { value = "${join(",", azure_instance.windows.*.name)}:${join(",", azure_instance.windows.*.ip_address)}"