The Azure vNet

Project Title: Deploying a Multi environment architecture on Azure.

I wanted to set up two separate Azure environments, similar to the lifecycle management approach I’ve seen in many organizations I’ve worked with. Having dedicated Development/Test and Production environments makes it much easier to build, test, and validate changes before they’re rolled out to production.
In larger enterprise environments, changes usually go through a formal change control process where every change has to be reviewed and approved before it’s implemented. Depending on the change, that approval process can sometimes take weeks.
By having separate Development/Test and Production environments, I can follow a similar workflow without the delays of change control. I can deploy and test new resources in the Development/Test environment, work through any configuration issues or unexpected problems, and then deploy the same validated changes into Production with much more confidence.

Table of Contents

    Deploy a multi environment architecture on Azure cloud to support a development Life Cycle. Common multi environment architecture development stages include:

    1. Development /Test
    2. Production

    Create an environment for each deployment stage, ensuring networking and secure the production environment with inbound and outbound networking rules.

    1. Azure Virtual Network (vNet):
      • Create a vNets to host all resources for each stage (e.g, Dev/Test, Stage and production
      • Divide the vNets into subnets for different application layers (e.g., Web, Application, Database).
    2. Subnets:
      • Web Subnet: Hosts the front-end web servers (e.g., Azure App Service or Virtual Machines).
      • Application Subnet: Hosts the application servers that handle business logic.
      • Database Subnet: Hosts the database servers (e.g., Azure SQL Database or Cosmos DB).

    4 vNet Peering:

    • Peering: establish peering between Dev/test/, Stage and production
    1. Network Security Group (NSG):
      • Create a single NSG to control inbound and outbound traffic for production vNet
      • Define rules to allow:
        • HTTP/HTTPS traffic between vNets.
        • Deny all other traffic by default.
    2. Outcomes:
      • Set up the Azure vNet and create the necessary subnets.
      • Configure vNet Peering
      • Configure the NSG and apply it to production vNet.
      • Test Network Connectivity.