This video is a demo of automating the Infrastructure as Code development process with env0. A Pull Request is created to modify the capacity of EKS clusters across Development and Production environments. Pull Request Plans are verified, and the changes are merged. Deployments begin, and Slack notifications are used to validate Production is waiting for approval while Development is deployed without intervention.
Transcript
Hi, I'm Tim Davis, DevOps advocate with env0.Â
Today we're going to talk about Infrastructure-as-Code automation. So now we have our Infrastructure-as-Code automation demo organization. We have a single template file here with an EKS demo application that's linked to a single repository on GitHub. And we have two projects. We've got our development project and our production project.
Each one of those has an active deployment with each corresponding name of development and production. Let's go ahead and take a look at our code base here and it looks like we've made a change here to our EKS cluster capacity on workgroup one and workgroup two. So let's go ahead and create a pull request for that.
Excellent!Â
Now let's go back through and look at these environments. One thing that you'll notice is that development is going through here and we now have a PR plan in progress. So this is just running a dry run of the environment, telling us what's going to be different. And we'll go ahead and wait here for GitHub to update to show us what that PR actually looks like.
Great… So as we can see here, we're going to go ahead and add resources. We're not going to change anything or destroy, but that's because we're going through and pushing up the capacity in that environment. So we'll go through and we will assume that our colleague has approved this. So we'll go ahead and confirm the merge, and that's going to push that code base back to the master branch of our repository.
Now, we'll go back and check and it looks like we've changed the status again. So instead of PR playing in progress, now, we're actually going through for a deploy. So our development environment is going to go through the entire deploy. It's not going to wait for anybody. It's going to shove that right out into AWS so that our EKS clusters will be updated.
And we see that that's going through and it's running the Terraform init, then it's going to run and do all the other steps. And let's go ahead and take a look at production. Production is at deploy in progress as well. And we actually have it set up here so that Terraform Plan waits for approval so that we're not actually going through and pushing to production until somebody says that that's okay.
But how do people know that this is happening without actually having to go and start conversations or open up emails or anything like that? Well, for that, we'll go ahead and take a look at Slack. We see that we have a bunch of different notifications here, and the latest ones are showing that we have production and development deployments using the same template to the same branch.
The only difference here is that development is already done with deployment and production is actually waiting for approval. So we'll go ahead and we'll click on that. This is going to bring us directly back to that environment so that we can review the plan and then we can approve for deployment.Â
So let's take a look here. Looks like we've seen that plan. Everything's good to go. It looks great.
We'll go ahead and hit deploy and it'll finish the deployment.
This video is a demo of automating the Infrastructure as Code development process with env0. A Pull Request is created to modify the capacity of EKS clusters across Development and Production environments. Pull Request Plans are verified, and the changes are merged. Deployments begin, and Slack notifications are used to validate Production is waiting for approval while Development is deployed without intervention.
Transcript
Hi, I'm Tim Davis, DevOps advocate with env0.Â
Today we're going to talk about Infrastructure-as-Code automation. So now we have our Infrastructure-as-Code automation demo organization. We have a single template file here with an EKS demo application that's linked to a single repository on GitHub. And we have two projects. We've got our development project and our production project.
Each one of those has an active deployment with each corresponding name of development and production. Let's go ahead and take a look at our code base here and it looks like we've made a change here to our EKS cluster capacity on workgroup one and workgroup two. So let's go ahead and create a pull request for that.
Excellent!Â
Now let's go back through and look at these environments. One thing that you'll notice is that development is going through here and we now have a PR plan in progress. So this is just running a dry run of the environment, telling us what's going to be different. And we'll go ahead and wait here for GitHub to update to show us what that PR actually looks like.
Great… So as we can see here, we're going to go ahead and add resources. We're not going to change anything or destroy, but that's because we're going through and pushing up the capacity in that environment. So we'll go through and we will assume that our colleague has approved this. So we'll go ahead and confirm the merge, and that's going to push that code base back to the master branch of our repository.
Now, we'll go back and check and it looks like we've changed the status again. So instead of PR playing in progress, now, we're actually going through for a deploy. So our development environment is going to go through the entire deploy. It's not going to wait for anybody. It's going to shove that right out into AWS so that our EKS clusters will be updated.
And we see that that's going through and it's running the Terraform init, then it's going to run and do all the other steps. And let's go ahead and take a look at production. Production is at deploy in progress as well. And we actually have it set up here so that Terraform Plan waits for approval so that we're not actually going through and pushing to production until somebody says that that's okay.
But how do people know that this is happening without actually having to go and start conversations or open up emails or anything like that? Well, for that, we'll go ahead and take a look at Slack. We see that we have a bunch of different notifications here, and the latest ones are showing that we have production and development deployments using the same template to the same branch.
The only difference here is that development is already done with deployment and production is actually waiting for approval. So we'll go ahead and we'll click on that. This is going to bring us directly back to that environment so that we can review the plan and then we can approve for deployment.Â
So let's take a look here. Looks like we've seen that plan. Everything's good to go. It looks great.
We'll go ahead and hit deploy and it'll finish the deployment.