1 00:00:00,300 --> 00:00:02,130 ‫Okay, so we're going to practice Copilot 2 00:00:02,130 --> 00:00:05,220 ‫and for this I'm going to follow a tutorial at this URL. 3 00:00:05,220 --> 00:00:08,730 ‫So just open copilot, links.txt, and this will get you 4 00:00:08,730 --> 00:00:11,640 ‫to this URL right here, where we're going to deploy an app 5 00:00:11,640 --> 00:00:13,620 ‫and then clean up resources. 6 00:00:13,620 --> 00:00:14,453 ‫Just so you know, 7 00:00:14,453 --> 00:00:16,890 ‫running this tutorial may cost you a little bit of money, 8 00:00:16,890 --> 00:00:18,780 ‫so if you wanna remain within the free tier 9 00:00:18,780 --> 00:00:22,260 ‫you can just have a look at what I do, but just watch. 10 00:00:22,260 --> 00:00:27,060 ‫Okay, so to launch this cloud, this Copilot CLI 11 00:00:27,060 --> 00:00:28,350 ‫I'm going to use Cloud9 12 00:00:28,350 --> 00:00:30,440 ‫because it's going to give me a CLI 13 00:00:30,440 --> 00:00:32,280 ‫in which I can run Docker. 14 00:00:32,280 --> 00:00:34,923 ‫So for this I'm going to go and open Cloud9, 15 00:00:36,330 --> 00:00:40,263 ‫then create an environment, and I'll call DemoCloud9. 16 00:00:41,370 --> 00:00:44,130 ‫And we're going to use a new EC2 instance of t2.micro 17 00:00:44,130 --> 00:00:46,410 ‫which is free tier eligible. 18 00:00:46,410 --> 00:00:50,460 ‫We'll use Amazon Linux 2, a timeout of 30 minutes, 19 00:00:50,460 --> 00:00:51,990 ‫that we'll make sure to clean up. 20 00:00:51,990 --> 00:00:53,070 ‫How do we want to access? 21 00:00:53,070 --> 00:00:56,040 ‫We'll use a Systems Manager, this is good. 22 00:00:56,040 --> 00:00:57,873 ‫And then we'll create this. 23 00:00:59,850 --> 00:01:01,890 ‫So my Cloud9 environment is now created. 24 00:01:01,890 --> 00:01:04,920 ‫I can just click here to open it, and from there 25 00:01:04,920 --> 00:01:08,613 ‫I will be able to install the Copilot CLI and the Docker. 26 00:01:09,780 --> 00:01:12,150 ‫Okay, so we're going to run some commands 27 00:01:12,150 --> 00:01:14,670 ‫and I'm going to use my terminal for this. 28 00:01:14,670 --> 00:01:17,700 ‫So let's clear this and have a look. 29 00:01:17,700 --> 00:01:20,430 ‫So we are going to first install the Copilot CLI, 30 00:01:20,430 --> 00:01:22,470 ‫so you can verify whether or not it's installed 31 00:01:22,470 --> 00:01:23,430 ‫by just typing copilot. 32 00:01:23,430 --> 00:01:26,370 ‫And as you can see right now, the command is not found. 33 00:01:26,370 --> 00:01:29,490 ‫So to do so, I'm going to use this command right here, 34 00:01:29,490 --> 00:01:31,830 ‫the first one, to install Copilot. 35 00:01:31,830 --> 00:01:33,303 ‫So let's press Enter. 36 00:01:36,120 --> 00:01:37,080 ‫And has been installed. 37 00:01:37,080 --> 00:01:40,683 ‫And if I now do copilot --version, 38 00:01:42,060 --> 00:01:44,610 ‫as you can see it says copilot version 1.25. 39 00:01:44,610 --> 00:01:46,680 ‫So that's perfect, it's installed. 40 00:01:46,680 --> 00:01:49,200 ‫Next we need to make sure Docker is installed, 41 00:01:49,200 --> 00:01:51,000 ‫but if I just type Docker, as you can see, 42 00:01:51,000 --> 00:01:52,860 ‫it has been installed and is running already, 43 00:01:52,860 --> 00:01:54,240 ‫so that's perfect for me. 44 00:01:54,240 --> 00:01:56,970 ‫I don't need to do any kind of setup. 45 00:01:56,970 --> 00:01:59,370 ‫Next, we need to actually clone a repository 46 00:01:59,370 --> 00:02:02,520 ‫that contains a sample and that sample contains Copilot. 47 00:02:02,520 --> 00:02:06,180 ‫So we're going to paste this in and clone this. 48 00:02:06,180 --> 00:02:08,730 ‫And then we do cd example/ 49 00:02:08,730 --> 00:02:10,650 ‫And as you can see, we can see in Cloud9 50 00:02:10,650 --> 00:02:15,570 ‫that's my example, dock, folder has been replicated. 51 00:02:15,570 --> 00:02:17,520 ‫And in it we'll find a Docker file. 52 00:02:17,520 --> 00:02:19,290 ‫And this is why we need to install Docker 53 00:02:19,290 --> 00:02:20,160 ‫because this Docker file 54 00:02:20,160 --> 00:02:23,850 ‫actually creates an nginx type of container 55 00:02:23,850 --> 00:02:25,740 ‫and copies index.html in it. 56 00:02:25,740 --> 00:02:28,440 ‫So we create a specified Docker container. 57 00:02:28,440 --> 00:02:31,620 ‫And this HTML will contain some, little bit of text 58 00:02:31,620 --> 00:02:33,510 ‫about the Copilot CLI. 59 00:02:33,510 --> 00:02:34,710 ‫Okay, so that's perfect. 60 00:02:34,710 --> 00:02:36,660 ‫So let's go back in here. 61 00:02:36,660 --> 00:02:37,890 ‫And what we need to do now, 62 00:02:37,890 --> 00:02:40,200 ‫is to actually initialize Copilot. 63 00:02:40,200 --> 00:02:42,330 ‫So make sure you are in the example directory, 64 00:02:42,330 --> 00:02:43,560 ‫which I am right now. 65 00:02:43,560 --> 00:02:45,060 ‫I'm going to clear this 66 00:02:45,060 --> 00:02:47,130 ‫and then we do copilot init. 67 00:02:47,130 --> 00:02:49,320 ‫So this is the Copilot CLI 68 00:02:49,320 --> 00:02:51,510 ‫and it's going to give us some questions. 69 00:02:51,510 --> 00:02:53,293 ‫And with it we're going to be able to set up 70 00:02:53,293 --> 00:02:56,100 ‫a containerized application on AWS. 71 00:02:56,100 --> 00:02:57,780 ‫So the cool thing is that, as you can see, 72 00:02:57,780 --> 00:03:00,180 ‫there's not much knowledge needed from AWS 73 00:03:00,180 --> 00:03:02,640 ‫to be able to run with copilots. 74 00:03:02,640 --> 00:03:03,870 ‫So the first question to answer is, 75 00:03:03,870 --> 00:03:05,700 ‫what is the name of your application? 76 00:03:05,700 --> 00:03:07,350 ‫And I will enter just as in the tutorial 77 00:03:07,350 --> 00:03:10,440 ‫on the right hand side, so it's copilot-guide. 78 00:03:10,440 --> 00:03:13,410 ‫Next, what is the kind of application you want to run 79 00:03:13,410 --> 00:03:14,243 ‫for the workload? 80 00:03:14,243 --> 00:03:16,380 ‫Is it a request-driven web service for App Runner? 81 00:03:16,380 --> 00:03:18,150 ‫Is it a load balanced web service 82 00:03:18,150 --> 00:03:20,730 ‫for the internet to ECS to Fargate? 83 00:03:20,730 --> 00:03:23,310 ‫Or is it just a back-end service with ECS on Fargate? 84 00:03:23,310 --> 00:03:25,710 ‫Is it a worker service to have an event queue 85 00:03:25,710 --> 00:03:27,090 ‫to ECS on Fargate? 86 00:03:27,090 --> 00:03:29,010 ‫Or is it a scheduled job? 87 00:03:29,010 --> 00:03:30,660 ‫And right now, what I want 88 00:03:30,660 --> 00:03:33,150 ‫is to have a load balanced web service. 89 00:03:33,150 --> 00:03:34,620 ‫But as you can see, based on our selection, 90 00:03:34,620 --> 00:03:36,660 ‫we'll have different types of architecture, 91 00:03:36,660 --> 00:03:38,640 ‫but all of this is handled by Copilot, 92 00:03:38,640 --> 00:03:39,990 ‫which is pretty cool. 93 00:03:39,990 --> 00:03:41,760 ‫So we have a load balance web service 94 00:03:41,760 --> 00:03:43,500 ‫and how do we want to name the service? 95 00:03:43,500 --> 00:03:45,750 ‫I will name it web-app. 96 00:03:45,750 --> 00:03:49,650 ‫Okay, so which Docker file would you like to use for this? 97 00:03:49,650 --> 00:03:50,970 ‫And there's a Docker file right here. 98 00:03:50,970 --> 00:03:55,080 ‫So we can just enter ./Dockerfile and we're good to go. 99 00:03:55,080 --> 00:03:55,913 ‫So it says, 100 00:03:55,913 --> 00:03:58,297 ‫"Ok great, we'll set up a Load Balanced Web Service 101 00:03:58,297 --> 00:04:03,067 ‫"named web-app in the application co-pilot-guide 102 00:04:03,067 --> 00:04:04,170 ‫"listening on port 80." 103 00:04:04,170 --> 00:04:06,390 ‫So it detected already the port and so on. 104 00:04:06,390 --> 00:04:08,820 ‫So now it's actually creating my infrastructure. 105 00:04:08,820 --> 00:04:11,340 ‫And as you can see, it's using CloudFormation. 106 00:04:11,340 --> 00:04:13,860 ‫And so if I go into my management Console 107 00:04:13,860 --> 00:04:15,843 ‫and now open CloudFormation. 108 00:04:18,330 --> 00:04:19,230 ‫Let's have a look. 109 00:04:20,250 --> 00:04:21,200 ‫As you can see, 110 00:04:21,200 --> 00:04:23,940 ‫there is a copilot-guide-infrastructure-roles 111 00:04:23,940 --> 00:04:26,370 ‫and other types of things that is going to be created 112 00:04:26,370 --> 00:04:27,600 ‫by Copilot. 113 00:04:27,600 --> 00:04:31,020 ‫So now all I have to do is to wait a little bit. 114 00:04:31,020 --> 00:04:34,410 ‫So now we're all set for local development 115 00:04:34,410 --> 00:04:36,360 ‫and it has created a manifest file 116 00:04:36,360 --> 00:04:39,450 ‫at copilot/web-app/manifest.yml 117 00:04:39,450 --> 00:04:41,520 ‫which contains a little bit of configuration 118 00:04:41,520 --> 00:04:45,300 ‫around our name, our type, as well as the HTTP path 119 00:04:45,300 --> 00:04:48,597 ‫we wanna match on, the image, Docker file, the port, 120 00:04:48,597 --> 00:04:50,220 ‫the CPU, memory, and so on. 121 00:04:50,220 --> 00:04:52,500 ‫And we could modify this if you wanted to modify 122 00:04:52,500 --> 00:04:54,810 ‫how we're going to deploy our application. 123 00:04:54,810 --> 00:04:56,220 ‫So we'll have one more question. 124 00:04:56,220 --> 00:04:58,380 ‫This is, do we want to deploy a test environment? 125 00:04:58,380 --> 00:04:59,610 ‫And actually, going to say no, 126 00:04:59,610 --> 00:05:01,950 ‫because we don't need a test environment. 127 00:05:01,950 --> 00:05:05,010 ‫Okay, so now we're set and what we're going to do now 128 00:05:05,010 --> 00:05:08,640 ‫is to create an environment to run our application in. 129 00:05:08,640 --> 00:05:11,670 ‫So for this, we run this copilot env init 130 00:05:11,670 --> 00:05:14,280 ‫and then we'll paste this in. 131 00:05:14,280 --> 00:05:17,010 ‫So the name is prod and the profile is default, 132 00:05:17,010 --> 00:05:19,260 ‫which means it's going to use the default credentials 133 00:05:19,260 --> 00:05:21,540 ‫that I have on my Cloud9. 134 00:05:21,540 --> 00:05:23,823 ‫So let's clear this and paste this in. 135 00:05:25,380 --> 00:05:27,990 ‫And so what I have to do is to create one more file. 136 00:05:27,990 --> 00:05:31,920 ‫So you just copy this right here, you do touch, 137 00:05:31,920 --> 00:05:35,610 ‫and then this, which is going to create a file. 138 00:05:35,610 --> 00:05:37,980 ‫And now you try again the same command. 139 00:05:37,980 --> 00:05:40,110 ‫And now this is going through. 140 00:05:40,110 --> 00:05:40,943 ‫So it says, okay, 141 00:05:40,943 --> 00:05:43,170 ‫"Would you like to use the default configuration 142 00:05:43,170 --> 00:05:45,270 ‫for new environment?" which is a new VPC 143 00:05:45,270 --> 00:05:48,300 ‫with two AZs, two public subnets and two private subnets, 144 00:05:48,300 --> 00:05:50,880 ‫with a new ECS cluster and new IAM roles. 145 00:05:50,880 --> 00:05:51,713 ‫Yes, use defaults. 146 00:05:51,713 --> 00:05:53,610 ‫But for example, you could also if you wanted to, 147 00:05:53,610 --> 00:05:55,260 ‫configure the default resources 148 00:05:55,260 --> 00:05:57,300 ‫or import existing resources, for example, 149 00:05:57,300 --> 00:06:00,540 ‫leverage an existing VPC or existing subnets, 150 00:06:00,540 --> 00:06:02,580 ‫but for now we'll just use the defaults. 151 00:06:02,580 --> 00:06:03,930 ‫So we'll press Enter 152 00:06:03,930 --> 00:06:06,840 ‫and now there is a new manifest files that get written 153 00:06:06,840 --> 00:06:09,120 ‫in environments and then prod. 154 00:06:09,120 --> 00:06:10,080 ‫Okay? 155 00:06:10,080 --> 00:06:12,660 ‫And now it's going to update all the resources 156 00:06:12,660 --> 00:06:13,590 ‫with CloudFormation again. 157 00:06:13,590 --> 00:06:15,600 ‫So let's wait a little bit, 158 00:06:15,600 --> 00:06:17,220 ‫and if we have a look in CloudFormation 159 00:06:17,220 --> 00:06:20,220 ‫and refresh our stack now we actually are creating 160 00:06:20,220 --> 00:06:23,130 ‫all the infrastructure from within the CloudFormation, 161 00:06:23,130 --> 00:06:24,600 ‫and this is quite a lot of things. 162 00:06:24,600 --> 00:06:26,460 ‫So let's wait for everything to be over 163 00:06:26,460 --> 00:06:29,280 ‫and then we'll get back to what has been created. 164 00:06:29,280 --> 00:06:32,610 ‫So now it's been deployed for the base infrastructure. 165 00:06:32,610 --> 00:06:34,830 ‫And if I go back into CloudFormation 166 00:06:34,830 --> 00:06:36,060 ‫and have a look at this stack, 167 00:06:36,060 --> 00:06:38,340 ‫so let me just have a look at this stack right here. 168 00:06:38,340 --> 00:06:41,790 ‫I'm going to fold this folder and we look at resources, 169 00:06:41,790 --> 00:06:44,670 ‫we can see that an ECR repository was created, 170 00:06:44,670 --> 00:06:47,430 ‫KMS key was created, an S3 bucket was created, 171 00:06:47,430 --> 00:06:50,820 ‫as well as an S3 bucket policy, which is very handy. 172 00:06:50,820 --> 00:06:54,000 ‫So next what we have to do is to actually go ahead 173 00:06:54,000 --> 00:06:56,580 ‫and provision our application. 174 00:06:56,580 --> 00:07:00,007 ‫So for this, let's scroll down and we're going to say, 175 00:07:00,007 --> 00:07:01,680 ‫"Okay, everything looks good." 176 00:07:01,680 --> 00:07:05,550 ‫Now we need to run a copilot env deploy names equal prod. 177 00:07:05,550 --> 00:07:06,383 ‫So let's do it. 178 00:07:06,383 --> 00:07:08,670 ‫So I just copy the command from right here, 179 00:07:08,670 --> 00:07:10,110 ‫which I know will work. 180 00:07:10,110 --> 00:07:11,460 ‫So let's do this. 181 00:07:11,460 --> 00:07:14,610 ‫And this is going to deploy our application to Copilot. 182 00:07:14,610 --> 00:07:17,100 ‫And now we have an InvalidClientTokenId. 183 00:07:17,100 --> 00:07:18,660 ‫So to resolve this, I don't love it, 184 00:07:18,660 --> 00:07:20,910 ‫but this is a restriction of Cloud9. 185 00:07:20,910 --> 00:07:23,040 ‫We have to generate some credentials 186 00:07:23,040 --> 00:07:26,220 ‫and import them into our Cloud9 environments. 187 00:07:26,220 --> 00:07:27,180 ‫So first things first, 188 00:07:27,180 --> 00:07:29,910 ‫let's go into Cloud9 and preferences. 189 00:07:29,910 --> 00:07:31,800 ‫And then I will scroll down 190 00:07:31,800 --> 00:07:36,240 ‫and I will find on the left-hand side the AWS settings. 191 00:07:36,240 --> 00:07:37,890 ‫And then you're going to disable 192 00:07:37,890 --> 00:07:40,080 ‫the AWS managed temporary credentials 193 00:07:40,080 --> 00:07:42,360 ‫because this is what is limiting us. 194 00:07:42,360 --> 00:07:45,040 ‫Next you're gonna go into IAM 195 00:07:45,900 --> 00:07:49,500 ‫and we'll create a super user that we'll delete right after. 196 00:07:49,500 --> 00:07:54,500 ‫So get into the users, then you add a user, 197 00:07:55,110 --> 00:07:58,980 ‫and it's gonna be demo-copilot. 198 00:07:58,980 --> 00:08:01,380 ‫The only thing we want to do is to provision, 199 00:08:01,380 --> 00:08:05,040 ‫so we'll say it's an admin, so it has administrator access. 200 00:08:05,040 --> 00:08:06,750 ‫And then we create this user. 201 00:08:06,750 --> 00:08:09,060 ‫We click on it, review the user, 202 00:08:09,060 --> 00:08:12,330 ‫and we're going to actually go under Security credentials 203 00:08:12,330 --> 00:08:14,370 ‫and we create access keys. 204 00:08:14,370 --> 00:08:17,220 ‫And this is for the CLI, so that's perfect. 205 00:08:17,220 --> 00:08:18,600 ‫Yes, I understand this. 206 00:08:18,600 --> 00:08:21,390 ‫Click on Next, Create access key. 207 00:08:21,390 --> 00:08:22,770 ‫And now we have the access key here. 208 00:08:22,770 --> 00:08:26,463 ‫So I'm going to type in again, aws configure, 209 00:08:28,380 --> 00:08:30,450 ‫then the access key ID copy, 210 00:08:30,450 --> 00:08:35,310 ‫and the private access key is right here, 211 00:08:35,310 --> 00:08:36,660 ‫the secret access key. 212 00:08:36,660 --> 00:08:39,810 ‫I copy it as well and I paste it here. 213 00:08:39,810 --> 00:08:42,300 ‫Okay, so now we should have given enough permissions 214 00:08:42,300 --> 00:08:44,100 ‫to Cloud9 to do its thing. 215 00:08:44,100 --> 00:08:45,240 ‫So let's clear this. 216 00:08:45,240 --> 00:08:48,993 ‫And I'm going to redeploy my application in prod. 217 00:08:50,010 --> 00:08:51,960 ‫So we're going to export the region 218 00:08:51,960 --> 00:08:53,100 ‫because we haven't configured the region. 219 00:08:53,100 --> 00:08:56,880 ‫So let's actually then configure again, Enter, Enter. 220 00:08:56,880 --> 00:08:57,780 ‫The default region name 221 00:08:57,780 --> 00:09:00,150 ‫is going to be the one I am in right now, 222 00:09:00,150 --> 00:09:03,360 ‫which is Frankfurt, so eu-central-1. 223 00:09:03,360 --> 00:09:07,230 ‫So eu-central-1. Perfect. 224 00:09:07,230 --> 00:09:10,030 ‫And the default output format is json. 225 00:09:10,030 --> 00:09:12,660 ‫Okay, so let's run one more time this command. 226 00:09:12,660 --> 00:09:15,210 ‫And now as you can see, it is working. 227 00:09:15,210 --> 00:09:18,030 ‫So now it's actually creating the infrastructure 228 00:09:18,030 --> 00:09:19,290 ‫for our prod environment. 229 00:09:19,290 --> 00:09:21,450 ‫So it's going to create an ECS cluster for us, 230 00:09:21,450 --> 00:09:23,670 ‫a security group, an internet gateway, 231 00:09:23,670 --> 00:09:26,370 ‫some private subnets, root tables, and so on. 232 00:09:26,370 --> 00:09:29,670 ‫So let's wait until everything is created. 233 00:09:29,670 --> 00:09:32,310 ‫And now all the infrastructure is created. 234 00:09:32,310 --> 00:09:33,720 ‫So if I go into CloudFormation 235 00:09:33,720 --> 00:09:36,840 ‫I should see if I go under ECS, excuse me, 236 00:09:36,840 --> 00:09:38,610 ‫I should be seeing what I want to see 237 00:09:38,610 --> 00:09:42,180 ‫which is our prod cluster that is created from Copilot. 238 00:09:42,180 --> 00:09:44,550 ‫But you can see no services are running on it yet. 239 00:09:44,550 --> 00:09:47,220 ‫That's because we need to deploy our service. 240 00:09:47,220 --> 00:09:52,220 ‫So for this, let's just run copilot deploy, press Enter. 241 00:09:52,650 --> 00:09:53,483 ‫And now it's going to say, 242 00:09:53,483 --> 00:09:54,727 ‫"Hey, I found that you've one web-app 243 00:09:54,727 --> 00:09:55,747 ‫"and I found one environment. 244 00:09:55,747 --> 00:09:58,290 ‫"So I'm going to deploy your web-app to prod." 245 00:09:58,290 --> 00:10:01,590 ‫So now it goes ahead and uses Docker to actually build 246 00:10:01,590 --> 00:10:03,480 ‫our final Docker image. 247 00:10:03,480 --> 00:10:07,470 ‫Then it pushes that Docker image into ECR, 248 00:10:07,470 --> 00:10:09,240 ‫and then from ECR is going to create 249 00:10:09,240 --> 00:10:12,270 ‫an ECS service that will be referencing that image, 250 00:10:12,270 --> 00:10:14,943 ‫and will be started on our ECS cluster. 251 00:10:15,840 --> 00:10:18,600 ‫So finally it took a bit of time, but it's done. 252 00:10:18,600 --> 00:10:21,120 ‫And what we see is that we have an ECS test definition, 253 00:10:21,120 --> 00:10:23,580 ‫an IAM role, we have an ECS service, 254 00:10:23,580 --> 00:10:26,340 ‫CloudWatch log group, an HTTP listener, 255 00:10:26,340 --> 00:10:29,610 ‫we have the load balancer with, and so on, 256 00:10:29,610 --> 00:10:30,960 ‫that have been created. 257 00:10:30,960 --> 00:10:32,580 ‫And all the complexity of thinking 258 00:10:32,580 --> 00:10:34,500 ‫about what you need to actually create 259 00:10:34,500 --> 00:10:36,630 ‫when you run an application on ECS 260 00:10:36,630 --> 00:10:39,090 ‫is taken away by Copilot. 261 00:10:39,090 --> 00:10:42,300 ‫So now if we go under CloudFormation, we see more stacks. 262 00:10:42,300 --> 00:10:44,550 ‫But if we go under ECS, now we see a service, 263 00:10:44,550 --> 00:10:47,100 ‫called the copilot-guide-prod service, 264 00:10:47,100 --> 00:10:49,440 ‫we see that one task is running in the service. 265 00:10:49,440 --> 00:10:52,650 ‫We can see also that it's linked to a load balancer. 266 00:10:52,650 --> 00:10:54,840 ‫So if I click on the load balancer name 267 00:10:54,840 --> 00:10:57,480 ‫I'm able to access it and there's the DNS name 268 00:10:57,480 --> 00:10:58,590 ‫of my load balancer. 269 00:10:58,590 --> 00:11:00,450 ‫So now I can just open a new page, 270 00:11:00,450 --> 00:11:02,700 ‫and here we go, accessing the load balancer. 271 00:11:02,700 --> 00:11:05,490 ‫And I have my copilot container running, 272 00:11:05,490 --> 00:11:07,410 ‫that just says AWS Copilot. 273 00:11:07,410 --> 00:11:10,260 ‫But at least all the infrastructure has been been deployed 274 00:11:10,260 --> 00:11:11,190 ‫by Copilot. 275 00:11:11,190 --> 00:11:12,570 ‫And even though it was pretty long, 276 00:11:12,570 --> 00:11:15,240 ‫I would say it took away all of the complexity, 277 00:11:15,240 --> 00:11:17,610 ‫which is nice because it can be very, very complicated 278 00:11:17,610 --> 00:11:19,620 ‫to configure everything perfectly, 279 00:11:19,620 --> 00:11:21,270 ‫but Copilot does it for you. 280 00:11:21,270 --> 00:11:22,320 ‫And again, what you need to remember 281 00:11:22,320 --> 00:11:25,860 ‫is that these manifest.yml files really allow you 282 00:11:25,860 --> 00:11:29,220 ‫to fine tune how you want the deployment to happen 283 00:11:29,220 --> 00:11:31,590 ‫in prod and by environment, and so on. 284 00:11:31,590 --> 00:11:33,510 ‫So have a look at these files as well. 285 00:11:33,510 --> 00:11:37,080 ‫When you are done, then comes the fun part of cleaning up. 286 00:11:37,080 --> 00:11:38,940 ‫So to clean up, very simply, 287 00:11:38,940 --> 00:11:43,140 ‫you're going to run one command called copilot app delete, 288 00:11:43,140 --> 00:11:45,210 ‫and copilot app delete is going to delete 289 00:11:45,210 --> 00:11:46,890 ‫your entire application. 290 00:11:46,890 --> 00:11:49,080 ‫So that's good to get started. 291 00:11:49,080 --> 00:11:52,110 ‫Now wait for everything to be deleted, 292 00:11:52,110 --> 00:11:55,980 ‫and then you can move on to the next phase of your deletion. 293 00:11:55,980 --> 00:11:58,380 ‫Other things you need to be able to delete 294 00:11:58,380 --> 00:12:00,360 ‫is your user and your access keys. 295 00:12:00,360 --> 00:12:02,250 ‫So let's continue. 296 00:12:02,250 --> 00:12:05,190 ‫I'm going to go ahead and actually just simply delete 297 00:12:05,190 --> 00:12:07,980 ‫this user, which is going to invalidate as well 298 00:12:07,980 --> 00:12:11,490 ‫any type of access keys that was attached to the user. 299 00:12:11,490 --> 00:12:14,310 ‫And now let's clean up our Cloud9 environments. 300 00:12:14,310 --> 00:12:17,640 ‫So you go under Cloud9 and you just simply delete it. 301 00:12:17,640 --> 00:12:21,810 ‫You type Delete to agree, and you're good to go. 302 00:12:21,810 --> 00:12:22,643 ‫And that's it. 303 00:12:22,643 --> 00:12:23,550 ‫You've done the tutorial, 304 00:12:23,550 --> 00:12:25,770 ‫you've practiced using the Copilot CLI. 305 00:12:25,770 --> 00:12:28,983 ‫I hope you liked it, and I will see you in the next lecture.