AWS re:Invent 2022 - Amazon CodeCatalyst Dev Environments in action (DOP317)

AWS re:Invent 2022 - Amazon CodeCatalyst Dev Environments in action (DOP317)


AWS re:Invent 2022 - Amazon CodeCatalyst Dev Environments in action (DOP317)

Many developers find it more productive to work in an integrated development environment (IDE). AWS provides all of the tools you need to code, test, and debug for virtually any project. As a result, you can quickly set up a cloud development environment, switch between projects, and replicate the development workspace configuration across team members. In this session, learn how to use your development environment to work on code stored in your project’s source repositories with a supported IDE.

Learn more about AWS re:Invent at https://go.aws/3ikK4dD.

Subscribe:
More AWS videos http://bit.ly/2O3zS75
More AWS events videos http://bit.ly/316g9t4

ABOUT AWS
Amazon Web Services (AWS) hosts events, both online and in-person, bringing the cloud computing community together to connect, collaborate, and learn from AWS experts.

AWS is the world’s most comprehensive and broadly adopted cloud platform, offering over 200 fully featured services from data centers globally. Millions of customers—including the fastest-growing startups, largest enterprises, and leading government agencies—are using AWS to lower costs, become more agile, and innovate faster.

#reInvent2022 #AWSreInvent2022 #AWSEvents


Content

