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.
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.