1 00:00:00,610 --> 00:00:02,130 ‫Okay, so now let's have a look 2 00:00:02,130 --> 00:00:04,230 ‫at the CodeStar service. 3 00:00:04,230 --> 00:00:05,750 ‫So we are getting into the CodeStar 4 00:00:05,750 --> 00:00:07,670 ‫and we'll create a project. 5 00:00:07,670 --> 00:00:08,810 ‫And in this project, 6 00:00:08,810 --> 00:00:11,090 ‫we have to first choose a project template, 7 00:00:11,090 --> 00:00:11,923 ‫but before we do so, 8 00:00:11,923 --> 00:00:13,700 ‫as you can see there's a warning sign saying that, 9 00:00:13,700 --> 00:00:16,480 ‫CodeStar is using an IAM service role 10 00:00:16,480 --> 00:00:17,720 ‫that we have to create first. 11 00:00:17,720 --> 00:00:20,900 ‫So let's go ahead and create this service role, 12 00:00:20,900 --> 00:00:22,520 ‫and this is done behind the scenes, 13 00:00:22,520 --> 00:00:25,070 ‫just to allow a few moments for the changes to take effects. 14 00:00:25,070 --> 00:00:28,100 ‫Okay, so next we can use a project template 15 00:00:28,100 --> 00:00:29,220 ‫and as you can see, 16 00:00:29,220 --> 00:00:31,680 ‫it's filtered by type of services 17 00:00:31,680 --> 00:00:32,690 ‫the project is running from, 18 00:00:32,690 --> 00:00:36,330 ‫so maybe Lambda, maybe running on EC2 instances, 19 00:00:36,330 --> 00:00:38,130 ‫as we can see if you go to the next page, 20 00:00:38,130 --> 00:00:39,960 ‫there's also Beanstalk and so on. 21 00:00:39,960 --> 00:00:41,470 ‫So you have choose your platform, 22 00:00:41,470 --> 00:00:43,630 ‫but also to use your programming language that you want 23 00:00:43,630 --> 00:00:45,210 ‫so maybe you're using Python, 24 00:00:45,210 --> 00:00:48,240 ‫maybe using Express.js, Java Spring and so on. 25 00:00:48,240 --> 00:00:50,960 ‫For the purpose of this demo, really it doesn't matter. 26 00:00:50,960 --> 00:00:53,440 ‫What we do, we'll just use, for example, 27 00:00:53,440 --> 00:00:56,700 ‫a Python application running on Beanstalk, 28 00:00:56,700 --> 00:00:57,820 ‫but we can choose whatever we want. 29 00:00:57,820 --> 00:01:00,500 ‫It's actually quite interesting to see what CodeStar does 30 00:01:00,500 --> 00:01:03,860 ‫based on what AWS service you're using in the backend. 31 00:01:03,860 --> 00:01:05,470 ‫So let's Click on next. 32 00:01:05,470 --> 00:01:07,470 ‫Next we need to choose the project details. 33 00:01:07,470 --> 00:01:09,624 ‫So I'll just call it Democodestar 34 00:01:09,624 --> 00:01:11,300 ‫(keyboard typing) 35 00:01:11,300 --> 00:01:12,650 ‫The project repository 36 00:01:12,650 --> 00:01:15,150 ‫so your code is going to be stored somewhere 37 00:01:15,150 --> 00:01:17,010 ‫and remember CodeStar is a service 38 00:01:17,010 --> 00:01:18,810 ‫that orchestrates everything pretty much. 39 00:01:18,810 --> 00:01:20,380 ‫So where do you want to store your code? 40 00:01:20,380 --> 00:01:23,270 ‫Is it in CodeCommit or is it in GitHub? 41 00:01:23,270 --> 00:01:24,740 ‫But we'll use CodeCommit 42 00:01:24,740 --> 00:01:27,950 ‫and we'll use whatever repository name we want. 43 00:01:27,950 --> 00:01:30,470 ‫Then because we are using Elastic Beanstalk 44 00:01:30,470 --> 00:01:33,460 ‫as a platform to deploy our CodeStar projects. 45 00:01:33,460 --> 00:01:36,340 ‫We need to configure the EC2 instances. 46 00:01:36,340 --> 00:01:39,133 ‫So we use t2.micro to remain within the (indistinct) here, 47 00:01:39,133 --> 00:01:41,900 ‫a VPC and a Subnet, as well as a Key pair 48 00:01:41,900 --> 00:01:43,100 ‫so this is a new account. 49 00:01:43,100 --> 00:01:46,110 ‫So I'm just going to create a Key pair very quickly. 50 00:01:46,110 --> 00:01:50,060 ‫So for this, I'm going to go into the EC2 console 51 00:01:50,060 --> 00:01:52,400 ‫and I'm going to create a dummy Key pair 52 00:01:52,400 --> 00:01:53,240 ‫just to get started. 53 00:01:53,240 --> 00:01:54,960 ‫So create a Key pair. 54 00:01:54,960 --> 00:01:57,750 ‫And I'll call it test, and create Key pair. 55 00:01:57,750 --> 00:01:58,625 ‫That will be it. 56 00:01:58,625 --> 00:01:59,458 ‫That'll be enough for this purpose. 57 00:01:59,458 --> 00:02:02,950 ‫So I should refresh this and the test Key pair is selected. 58 00:02:02,950 --> 00:02:04,620 ‫Next I'm going to redo everything. 59 00:02:04,620 --> 00:02:08,300 ‫So everything looks good and I will create my project. 60 00:02:08,300 --> 00:02:09,133 ‫Now, as you can see, 61 00:02:09,133 --> 00:02:11,150 ‫CodeStar will be setting up your project resources 62 00:02:11,150 --> 00:02:12,770 ‫and that will take a while. 63 00:02:12,770 --> 00:02:14,840 ‫And so there's a lot of tabs that just appear. 64 00:02:14,840 --> 00:02:17,470 ‫So let's just wait a minute or two to see 65 00:02:17,470 --> 00:02:20,200 ‫what happens in the background. 66 00:02:20,200 --> 00:02:21,970 ‫So the project has been provisioned 67 00:02:21,970 --> 00:02:24,090 ‫and it is backed by CloudFormation stack. 68 00:02:24,090 --> 00:02:26,310 ‫Now CloudFormation, we'll see it very, very soon, 69 00:02:26,310 --> 00:02:29,270 ‫but it is a way for you to set up infrastructure as code 70 00:02:29,270 --> 00:02:31,480 ‫and so, through CloudFormation stacks 71 00:02:31,480 --> 00:02:33,110 ‫we're not using directly right now. 72 00:02:33,110 --> 00:02:36,410 ‫Resources are going to be set up by different services. 73 00:02:36,410 --> 00:02:37,820 ‫So just to quickly show you, 74 00:02:37,820 --> 00:02:39,930 ‫but we'll do a deep dive on this very soon. 75 00:02:39,930 --> 00:02:43,760 ‫Okay. So now for the CodeStar project, if I scroll down, 76 00:02:43,760 --> 00:02:46,310 ‫we can see that the Project resources has been created. 77 00:02:46,310 --> 00:02:49,210 ‫So a lot of IAM policies and roles. 78 00:02:49,210 --> 00:02:50,830 ‫A CodePipeline has been created. 79 00:02:50,830 --> 00:02:53,020 ‫A CodeCommit repository has been created. 80 00:02:53,020 --> 00:02:55,810 ‫CodeBuild, CloudFormation, and Amazon S3. 81 00:02:55,810 --> 00:02:58,810 ‫So a lot of things have been provisioned already by CodeStar 82 00:02:58,810 --> 00:03:00,620 ‫things that we would have to provision ourselves 83 00:03:00,620 --> 00:03:03,040 ‫if we wanted to link all these things together. 84 00:03:03,040 --> 00:03:05,410 ‫So if we go for example, to the CodeBuild projects, 85 00:03:05,410 --> 00:03:07,730 ‫we get directly into the CodeBuild interface, 86 00:03:07,730 --> 00:03:12,190 ‫and we can go into the Build's projects, the Build history 87 00:03:12,190 --> 00:03:14,500 ‫and we can see here that a Build has been run 88 00:03:14,500 --> 00:03:16,030 ‫and that it was successful. 89 00:03:16,030 --> 00:03:17,710 ‫If we go into CodeCommit, 90 00:03:17,710 --> 00:03:20,320 ‫we can find the code of our application, 91 00:03:20,320 --> 00:03:22,440 ‫that is going to be in this repository. 92 00:03:22,440 --> 00:03:23,900 ‫And if wanted to modify it, 93 00:03:23,900 --> 00:03:25,490 ‫this would be the place to do so. 94 00:03:25,490 --> 00:03:26,900 ‫But also if you scroll down, 95 00:03:26,900 --> 00:03:28,840 ‫you can see that clear that you could see the ReadMe 96 00:03:28,840 --> 00:03:30,860 ‫directly from the CodeStar project, 97 00:03:30,860 --> 00:03:33,420 ‫which corresponds to the ReadMe file in here 98 00:03:33,420 --> 00:03:36,380 ‫in your CodeStar, the CodeCommit repository. 99 00:03:36,380 --> 00:03:39,410 ‫And finally, a CodePipeline has been created for us. 100 00:03:39,410 --> 00:03:41,900 ‫So if we go to CodePipeline, 101 00:03:41,900 --> 00:03:43,540 ‫we can see the actual Build Pipeline 102 00:03:43,540 --> 00:03:45,810 ‫so it goes from the source from CodeCommit. 103 00:03:45,810 --> 00:03:48,320 ‫Then it goes into CodeBuild to build the code. 104 00:03:48,320 --> 00:03:51,300 ‫And finally it goes into deploy stage to deploy 105 00:03:51,300 --> 00:03:54,380 ‫the BuildCode into Beanstalk, 106 00:03:54,380 --> 00:03:56,300 ‫which is backed by CloudFormation. 107 00:03:56,300 --> 00:03:58,390 ‫So we have to wait for this to finish for it to go, 108 00:03:58,390 --> 00:04:01,630 ‫but let's have a look at what we can do with CodeStar. 109 00:04:01,630 --> 00:04:03,560 ‫So if we wanted to modify the code, 110 00:04:03,560 --> 00:04:06,270 ‫we could either use something called AWS Cloud9, 111 00:04:06,270 --> 00:04:08,270 ‫which is a cloud-based IDE. 112 00:04:08,270 --> 00:04:10,800 ‫So you can modify your code in the cloud directly, 113 00:04:10,800 --> 00:04:13,030 ‫and it's ready to use in seconds, 114 00:04:13,030 --> 00:04:14,590 ‫or if you have your own IDE. 115 00:04:14,590 --> 00:04:17,700 ‫And so some very popular ones are Visual Studio, 116 00:04:17,700 --> 00:04:20,550 ‫Eclipse, the CLI, or IntelliJ. 117 00:04:20,550 --> 00:04:22,610 ‫Then you can set up your CodeStar project 118 00:04:22,610 --> 00:04:24,580 ‫with these other IDEs. 119 00:04:24,580 --> 00:04:26,400 ‫So this is a way for you to do so. 120 00:04:26,400 --> 00:04:27,960 ‫You can set up Issue tracking, 121 00:04:27,960 --> 00:04:29,180 ‫So for doing so right now, 122 00:04:29,180 --> 00:04:31,430 ‫the only option is JIRA with Atlassian, 123 00:04:31,430 --> 00:04:34,030 ‫but it's possible that one day there will be more. 124 00:04:34,030 --> 00:04:36,080 ‫And then you can also add team members. 125 00:04:36,080 --> 00:04:38,200 ‫So this is a project 126 00:04:38,200 --> 00:04:40,010 ‫and you may want to have other team members in it. 127 00:04:40,010 --> 00:04:41,550 ‫So if you click on the team members, 128 00:04:41,550 --> 00:04:42,670 ‫you go to the left hand side 129 00:04:42,670 --> 00:04:44,750 ‫and Click on add team member. 130 00:04:44,750 --> 00:04:47,960 ‫Then you can select a user or create a new IAM user, 131 00:04:47,960 --> 00:04:49,310 ‫display name, email address, 132 00:04:49,310 --> 00:04:52,630 ‫and the role for the project owner or contributor or viewer, 133 00:04:52,630 --> 00:04:54,890 ‫and to allow whether or not they can get 134 00:04:54,890 --> 00:04:57,420 ‫SSH access to the project instances 135 00:04:57,420 --> 00:05:00,730 ‫behind the Beanstalk platform, for example. 136 00:05:00,730 --> 00:05:03,840 ‫So that's it. Now let's have a look at the IDE tab. 137 00:05:03,840 --> 00:05:06,840 ‫So the IDE tab is to get you access your code. 138 00:05:06,840 --> 00:05:09,300 ‫So again, Cloud9, CodeCommit 139 00:05:09,300 --> 00:05:12,253 ‫or setting up one of these tools, for example, locally. 140 00:05:13,820 --> 00:05:15,720 ‫The repo is yet to know the time 141 00:05:15,720 --> 00:05:17,670 ‫showing you what is in CodeCommit. 142 00:05:17,670 --> 00:05:19,710 ‫The Pipeline is a quick way to get 143 00:05:19,710 --> 00:05:20,950 ‫to the CodePipeline interface 144 00:05:20,950 --> 00:05:23,810 ‫without leaving the CodeStar console. 145 00:05:23,810 --> 00:05:24,643 ‫So we can see that 146 00:05:24,643 --> 00:05:26,600 ‫we're still in the deploy phase right now. 147 00:05:26,600 --> 00:05:28,320 ‫Monitoring gives us all the metrics 148 00:05:28,320 --> 00:05:29,870 ‫once a development has happened. 149 00:05:29,870 --> 00:05:32,060 ‫And so, because the deployment has not happened yet, 150 00:05:32,060 --> 00:05:33,530 ‫we cannot Click on the new application. 151 00:05:33,530 --> 00:05:34,970 ‫So again, I'm going to pause the video 152 00:05:34,970 --> 00:05:36,070 ‫and wait a little bit. 153 00:05:37,640 --> 00:05:40,120 ‫And so now if you go to Pipeline, 154 00:05:40,120 --> 00:05:42,500 ‫we can see that the status has succeeded. 155 00:05:42,500 --> 00:05:44,497 ‫So everything was deployed into Beanstalks. 156 00:05:44,497 --> 00:05:46,700 ‫So, if I Click on view application, 157 00:05:46,700 --> 00:05:48,040 ‫I can view my implication, 158 00:05:48,040 --> 00:05:50,320 ‫which is extremely basic, I have to say. 159 00:05:50,320 --> 00:05:53,320 ‫But the important thing is that if I go now, for example, 160 00:05:53,320 --> 00:05:54,500 ‫to Elastic Beanstalk, 161 00:05:54,500 --> 00:05:56,920 ‫I should be able to find my stack right away. 162 00:05:56,920 --> 00:05:58,220 ‫So let's go into Beanstalk 163 00:05:59,260 --> 00:06:02,510 ‫and we can see that there is the application here, 164 00:06:02,510 --> 00:06:04,060 ‫and I don't know why it's degraded. 165 00:06:04,060 --> 00:06:07,420 ‫It's been deployed (indistinct) to make sure it works. 166 00:06:07,420 --> 00:06:08,510 ‫But as you can see, 167 00:06:08,510 --> 00:06:10,610 ‫it has created this Beanstalk environment 168 00:06:10,610 --> 00:06:13,200 ‫from which we get the CodePipeline deployed into. 169 00:06:13,200 --> 00:06:14,560 ‫And there's an HTP server 170 00:06:14,560 --> 00:06:16,700 ‫that responds to some requests right now. 171 00:06:16,700 --> 00:06:19,440 ‫And then we can also get access to monitoring now 172 00:06:19,440 --> 00:06:21,480 ‫that the EC2 instances are up and running. 173 00:06:21,480 --> 00:06:22,430 ‫So that could be quite helpful. 174 00:06:22,430 --> 00:06:24,583 ‫So, that's it for the overview of CodeStar, 175 00:06:24,583 --> 00:06:25,790 ‫just to get an idea of it, 176 00:06:25,790 --> 00:06:27,470 ‫but you don't need to have deep knowledge about it 177 00:06:27,470 --> 00:06:29,060 ‫because this is just a service 178 00:06:29,060 --> 00:06:32,550 ‫that allows you to combine all the other code services 179 00:06:32,550 --> 00:06:33,600 ‫and developer services 180 00:06:33,600 --> 00:06:36,260 ‫that you get to unified view for you and your team. 181 00:06:36,260 --> 00:06:37,530 ‫So when you're done (indistinct) for this, 182 00:06:37,530 --> 00:06:39,270 ‫you can just delete the projects. 183 00:06:39,270 --> 00:06:40,400 ‫And for these, you just add delete 184 00:06:40,400 --> 00:06:42,860 ‫and it will delete also the resources. 185 00:06:42,860 --> 00:06:44,090 ‫If you tick the box 186 00:06:44,090 --> 00:06:46,600 ‫and make sure that you start with a clean States, 187 00:06:46,600 --> 00:06:49,560 ‫if you try to create another CodeStar projects, that's it. 188 00:06:49,560 --> 00:06:50,393 ‫I hope you liked this. 189 00:06:50,393 --> 00:06:52,340 ‫And it will see you in the next lecture.