In this step, you will update your production environment's blueprint. Specifically, you will update the Infrastructure list of the blueprint's YAML:
A. Updating the Virtual Network Details
This step is a little different for each blueprint using different cloud providers. Make sure to follow the instructions relevant for you:
For blueprints using Azure cloud
- In Azure's Management Portal, create a new virtual network with three empty subnets:
- For the application gateway. The application gateway itself is created in Azure by CloudShell Colony when the environment is deployed.
- For CloudShell Colony's Management Layer.
- For your application(s).
- In your blueprint, update your production environment blueprint with the virtual network details under the Virtual Network sequence, as follows:
- id: add the VNET name in the following format: Resource Group Name/VNET Name
- Subnet gateway: add the name of the empty subnet defined for your application gateway.
- Subnet management: add the name of the empty subnet defined for the management layer.
- Subnet application: add the name of the empty subnet defined for your application(s).
For example:
infrastructure: connectivity: green_host: ... virtual_network: id: infra_rg/prod_vnet subnets: gateway: - ag_subnet management: - mng_subnet application: - app_subnet
For blueprints using AWS cloud
AWS - As a prerequisite to the Production blueprint, the user needs to prepare a VPC that is attached to an internet gateway that contains 1 subnet for management and at least 2 application public subnets. Make sure to define the 2 application public subnets in different availability zones that reside in the selected VPC.
- In AWS Management Console, create a new VPC (virtual network) attached to an internet gateway with two empty subnets:
- For CloudShell Colony's Management Layer
- For your application(s)
- In your blueprint, update your production environment blueprint with the VPC details under the Virtual Network sequence as follows:
- id: add the AWS VPC id.
- Subnet management: add the id of the empty subnet defined for the management layer.
- Subnet application: add the ids of the empty public subnets defined for your application(s).
For example:
infrastructure: connectivity: green_host: virtual_network: id: $NETWORK_ID subnets: management: - $MNG_SUBNET_ID application: - $APP_SUBNET_ID1 - $APP_SUBNET_ID2
NOTE: To deploy, associate a production environment to an existing load balancer. Follow the directions here: Using Existing ALBs in Production Environments.
B. Updating the Green Environment Hostname
You can manage the green environment's domain in one of the following two ways:
- Defining a single hostname to access your production environment
- Defining a distinct hostname and URL path for each application in your environment
Defining a single hostname to access your production environment
In this step, you will update your production blueprint with the hostname of your green environment. Before doing so, take a moment to decide how to manage your production domain. You can choose to go with one of the following options:
-
Define two distinct hostnames: one for your production environment and another for your green environment. For example:
Production hostname Green environment hostname pm.com pm-test.com - Define a single hostname for your production environment and assign a subdomain to your green environment. For example:
Production hostname Green environment hostname pm.com pm-test.com
Now that you have your domain management in place, you can go ahead and update your blueprint as follows:
- Under the Connectivity list, add a green_host key and update its value with the hostname you assigned to your green environment. In the following example, the green hostname is updated with a subdomain:
infrastructure: connectivity: green_host: green.pm.com
Defining a distinct hostname and URL path for each application in your environment
NOTE: CloudShell Colony currently supports Ingress with AWS only.
Advanced scenarios call for more flexible configuration of your production environment’s application load balancer. For example, in cases where your environment includes multiple applications and you need to redirect the traffic to certain applications based on a URL path.
Such flexibility can be added to your environment by adding Ingress rules to your production environment's blueprint. To learn more about adding Ingress rules to your green environment, see Redirecting Traffic to Certain Production Applications
Comments
0 comments
Please sign in to leave a comment.