0.3 -> - So good morning everyone and welcome to
5.22 -> Amazon CodeCatalyst Dev Environments in action.
9.163 -> I'm Timir Karia, I'm a product manager with AWS
12.27 -> IDEs and Tools team.
14.52 -> I work across a bunch of solutions
16.35 -> that you might be familiar with.
18.45 -> So we cover AWS Cloud9, which is a browser based IDE.
25.56 -> We also own AWS Cloud Shell,
27.84 -> an on-demand terminal in the AWS management console.
32.82 -> We have the IDE toolkits, which are a set of extensions
35.79 -> for your IDE that help you work with AWS resources.
40.71 -> And today, as of this morning
43.2 -> we have development environments,
44.79 -> dev environments as we're calling them.
47.28 -> So I wanted to broadly split this talk into two pieces.
53.22 -> So in case you missed this morning
54.84 -> we launched CodeCatalyst, an integrated dev environment
58.11 -> which is a, I think a wonderful and big release for us.
64.26 -> So I'm gonna give you,
65.4 -> I'm gonna break this talk into two pieces.
67.53 -> I'm gonna give you a little overview of CodeCatalyst
69.45 -> as a whole.
72.57 -> And then I'm gonna pass it over to my colleague Rahul.
76.65 -> And he's gonna walk you through a little closer
80.04 -> how dev environments work,
81.72 -> what the benefits are, show a few demos,
84.75 -> and show you how to use them from various IDEs.
89.1 -> So that's the plan.
90.3 -> And before we get started,
92.61 -> I kind of want to get a feel for who you all are.
97.23 -> So how many folks here are,
99 -> consider themselves sort of developers
102.12 -> spending hours a day coding?
105 -> That's great.
106.5 -> And how many people are more on this sort of
108.96 -> SRE infrastructure ops side things?
113.267 -> Cool.
114.983 -> And then lastly, how many of you are familiar
118.05 -> with any of our code products?
119.85 -> So CodeBuild, CodeDeploy, CodePipeline,
123.75 -> and you've used those.
124.95 -> Terrific.
125.783 -> So this'll, this'll be great.
127.62 -> Thank you.
130.08 -> So I'm gonna walk you through quickly the agenda here.
132.72 -> So like I said a brief tour of CodeCatalyst,
136.89 -> why we built it, some of the challenges
139.44 -> facing developers that we hear about these days.
143.31 -> I wanna look at what is a dev environment?
147.75 -> What does it do for you?
148.92 -> Why do you think, why do we think it's interesting?
150.99 -> How does it work?
152.67 -> Rahul's gonna touch on all those pieces,
154.41 -> including a demo of using dev environments
156.99 -> with the default IDE that happens
158.91 -> in the CodeCatalyst website, which is Cloud9.
163.44 -> And then we're gonna look at the options available
165.69 -> for dev environments in terms of compute sizing
168.45 -> and storage and all the choices you can make.
171.96 -> Then we're gonna do a few more demos
174 -> and then we'll wrap it up with how to get started.
180.06 -> So I wanna take you on a sort of tour
182.01 -> of history here a little bit.
185.43 -> And as many of you seem to know
188.01 -> we have a set of dev tools already in Amazon, in AWS,
193.83 -> and these go from, you know from left to right on this slide
198 -> the code authoring experience, which is Cloud9,
200.61 -> the IDE toolkits you have that was installed in your IDE,
204.001 -> the SDKs all the way towards deployment, right?
207.87 -> So through CodeCommit, CodeArtifact,
209.867 -> CodeBuild, CodeDeploy.
214.65 -> And then we orchestrate that whole layer
217.26 -> with AWS CodePipeline.
220.53 -> And you know, we've shipped these services historically
225.81 -> as individual building blocks.
228 -> So this gives you an almost infinite variety
231.39 -> of secure development and deployment workflows
234.39 -> and a tremendous amount of scalability.
241.44 -> But sometimes, as we've heard from you folks and others,
247.35 -> scalability, flexibility
248.94 -> not scalability, but flexibility brings challenges, right?
252.18 -> So you don't know whether to go how to integrate something
255.81 -> with something else, which product you should use.
259.35 -> There's a lot of choice that you have to make
261.27 -> and a lot of decisions you need to make up front
264.45 -> before getting started even on a project.
267.21 -> So what are those decisions and what are the challenges?
272.28 -> You know, the first one is setting up projects
274.56 -> and integrating tools.
276.93 -> So like we said, you can bring your own tools.
280.53 -> We allow you sort of an endless mix and match
282.93 -> to integrate with our tools.
285.3 -> You might choose to use any of the code tools
287.88 -> that we have individually.
289.2 -> You might choose to use 'em together,
290.67 -> you might choose to integrate them
291.81 -> with your existing workflows somehow.
295.5 -> But this is a very specific type of build
300.42 -> that needs to happen.
305.07 -> You know, customers tell us they love the flexibility
308.04 -> and all the possibilities that are enabled
309.72 -> by the code tools individually.
312.57 -> But we're starting to understand, or we hear you that
315.69 -> you want to spend time delivering value to your customers
318.78 -> instead of configuring build tools and doing these things.
322.05 -> So we need to sort of think about another approach to this.
326.01 -> Second issue that we see automating CICD
329.97 -> and development environments.
332.01 -> So I mean if you've ever worked on a,
334.2 -> on a fairly large scale software project,
336.203 -> you know that the CICD setup can be,
339.81 -> I want use a different word,
340.77 -> let's call it challenging to get right.
344.76 -> So you know, you need to provision the right infrastructure,
347.64 -> create pipelines, create tests,
350.22 -> and ensure that changes are flowing through
352.41 -> those pipelines correctly.
353.55 -> You might even have multiple stages,
356.07 -> alpha, beta, in tag, gamma, prod,
360.241 -> and all of those pipelines and stages need to be managed.
364.14 -> It's a lot and it's great for a certain type of enterprise
367.47 -> and certain type of business, not perfect for everybody.
373.32 -> And we needed to sort of take an approach that just works.
379.71 -> The third issue that we hear from you is,
385.147 -> you know you gave us this promise of cloud development
388.11 -> and just seems that things have gotten more complex,
390.84 -> it's harder to develop now.
394.26 -> And that's the consequence of multiple tools,
399.51 -> multiple frameworks, you're working on product projects
402.9 -> in different languages across different infrastructure.
406.44 -> It does get complex quickly.
408.99 -> You're switching between working on front end code,
411.54 -> back end code, other pieces of your system.
415.71 -> And doing that takes time right now on your local machine.
422.16 -> And spoiler alert, you're gonna hear a solution to this
425.01 -> when Rahul gets on the stage.
428.16 -> So with these changes in mind,
430.05 -> you know with these challenges in mind,
432.15 -> we knew we needed to go back to the drawing board
433.98 -> and rethink how we're building and shipping
436.77 -> and developing software from scratch.
442.14 -> And this is kind of the genesis of CodeCatalyst.
447.18 -> So what is CodeCatalyst?
451.62 -> CodeCatalyst is a package of all the tools
455.55 -> that you need to build and deploy software
459.36 -> so you can move quickly from an idea to an experiment
464.07 -> to production.
466.41 -> So we put all these tools to plan author, build, test,
470.25 -> deploy applications in one box.
473.34 -> So instead of having this linear process
476.46 -> you have this more federated architecture.
479.85 -> So full disclosure, I don't want to steal any thunder
483.45 -> from my colleagues who are presenting CodeCatalyst
486.27 -> in its entirety later on,
487.68 -> and we wanna focus on dev environments today.
490.56 -> But if you can, I would encourage you to join DOP 2 0 6
495.63 -> and DOP 2 0 8 later on
497.94 -> if you want to deeper dive on CodeCatalyst as a whole.
502.02 -> So
505.08 -> that said, I will talk about just a few of the key features
510.33 -> of CodeCatalyst that I think are super interesting.
514.68 -> So we have this thing called blueprints.
516.9 -> If you're starting a new project, you know,
520.981 -> normally blueprints are scaffolded code
523.44 -> that get you started quickly with just the code side of it.
526.86 -> CodeCatalyst blueprints give you a CICD workflow,
530.91 -> a testing infrastructure,
532.41 -> source code available in multiple languages
534.39 -> and for multiple front end frameworks.
536.7 -> It makes it really easy to get started incredibly quickly,
540.72 -> get to your first build, get to your first deployment,
543.54 -> and get software out into the world.
545.7 -> And you know, we've been playing with this
546.93 -> for the last however many months,
550.02 -> it really does just work out of the box.
553.11 -> So I encourage you to give the blueprints a shot.
556.29 -> Of course you can also come with an empty project,
560.04 -> start existing, import your existing code
562.65 -> and you still get the benefit of tools
564.81 -> that all work together seamlessly.
570.45 -> CodeCatalyst also includes integrated issue tracking
574.62 -> which is actually quite nicely done.
577.62 -> It's done with Kanban boards if you're familiar with those.
582.06 -> And we also have the ability to very, very simply
587.85 -> invite your colleagues and teammates into your space.
592.32 -> And the space is sort of the top level container
595.05 -> and CodeCatalyst for your projects.
598.56 -> So you can do that just by sending an email.
600.9 -> So you enter in the email the person that you want
602.91 -> to invite,
603.743 -> boom they get an email,
604.83 -> they click on it brings them right into the space
607.856 -> and they're ready to go.
609 -> They're ready to code.
612.57 -> And so I also wanna talk about one thing
614.85 -> that's not on this slide
617.22 -> but it is my second favorite feature of CodeCatalyst
620.64 -> which is the very powerful search tool that they have.
624.63 -> So I found myself using this all the time.
627.75 -> You can search across all your projects, source code spaces,
632.25 -> every asset that you have in your CodeCatalyst space,
637.35 -> search works brilliantly.
638.82 -> So, and of course then begs the question
643.08 -> what's my favorite feature of CodeCatalyst?
646.38 -> Well that would then be development environments.
651.69 -> And development environments are built to save you time
656.22 -> reconfiguring your laptop locally every time you change
659.845 -> working on a different a different project
662.37 -> or a different task.
664.23 -> The other benefit is because you have these
666.42 -> standardized development environments,
669.93 -> you can share them across your team
671.88 -> and effectively that ends it works on my machine problems
676.29 -> which I think we're all familiar with.
679.38 -> So
682.77 -> you know, we have two benefits
684.18 -> then we have sort of the individual benefit to you
686.28 -> of not struggling to reconfigure everything
689.46 -> and across your team once it's set up once,
692.58 -> everybody benefits.
695.49 -> So that said,
696.75 -> I wanna summarize where we are with CodeCatalyst.
700.53 -> You can spend less of your time stitching tools together,
705.15 -> making decisions that might be premature for you
708.24 -> and you can always reconsider those later on.
711.84 -> So you don't need to be working with work with pipelines
716.94 -> and tooling and you can spend time shipping value
720.54 -> to your customers.
723.45 -> You know, CodeCatalyst gives you this one stop shop
725.702 -> for CICD,
728.25 -> issue tracking, testing,
730.71 -> and of course development environments.
734.01 -> So now I'm gonna pass it over to Rahul.
736.62 -> He's gonna give you a walkthrough
738.24 -> on development environments and go into a little depth
741.03 -> on how to use them from the IDEs.
744.24 -> And once again, if you invite, if you check out
747.48 -> DOP 2 0 6 or 2 0 8
750.21 -> there'll be more talk about CodeCatalysts.
752.134 -> So Rahul, over to you.
754.891 -> - Thank you Timir.
755.936 -> Hey everyone.
757.32 -> So just to recap, CodeCatalyst is one place,
760.47 -> one location for all your software development needs.
764.07 -> Now let's turn our attention to CodeCatalyst
768.06 -> dev environments.
769.41 -> In case you missed it my name is Rahul,
771.42 -> I work alongside Timir.
773.04 -> I'm a PM on the AWS IDEs team.
780.27 -> Today there are a couple of recurring problems
782.85 -> that kill developer productivity.
785.07 -> Before you begin contributing to a project,
788.1 -> you have to set up your machine,
790.41 -> you have to clone the source code locally,
792.57 -> install the right libraries, packages and dependencies.
796.41 -> Even after doing so, you have to stay up to date
799.47 -> with the latest packages.
801.33 -> More often than not, this leads to a configuration drift
805.26 -> of your development environments.
807.69 -> And at this point,
809.28 -> do you know what's the most frustrating thing to hear?
811.65 -> It works on my machine.
815.82 -> Now, before we dive deeper into dev environments,
818.82 -> let's talk a bit about IDEs, the primary productivity
822.54 -> and creativity tool for software developers.
825.69 -> So far we have been running IDEs on our laptops,
828.66 -> meaning that IDEs use local compute and storage.
831.75 -> This means the performance and configurations are restricted
834.75 -> by the hardware specs of our laptops.
838.23 -> Even as applications move to the Cloud
840.36 -> and software becomes a mix of languages and frameworks,
843.185 -> developers still primarily work on local machines
847.246 -> which tend to be underpowered for compute intensive tasks.
851.79 -> What developers tell us is that this effort to get set up
855 -> has too much overhead, is error prone,
857.91 -> and demands daily maintenance.
860.79 -> Developers can't easily switch between projects
863.46 -> without investing a lot of time getting the configuration
866.16 -> of their local machine right.
868.74 -> What if we could split IDEs into two components
871.8 -> for a better remote development experience.
878.1 -> The first component where the key strokes are entered
881.76 -> the UI of your IDE,
883.38 -> also known as thin client running locally on your laptop.
887.58 -> The second component where the key strokes are processed
890.52 -> and software is built and tested.
893.01 -> With dev environments, we split the IDE from the environment
897.21 -> and move the environment to the AWS Cloud.
902.91 -> So why do we need dev environments?
905.04 -> Let's look at a few reasons.
907.5 -> Now, a lot of time and productivity is lost
909.69 -> because what works flawlessly on my machine
912.09 -> returns all kinds of errors and warnings on Timir's machine.
916.29 -> Each project comes with its own set of dependencies.
919.05 -> For example, my flask web app needs Python 3.11
923.7 -> while my intensive flow tutorial requires Python 3.7.
928.65 -> And then I run it into all kinds of version conflicts
931.05 -> which can be extremely frustrating.
933.84 -> Because dev environments contain all the required packages,
936.81 -> dependencies and libraries, they're ready to code
941.76 -> Whenever there are IDE updates,
943.71 -> we worry about the backward compatibility issues
946.172 -> before upgrades.
948.18 -> What if you could pick the latest stable version
949.98 -> of an IDE clone your project to it,
952.68 -> test it out and to see if it's a good fit for your projects.
958.44 -> What if you're no longer constrained
960.03 -> by the hardware specs of your laptop?
962.04 -> So instead of upgrading to a new laptop you could provide-
965.22 -> you could provision dev environments that are suitable
967.74 -> for the task at hand.
973.59 -> Lastly, what if you could give your team a common view
976.56 -> of the world by creating repeatable dev environments
979.77 -> from scratch, from blueprints,
981.297 -> or from a get repository fully integrated
984.93 -> with your source code projects blueprints available
987.66 -> on CodeCatalyst and we make it easy to deploy your apps
990.69 -> to the AWS Cloud.
996.409 -> What's a dev environment?
998.37 -> Internally we think of dev environments as GIT branches
1001.61 -> for your laptop, meaning we create them as we need them
1004.64 -> and dispose them when a task is complete.
1008.18 -> Dev environments are fully managed and cloud based.
1011.15 -> You can create them when you want them
1012.74 -> you can dispose them when you're done.
1015.47 -> They can be provisioned with a single click
1017.54 -> and they can be launched in seconds.
1019.76 -> You can also configure your project repository,
1022.01 -> select or create new branches.
1025.361 -> Dev environments are supported with dev file standard
1029 -> which is an open standard that allows you to
1030.77 -> define dev environments as code.
1034.46 -> Dev files ensure that you have
1036.11 -> consistently configured environments,
1038.27 -> version control in your project repo,
1040.55 -> and for code catalyst dev environments
1043.55 -> we use a default universal file
1045.32 -> or you can create or customize your own dev files.
1049.25 -> Dev files-
1050.12 -> dev environments are also resizable as needed.
1052.97 -> You can use various CPU memory and storage configurations
1056.75 -> to match your development needs.
1058.94 -> They can be created directly from within
1060.77 -> CodeCatalyst website or your favorite IDEs
1064.34 -> which includes JetBrains and VS code.
1069.05 -> Now let's look at a few demos.
1073.07 -> Now because I love cheesecakes,
1075.35 -> I have created a cheesecake shop.
1077.24 -> As you can see, this is the CodeCatalyst console
1080.54 -> with my project and my blueprint configured in it.
1085.55 -> The, just to give you some context
1087.65 -> Cheesecake Shop is the space in here.
1089.9 -> Space is what represents your team.
1092.99 -> New York Cheesecake is a project blueprint.
1097.07 -> Now I'm going to create a new project.
1099.05 -> As you can see there are a wide selection
1101.45 -> of blueprints available.
1104.36 -> These are curated by AWS and you can pick
1107.27 -> and choose your favorite blueprint to get going.
1109.67 -> These are great for educational and experimental purposes.
1113.72 -> I'm going to select single page application
1117.05 -> and give it a name.
1125.63 -> It takes a few seconds for the application to be created.
1131.03 -> By the way, this is all actual, there's no time warp in here
1134.06 -> so this is how it actually took for me
1136.58 -> to create that project.
1144.32 -> Okay, I see a repository has been created.
1146.57 -> I have a README file.
1148.07 -> I'm going to view the repository
1152.15 -> and look at the directory structure.
1155.39 -> Blueprints come with a dev file,
1156.59 -> which is the default dev file that we provide.
1158.96 -> You can customize it or edit it as to suit your needs.
1163.07 -> I'm going to edit this particular dev file.
1167.69 -> And the reason why I'm doing so,
1168.71 -> because for my project I need NPM.
1171.32 -> So I'm going to edit it and install the NPM.
1183.32 -> So I have ready to code, copy, paste it, command.
1187.46 -> Let's have a look at it.
1188.96 -> It's a, it's a dev file command.
1191.12 -> The command line says which command will be executed.
1194.03 -> It specifies the working directory project slash spa app
1197.51 -> which is the single page app.
1200.12 -> And I also specify the event,
1202.49 -> in which case this is post start.
1204.41 -> So once the dev environment is created
1206.51 -> at that point in time, I would like this to be executed.
1210.71 -> So I'm going to copy paste it.
1217.1 -> And commit the changes.
1224.75 -> Okay, once the change has been committed
1226.61 -> I'll navigate to the dev environments menu item.
1232.67 -> When you create a dev environment
1234.02 -> you see a wide selection of IDEs.
1236.75 -> This includes AWS Cloud9,
1238.64 -> which is our browser based IDE.
1240.35 -> You also get to see Visual Studio Code
1242.3 -> and we support three JetBrains IDEs today
1245.69 -> which includes Intelligent Idea Ultimate,
1248.24 -> GoLand and Pie Jam Professional.
1250.43 -> For the purposes of this demo I'm going to select Cloud9.
1255.62 -> I'm going to clone an existing repository
1257.54 -> which is single page app.
1259.07 -> Select the main branch and give it a name.
1265.97 -> Now further down you can see dev environments
1268.22 -> can be configured with different compute
1270.32 -> and storage options.
1273.26 -> I'm going to hit edit and select the large machine size.
1283.64 -> So what is happening in the background
1285.89 -> is that we are provisioning a Cloud9 instance
1288.23 -> with all your packages and project repository
1290.48 -> correctly configured.
1291.5 -> So that it's ready to code the moment it loads up.
1300.35 -> There you go.
1302.51 -> So Cloud9 comes with a terminal.
1304.31 -> Let's look at the terminal at the bottom of the screen.
1311.15 -> I see on my, in my projects directory
1313.79 -> the single page app exists.
1318.23 -> I'm going to ignore this dialog box for now.
1323.6 -> Navigate to SPA app and I see my node modules are available.
1327.14 -> So basically this means that you can install
1329.39 -> packages dependencies by configuring your dev files.
1335.65 -> Let's look at the dev file, which is hosted in here.
1338.27 -> And you could see that at the bottom
1340.58 -> the NPM command is available.
1346.28 -> Okay, now let's look at JetBrains Gateway.
1349.01 -> For those of you are unaware,
1351.17 -> JetBrains Gateway is a compact desktop app
1354.26 -> that allows you to create remote development environments
1357.11 -> using JetBrains IDEs
1358.7 -> and you can connect to various service providers
1360.68 -> such as CodeCatalyst dev environments.
1365.99 -> Now as you can see here,
1367.46 -> I have JetBrains Gateway available on my Mac.
1370.76 -> I'm going to load it and navigate to CodeCatalyst.
1375.98 -> At this point in time I have already logged
1377.57 -> into my CodeCatalyst account
1379.85 -> so we assume we start our journey from here.
1385.46 -> Now you can see my cheesecake shop space
1387.32 -> is loaded on the top, I can see the project.
1395.27 -> And now I'm going to create a dev environment
1396.98 -> from JetBrains Gateway.
1403.91 -> As you can see there are three latest
1405.326 -> stable builds available for various JetBrains IDEs.
1409.76 -> Since this this is a flask based app,
1412.82 -> I'm going to use PieJam for my demo.
1419.27 -> I select PieJam, stick to the main branch.
1422.96 -> Again, give it an alias.
1425.42 -> And you can see those familiar compute and storage options
1428.21 -> are available here as well.
1440.12 -> And at this point, dev environment is being provisioned
1443.45 -> with all the dependencies installed for your project.
1445.79 -> And it's going to be a PieJam front end app.
1453.77 -> I'm going to, in the interest of time,
1455.12 -> I'm going to skip forward.
1465.23 -> All right, so this is the
1472.43 -> PieJam interface.
1475.16 -> As you can see, my repository is an, is available here
1477.826 -> on the left side.
1488.9 -> And as you can see at the bottom, the code is being indexed
1492.62 -> and various IDE operations are now being performed.
1496.891 -> There is an app dot pie, I'm going to flip, flip it open.
1502.64 -> And the reason why I'm in here
1504.83 -> because the Cheesecake Shop website that I have
1507.92 -> they will notice that there is something off
1509.48 -> on that website.
1510.62 -> So he messaged me and that's what I'm going to look at.
1512.99 -> What is wrong on that website and how I can fix it.
1519.08 -> So as you can see, it's rendering a simple index dot html.
1522.71 -> I'm going to run app dot pie.
1530.09 -> The cool thing about PieJam is that you can do
1532.94 -> port forwarding.
1533.773 -> So even though your environment is running in the cloud
1536.914 -> you can test your changes locally,
1539.06 -> just the way you would develop a web app locally
1541.64 -> on your machine.
1542.473 -> You can go to local host and see the changes.
1546.26 -> I'm going to select port forwarding,
1548 -> open it in the browser and the website is here.
1556.34 -> I notice that there is a typo.
1560.57 -> And now I know what needs to be fixed.
1563 -> So now I navigate back to index dot html
1567.59 -> find the problematic piece of my code,
1570.02 -> make the change and I'm going to rerun flask.
1577.82 -> I go back to the browser, do a refresh,
1581.36 -> and as you can see the change has been deployed.
1585.29 -> Once I feel good about the change I'm going to do,
1588.465 -> get commit and push and all the changes will be uploaded
1590.09 -> to the right repository.
1594.23 -> Now there are various options available
1596.93 -> for dev environments.
1598.64 -> You can start with an empty repository.
1601.399 -> You can start from a blueprint
1603.26 -> or you can create an empty dev environment.
1605.93 -> You can also choose from various machine sizes
1607.88 -> small, medium, large, or X large.
1610.31 -> In this case it's two cores, four cores,
1612.44 -> eight and sixteen cores.
1614.12 -> You also have persistent storage configurations
1616.52 -> which are available in 1632 and 64 gigs.
1619.76 -> You can also configure timeouts to save costs.
1623.18 -> These timeouts can be configured
1624.44 -> for up to eight hours and they start from 15 minutes.
1634.01 -> Now let's see what we have in store
1635.3 -> for our VS code customers.
1639.41 -> Now my colleague Mike told me about
1641.337 -> an open source repository that he created on GitHub
1644.24 -> and he asked me to check it out.
1646.55 -> I'm going to navigate to his GitHub repo
1648.59 -> and see what is it about.
1656.06 -> So what we have in here is a repository with implementations
1659.81 -> and details around
1663.53 -> various types and programming languages.
1668.48 -> And I see a ReadMe in here, which we will make use of
1670.97 -> later on.
1672.44 -> For the purposes of this demo,
1673.76 -> I cloned this GitHub repository into CodeCatalyst.
1677.66 -> And you can see the clone was done in here.
1682.88 -> It's the same file structure.
1692.72 -> Now I'm going to spin up VS code.
1696.62 -> For those of you who may be unaware,
1698.994 -> AWS has an open source plug-in called AWS Toolkit
1702.11 -> which allows you to interact with AWS
1703.94 -> right from VS code and other IDEs.
1707.21 -> I navigate to the left hand side where I see the AWS icon
1713.48 -> and I see my developer tools are being loaded.
1716.12 -> I see CodeCatalyst available in here.
1718.55 -> You can see I can perform various CodeCatalyst
1720.8 -> related actions in here.
1722.18 -> I can open an existing dev environment,
1724.34 -> I can create a new one,
1725.81 -> I can look at what commands are available to me.
1731.99 -> So now I'm going to create a new dev environment.
1740.12 -> Again, I'm going to go back to the repository.
1745.4 -> The project is still, the space is still a cheesecake shop
1749.06 -> and the project is cheesecake.
1751.31 -> And I'm going to select type
1752.51 -> and program language repository.
1754.43 -> And the main branch.
1757.19 -> Again, I'm going to give it an alias.
1763.22 -> Various configuration options.
1764.78 -> Let's go ahead and edit the compute.
1769.61 -> Edit time out to 60 seconds
1771.41 -> because I would keep on going back to my VS code frequently
1774.56 -> so I don't want it to time out quickly.
1780.08 -> And I'll hit create.
1789.86 -> So in a few minutes what happens is my repository
1792.38 -> is available in here and a new window
1794.48 -> for my remote dev environment opens up in VS code.
1801.35 -> I can look at the folder structure
1804.26 -> and open up the ReadMe file.
1815 -> Once the ReadMe file is available,
1816.44 -> I can see a bunch of helper commands
1817.91 -> that I can execute in the terminal.
1819.41 -> And that's what I'm going to go ahead and do
1820.97 -> so that I can make myself familiar with the repository.
1831.26 -> In the absence of a dev file something like this
1833.03 -> would take customers hours and now we were able
1836.03 -> to create a customized dev environment in matter of minutes.
1860.18 -> Yep, so as you can see I executed all the commands
1862.37 -> that were available on the ReadMe
1864.65 -> and that's what we have in store for VS code.
1868.25 -> Can we switch back to those slides please?
1874.19 -> CodeCatalyst comes in two tiers,
1876.02 -> free tier and standard tier.
1878.09 -> If you are interested in using dev environments
1880.46 -> free tier customers get up to 60 hours
1882.219 -> of compute usage for two cores a month per space.
1886.76 -> And if you would like to use standard tier
1888.65 -> then you get 200 compute minutes for every month per space.
1892.618 -> On standard tier, you have more compute options
1893.451 -> such as four, eight, and sixteen cores.
1897.56 -> You have more persistent storage options
1898.687 -> such as 1632 and 64 gigs of storage.
1905.87 -> Timir, do you want to take over?
1908.72 -> Thanks everyone.
1914.63 -> - Thanks Rahul.
1918.11 -> So yeah, what's next?
1920.36 -> How do you get started with CodeCatalyst?
1922.19 -> Go to the website.
1923.24 -> It's code catalyst.aws.
1925.97 -> You can create an account, super easy to do.
1931.46 -> Then I would say go into CodeCatalyst
1933.83 -> spin up a Cloud9 based environment,
1935.93 -> play with that understand how it works,
1937.91 -> play with the dev file, get comfortable with that.
1940.55 -> If you're a JetBrains user, try out Gateway.
1942.93 -> It's, it's a great experience.
1947.12 -> And of course if you're a VS code user,
1949.07 -> as Rahul said before you'll need the IDE toolkit,
1951.41 -> which you can get in the AWS marketplace,
1954.44 -> sorry, in the Microsoft VS Code marketplace.
1959 -> And then get out there and start building something cool.
1962.45 -> So we look forward to that.
1964.67 -> And again, not to harp on this
1966.71 -> but it's gonna be a good talk I think,
1969.29 -> DOP 2 0 6 and DOP 2 0 8 are both today in this afternoon.
1975.11 -> And lastly, I just wanna say thank you all
1979.07 -> and if you could fill out
1982.58 -> the session survey in the mobile app, that would be great.

Source: https://www.youtube.com/watch?v=eENxkDpW4Kc