AWS re:Invent 2022 - What's new and what's next with Amazon ECS (CON210)
AWS re:Invent 2022 - What's new and what's next with Amazon ECS (CON210)
Amazon ECS is a fully managed container orchestration service that makes it easy to run highly secure, reliable, and scalable containers. The Amazon ECS team continues to innovate for their users, delivering powerful features that deeply integrate with the rest of AWS. Join this session to hear about the latest advancements with Amazon ECS. Discover what’s new since last year’s launch of Amazon ECS Anywhere, new features of AWS Fargate, and a look ahead at the exciting enhancements to Amazon ECS.
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.48 -> - Welcome to the session.
2.19 -> My name is Nick Coult.
3.027 -> I'm the General Manager of Amazon ECS,
5.037 -> the Elastic Container Service.
6.93 -> Really excited to be here today,
8.37 -> and I'll be joined later
on stage by Akhilesh Reddy
10.71 -> who is a VP at Goldman Sachs
13.02 -> and he's got a really great
story to tell about the journey
15.57 -> that they went through at Goldman Sachs
17.28 -> with ECS Fargate Gate.
21.06 -> So what's on the agenda today?
23.52 -> First, I'm gonna spend a
little bit of time sharing
25.89 -> with you all some of the basics of ECS
28.83 -> and how I think about ECS,
31.05 -> how the team thinks about ECS,
33.173 -> that can hopefully help you understand
35.67 -> what ECS is and what it can do for you
37.92 -> and how it can help with your business,
40.53 -> with your enterprises.
42.48 -> And then we'll spend some
time talking about some
44.28 -> of the new things that
we've launched recently
45.96 -> that you may have heard of,
you may not have heard of,
47.79 -> that you might be interested in,
49.95 -> and would be happy to chat about
those things after the talk
52.17 -> to give you some more
information on those.
54.69 -> And then we'll hear from Akhilesh
57.42 -> and he'll go through this
fantastic story that I mentioned
61.17 -> that really brings together
a lot of the things
63.24 -> that I'm covering in my part of the talk.
66.24 -> And then we'll get into
what's next on the roadmap.
69.03 -> So that's kind of the agenda for today.
73.83 -> So first, I wanna spend a
little time talking about
76.95 -> what is ECS, Elastic Container Service.
80.445 -> What does that mean exactly?
84.27 -> It means a lot of things,
85.56 -> but one of the things that it
means is the control plane.
90.84 -> The control plane is the part of ECS
93.96 -> that orchestrates your
container workloads.
97.26 -> That means that it makes sure
that a container is running
100.08 -> when and where it's
supposed to be running.
102.06 -> It makes sure that things like
load balancers are connected
104.64 -> to those containers in the right way.
107.67 -> And ECS's control plane,
110.64 -> you don't hear people say this a lot,
112.14 -> but it's a serverless control plane.
114.15 -> What that means is that
to use the control plane,
117.09 -> you don't have to set up any servers,
119.01 -> you don't have to provision any resources.
120.9 -> You don't have to do anything
122.1 -> other than start using the APIs.
124.2 -> That's how a lot of AWS services work.
127.38 -> That's how most AWS services work.
129.72 -> They have a control plane that just works
131.55 -> and it's there when you need it.
135.03 -> But it's important to emphasize that point
137.13 -> because that means that
there's no management overhead
140.46 -> associated with that control plane.
142.95 -> You don't have to think about it.
145.95 -> And it works at a scale from very small.
149.49 -> You can start at very small
scale, one container, one task,
154.89 -> all the way up to 25,000
or more containers.
159.72 -> We'll talk a little bit later about some
161.19 -> of the scale numbers behind ECS.
166.817 -> And of course, this control plane
169.38 -> when you run containers in the AWS cloud,
171.51 -> is completely free.
172.343 -> You don't pay anything to
use that control plane.
175.44 -> So that's one of the things that ECS is,
177.57 -> it's a serverless container orchestrator.
182.49 -> Serverless because the
control plane is serverless.
187.83 -> Well, that's part of the story,
189.84 -> but of course, a control plane
by itself isn't very useful
192.3 -> unless you actually run some containers.
195.33 -> And so where do your containers run?
196.92 -> How can you run containers?
198.21 -> Where are the different
places and types of compute
200.16 -> that you can run containers with ECS?
203.28 -> And the term that we sometimes
use is the compute engine.
206.64 -> We also sometimes say the data plane.
208.71 -> You might hear people use
those terms interchangeably.
213.93 -> And ECS, with that same
massively scalable control plane,
219.84 -> can run containers on a variety
222.45 -> of different compute infrastructure
223.89 -> ranging from on premises,
226.02 -> can be a literally a Raspberry Pi sitting
228.84 -> on a desk or in a closet somewhere,
231.21 -> all the way to serverless,
234.597 -> the serverless compute
engine, which is AWS Fargate,
237.27 -> where you can run containers in the cloud
240.36 -> with no EC2 instances
that you have to manage.
243.78 -> And it can also run on
EC2 instances and outpost.
246.42 -> It can run on EC2
instances in AWS regions.
249.36 -> It's the same control
plane across the board.
251.04 -> And people really like the consistency
254.7 -> of that experience across
all of those environments.
256.95 -> That's one of the things that
people like about about ECS.
260.58 -> One of the most popular
options is Fargate, why?
265.5 -> Because when you pair
267.75 -> that serverless control plane
271.68 -> with a serverless compute engine,
273.72 -> now you've got serverless end to end.
276.57 -> And so let's talk a bit
more about what Fargate is.
280.68 -> Fargate a serverless compute
engine for containers.
285.66 -> So what that means is
that when you use ECS
289.65 -> as your control plane and
you provision services
293.31 -> and tasks and clusters in the ECS APIs
297.21 -> and you use Fargate as the compute engine,
300.81 -> your containers, which are
inside of a what's called a task,
305.37 -> will run without a server
that you have to manage.
309.69 -> You never have to go to the EC2 console
312.06 -> and pick an instance type and pick an AMI
315.21 -> and then click Start the Instance.
317.52 -> You never have to upgrade the
operating system or patch it
322.02 -> because there is no such thing,
as far as you're concerned.
325.83 -> There is one, but we manage it for you.
327.45 -> It's completely managed.
328.71 -> You don't see it, you're
not charged for it.
330.87 -> What you pay for is the
containers that you run.
335.1 -> And if there's no containers running,
336.3 -> you don't pay on Fargate.
339.3 -> And so you put those two things together,
342.9 -> ECS as this massively scalable
serverless control plane,
347.49 -> and Fargate is this
serverless compute engine,
349.83 -> and that's a really nice combination.
351.57 -> That's a very, very popular combination.
355.044 -> I'm gonna share a
statistic later on a slide,
358.44 -> but this is one of the reasons
why ECS with Fargate is one
362.7 -> of the most popular options for people
365.31 -> who are running containers on AWS
368.22 -> and they haven't run
containers on AWS before.
371.43 -> The majority of those
customers are choosing ECS,
374.61 -> specifically ECS with Fargate
376.56 -> because of the simplicity
that it gets you.
379.35 -> There's a bunch of other things
380.25 -> that it gets you too
that we'll talk about.
381.78 -> It's like on the security side,
384.9 -> I'm gonna talk a bit more
about why Fargate is secure.
389.4 -> It also gets you savings,
not just operational savings
392.28 -> because you don't have
to have a whole team
395.76 -> of people managing clusters of instances,
399.06 -> but cost savings on your AWS bill as well
401.52 -> because of the
pay-as-you-go pricing model.
407.25 -> On the other end of the spectrum,
408.87 -> from Fargate, is ECS Anywhere.
412.59 -> So that's another compute
engine or data plane option
416.97 -> for ECS where it's the same control plane,
421.89 -> it's the same control
plane running on the cloud.
424.68 -> You manage your resources using
those ECS APIs the same way
427.594 -> that you would if you're
running on Fargate,
430.47 -> but the actual containers can
run on hardware that you own.
436.618 -> It could be in your data
center, could be on your desk,
439.71 -> could be your laptop.
441.56 -> We've had someone on my
team who had a cluster
444.24 -> of Raspberry Pi sitting in their closet,
446.13 -> there was an an ECS cluster.
449.46 -> And some of the use cases here
are data-processing workloads
454.29 -> where maybe that data can't
leave a certain location,
458.37 -> like medical records.
460.41 -> You're doing medical image
processing and it's in a country
464.43 -> where those are required
to stay in the hospital.
468.84 -> So what you can do is you can have
470.28 -> the actual data-processing
be running in a container,
473.37 -> sitting in a server in that hospital,
476.07 -> but the workload is being orchestrated
477.93 -> by the ECS control plane
running in the cloud.
481.32 -> So that's an example of the type of things
483.51 -> that people are using ECS Anywhere for.
486.3 -> And it's really nice
because there's no stuff
489.48 -> that you have to install
other than the ECS agent
492.42 -> on that hardware that you own
494.28 -> in order to have that ECS control plane.
496.29 -> You don't have to manage
that ECS control plane.
498.42 -> It's the same one that you get the cloud.
502.89 -> So kind of put it all together,
why do people choose ECS?
506.7 -> I said that it's the most popular choice
510.54 -> for customers who are running containers
513.197 -> on AWS for the first time, why is that?
519.12 -> And this is really where we think about
521.07 -> how we help our customers
achieve their goals.
525.03 -> So faster time to market.
526.65 -> If you're building a new
product, a new service,
531.48 -> and you want to get that
out the door quickly
534.06 -> because your competitors
are moving quickly too,
536.04 -> and the faster you can get to market,
537.75 -> the better you're gonna be able
538.74 -> to achieve your business goals.
541.65 -> Whoops, accidentally went forward there.
549.78 -> And so what people really
like about ECS is the fact
553.92 -> that with this lower operational overhead
556.41 -> that you get with a managed control plane
558.81 -> and with a serverless
compute engine of Fargate,
562.05 -> you have lower operational overhead,
563.52 -> you don't need a bunch of
people focused on operations.
566.61 -> Instead, they can focus
on building your product
568.68 -> and building your service.
571.38 -> And there's no upgrades
that you have to deal with,
573.113 -> you are not upgrading the control plane
575.19 -> or dealing with compatibility
between different add-ons.
578.58 -> And all of that means you
could get to market faster.
582.57 -> Lower cost is another one.
585.57 -> With the Fargate pricing model,
587.64 -> you pay for the containers
that you're running
590.79 -> and you don't pay if you're
not running any containers.
592.68 -> If you scale up, you pay more,
593.82 -> you scale down, you pay less.
595.92 -> You're not managing utilization.
599.73 -> You don't have to think about,
601.027 -> "What is the utilization of my cluster?"
603.18 -> When you run containers on EC2 VMs
606.66 -> or you run containers
on your own hardware,
608.34 -> you have to think about utilization.
609.96 -> Utilization is, "I've got
a certain amount of CPU
613.537 -> "and memory on that
hardware that I'm running.
617.377 -> "How much of that am I actually using?
618.907 -> "And how efficiently am I packing all
620.907 -> "of those containers into
all those instances?"
623.43 -> And it's really hard to get that right.
625.961 -> It's hard to do better than
627.54 -> about 50% utilization on a cluster.
630.96 -> With Fargate, you're not managing
utilization, it goes away.
635.28 -> You're not paying anything if
you're not running anything
637.11 -> and you only pay for the
containers that are running.
641.91 -> Security is another one.
644.76 -> So because ECS is an AWS service,
648.06 -> it works out of the box with
IEM, so all of the same roles,
652.815 -> the same policies that
you define in an IEM,
655.89 -> they work with ECS.
659.16 -> It has a pretty long list
of security certifications,
662.37 -> compliance certifications
that we'll go through later.
666.81 -> Integrates with other
AWS security services
669.54 -> and also with Fargate,
and we'll get into how,
672.06 -> but Fargate offers a really
unique level of isolation
675.84 -> in the data plane that
you actually don't get
678.72 -> when you're running containers on EC2.
681.99 -> And so you put all these things together
683.43 -> and this is why people are choosing ECS.
685.68 -> These are kind of the three
big things that we're seeing.
690.78 -> And we're really aiming
to double down on these
693.45 -> in our product roadmap
694.44 -> and you'll see that in some of the things
696.21 -> that we've launched and some
of the things that are coming.
701.52 -> I want to talk a little
bit about the scale
703.47 -> because sometimes people ask,
709.717 -> "How big can we get on ECS?
711.337 -> "It sounds like it's great
712.417 -> "if you're just getting started.
715.297 -> "Does that mean that
we're gonna outgrow it?
717.037 -> "Does that mean that our
business is gonna get too big
719.797 -> "and we're not gonna be
able to run on ECS anymore?"
723.24 -> Well, I wanna tell you a little
bit about the scale of ECS.
728.079 -> So the core unit of
compute on ECS is a task,
733.74 -> you probably know that already,
735 -> that's a group of one or more containers.
738.35 -> And ECS, that control
plane that I talked about
741.33 -> is responsible for ensuring
that when a customer wants
744.39 -> to run a task, that it gets run.
747.54 -> We call that a task launch.
749.13 -> And we do right now 2.25 billion
752.153 -> of those per week worldwide.
754.44 -> So that's kind of gives
you a sense of the scale
756.99 -> that ECS is operating at.
758.88 -> Pretty big scale, there's
thousands per second.
765.66 -> And in fact,
768.21 -> that scale, although it is huge,
770.67 -> we're continuing to focus on performance
774.48 -> on making that 2.25
billion number even bigger
778.02 -> because we want our customers to be able
780.69 -> to move as fast as possible.
782.996 -> And there are many different processes
786.39 -> where the speed at which
you can launch containers
789.06 -> and the rate at which you can launch them
790.41 -> actually does determine the
agility of your developers.
794.28 -> So one of those is around the throughput
797.31 -> of our control plane.
799.56 -> Not the aggregate throughput,
801.03 -> which is that 2.25 billion number,
803.97 -> but the individual
per-customer throughput.
806.1 -> How many tasks can I launch per second?
809.01 -> If you're a small customer,
810.249 -> you might never run more
than 20 or 30 at a time
813.06 -> and you might not care.
814.5 -> But then as your business grows
815.91 -> and suddenly you're running
500 or 1,000 or 2,000 tasks
820.5 -> and now you want to go do a deployment,
822.48 -> the speed at which you could
deploy those tasks matters.
826.2 -> And so we've worked really
hard to improve the speed
829.53 -> of launching tasks in ECS,
833.001 -> which then increases the speed
with which you can deploy.
836.91 -> And we have customers,
839.76 -> like we had one customer
841.47 -> that was launching 500
tasks on EC2 instances,
846.18 -> and then there's sort of two
things that has to happen,
848.46 -> there's the task-launching
849.48 -> and then EC2 instances have to scale.
852.72 -> And back in 2020, that was taking them
854.7 -> like 90 minutes to do,
which is way too slow.
857.79 -> Because of the improvements
that we did throughout 2021,
860.7 -> they brought that down to 15 minutes.
862.44 -> We had another customer that
was deploying 100 tasks.
866.28 -> That's a pretty good size service.
868.26 -> And it was taking five minutes to do that
871.017 -> and we brought it down under 90 seconds.
873.6 -> So now they can do a
deployment at 90 seconds.
876.18 -> You might think, "Well,
what's the difference
877.537 -> "between five minutes and 90 seconds?"
879.6 -> But if you're a developer, and you deploy,
884.73 -> you have to wait five minutes.
887.01 -> I mean, I've been a developer
888.06 -> and I know how frustrating it is to be
889.56 -> like working on something and then,
891.247 -> "Oh, I have to sit and wait five minutes.
892.537 -> "What am I gonna do for
five minutes," right?
894.57 -> It's really unproductive.
895.92 -> The shorter you make
that development loop,
897.93 -> the more productive the developers are,
900.24 -> the quicker you're gonna
discover a defect, right?
902.43 -> And fix it, you want that inner loop
904.68 -> to be as fast as possible.
905.91 -> So this speed at which
you can deploy on ECS
909.03 -> is actually impacting
developer productivity.
912.51 -> What I love about the ECS
control plane is the fact
915.51 -> that as a customer, you didn't have
917.88 -> to do anything to get this benefit.
920.22 -> You just keep using ECS,
and one day it's faster,
922.92 -> and the next day it's even faster.
924.87 -> That's the benefit of a managed service
926.88 -> in a managed control plane.
928.98 -> There's nothing that you have to do.
930.3 -> There's no button you click.
931.38 -> You don't pay more, it just happens.
938.1 -> Security, I mentioned this before.
939.69 -> I'll go into a little
bit more detail here.
941.4 -> And in particular, I want to talk
942.6 -> about the Fargate security model.
947.301 -> So of course, we have a number
948.93 -> of certifications for compliance.
951.93 -> We've implemented best
practices that enable customers
955.29 -> to implement least-access
controls using IAM
958.41 -> and security groups like network security.
961.89 -> And that's all kind of standard.
964.92 -> We have to be doing that.
968.73 -> What's pretty special about Fargate is
972.03 -> what it does in the data plane.
975.06 -> So I'll get a little technical here.
978.69 -> When you run a container
982.285 -> on a Linux machine,
985.2 -> that container is actually just a process.
988.8 -> That's what a container
is, it's a Linux process,
990.96 -> just like any other process.
993.09 -> And it is isolated from other processes
995.91 -> on that same host using the Linux kernel.
1001.586 -> And that is reasonably secure.
1003.56 -> But there have been
1007.61 -> issues where there's been the ability
1012.35 -> to actually break out of a container
1014.72 -> through the Linux kernel
1016.31 -> into other containers on the same host.
1018.23 -> It's not common, but it does happen.
1023 -> Now, Fargate on the other
hand, when you run a task,
1027.53 -> let's say you have a task
that has one container in it
1029.99 -> and you run that task on Fargate,
1032.21 -> what we're doing behind the scenes is
1033.95 -> we are running that on a dedicated host.
1037.37 -> And so there are no other
containers on that same host.
1041.57 -> So even if there was some sort
of issue in the Linux kernel
1046.07 -> that allowed that container
to access the kernel in a way
1050.06 -> that wasn't intended,
there's nothing for it to do.
1052.91 -> It can't get to anything else
1054.35 -> because it's isolated through
a virtual machine boundary.
1058.79 -> And this is a level of
isolation that you don't get
1063.02 -> through other ways of running containers,
1066.05 -> like running on a VM using the standard
1070.22 -> Linux container methods
that are out there.
1073.274 -> And so this is something
1074.107 -> that's really special about Fargate,
1075.65 -> is that you get that isolation
by design in Fargate.
1081.53 -> You know that you're not
gonna be exposed to those type
1085.67 -> of container security issues.
1089.12 -> Now, the containers in a single task,
1092.45 -> they are running on the
same host in Fargate,
1095.54 -> but it's usually expected
that the containers
1097.64 -> that are in the same task should
have access to each other.
1100.25 -> There's a reason they're
running in the same task.
1102.383 -> They're providing functionality
that is tightly coupled
1105.86 -> and that's why you put them into a task.
1108.92 -> And so this is really important
1111.53 -> if you have workloads, for example,
1113.99 -> that have different sensitivity levels
1115.67 -> and you want to make sure
1116.503 -> that they're isolated from each other,
1118.61 -> that happens automatically on Fargate.
1120.17 -> You don't have to do anything.
1126.26 -> And so security is something also
1128.06 -> that we're just continually innovating on.
1131.39 -> We're continually investing
in and adding capabilities,
1134.24 -> both within the data plan
and control plan of ECS
1137.54 -> as well as through the
security services AWS offers.
1145.097 -> On that same topic of scale and security,
1149.3 -> one of the things that you benefit from
1150.86 -> when you're an ECS
customer is the fact that
1155.42 -> ECS powers Amazon.
1157.34 -> And actually there are a number
1159.5 -> of AWS services as well as amazon.com
1163.94 -> consumer website services that run on ECS.
1169.7 -> And so people sometimes ask,
1171.8 -> like I said before, "Are we
gonna get too big for ECS?"
1175.217 -> And my response is, well,
1176.96 -> are you gonna get bigger than Amazon?
1179.84 -> Because if not, you're
not gonna outgrow ECS.
1182.9 -> So don't worry about it.
1184.999 -> But more importantly, what you
benefit from here is the fact
1188.33 -> that we are testing ECS for scale,
1191.63 -> for performance, for
availability, and for security
1195.44 -> at a level that is beyond
1196.73 -> what most customers would ever ask for.
1199.34 -> But because we're doing that,
1201.324 -> you all benefit from that, right?
1203.48 -> You benefit from the scale
that Amazon is running at.
1208.099 -> And so that's one of
the reasons why I like
1209.84 -> to share this about ECS,
is those performance
1213.38 -> and security improvements
that we're doing,
1214.85 -> we're doing it for you, we're
also doing it for Amazon,
1217.13 -> and we're gonna keep doing them.
1222.23 -> We also have quite a number of partners
1224.57 -> that we work closely with,
this is not a complete list,
1228.14 -> in the areas of monitoring and logging,
1230.3 -> and security and DevOps.
1232.37 -> ECS is actually quite extensible system.
1234.92 -> There's lots of different
ways that you could do things.
1237.68 -> You don't have to just do it the the way
1239.69 -> that cloud formation would
have you do it, for example.
1243.32 -> You can use Terraform, lots of
folks use Terraform with ECS.
1249.38 -> So with that, then I want to transition
1251.36 -> into talking about what's new,
1252.893 -> what are some of the new capabilities,
1255.02 -> and I wanna spend the most
time on the first one here,
1262.01 -> and just share a little
bit about the philosophy
1263.99 -> of how we build features in ECS.
1266.6 -> We use this term working
backwards from our customers.
1269.3 -> And what does that mean?
1270.62 -> That means we start with
you and your problem.
1274.94 -> It doesn't necessarily
mean that you tell us,
1277.617 -> "Go build feature X," and
we'll go build feature X.
1280.1 -> Sometimes it is that, but sometimes it's,
1281.929 -> "I have a problem," you say that to us,
1285.38 -> and then we figure out what
is your problem in detail
1288.44 -> and then go build a solution for that.
1290.99 -> And with ECS, some of the
things that we've heard is
1295.4 -> that we really want to be focusing
1296.78 -> on applications and not infrastructure,
1298.55 -> that you as customers don't want
1300.05 -> to have to think about
managing infrastructure.
1302.09 -> So applications first.
1304.19 -> The infrastructure
should be customized only
1307.79 -> to the extent necessary
to meet the requirements
1310.04 -> of the application.
1311.87 -> Scaling should almost require no thought,
1316.07 -> it should just happen.
1318.41 -> And security and isolation
need to be built in by design.
1321.38 -> So those are some of
the sort of core tenets
1323.48 -> on our roadmap here.
1326.66 -> And so one of the big things
1327.68 -> that we launched earlier this week
1329.39 -> that I'm super excited about
1331.07 -> is this thing called ECS Service Connect
1333.53 -> that fits squarely within those tenets,
1336.62 -> those principals that I
was just talking about
1338.54 -> for how we build features.
1339.62 -> So Service Connect...
1346.1 -> Gives you the benefits of a service mesh
1348.26 -> without you having to
actually use a service mesh.
1351.65 -> And if you're not familiar
with a service mesh,
1353.36 -> a service mesh gives you
the ability to do things
1356.66 -> like load balancing
requests between services,
1361.34 -> automatically retrying requests that fail,
1364.43 -> getting HTP metrics like
the number of requests
1369.2 -> and the number of failures
and so forth as metrics
1373.28 -> automatically from the traffic
going between your services.
1378.53 -> What Service Connect does is
it gives you those capabilities
1382.34 -> without requiring you to
actually use a service mesh.
1386.54 -> It's very simple, you
give your service a name,
1389.84 -> you can specify a protocol
like HTP, port number,
1394.64 -> now your service can
talk to other services
1398.39 -> and the traffic between those services
1400.37 -> will be managed using Service Connect.
1403.55 -> It's a very simple
experience, way, way simpler
1406.51 -> than service meshes have
been done in the past.
1409.28 -> So this is one of those things that,
1412.25 -> it's faster time to market,
1414.08 -> in terms of our product management tenets,
1416.36 -> our product management principles,
1418.85 -> it's application-first, right?
1420.77 -> Instead of saying,
1422.157 -> "Start with a bunch of
networking infrastructure,"
1424.7 -> we say, "Start with your application,"
1426.8 -> and how do they need
to talk to each other?
1428.36 -> Which applications need
to talk to each other?
1430.76 -> Which services need to talk to each other?
1433.94 -> So we've just launched
this earlier this week,
1436.88 -> we have a lot of plans for it.
1438.8 -> Definitely encourage you to try it out.
1440.48 -> If you have feedback,
requests that you want,
1443.45 -> feature requests that you want to give us,
1444.8 -> I'd love to hear those.
1445.76 -> We can chat in a hall afterwards
1447.32 -> or we also have a public roadmap
1449 -> where we'd love to hear
those kind of things.
1453.83 -> Another one that we launched recently
1456.965 -> on Fargate is larger task sizes.
1459.95 -> So when you use Fargate,
1462.14 -> one of the things that
you do is you specify,
1464.277 -> "How much CPU and memory do
I want this task to have?"
1467.6 -> I can say two vCPUs and four
gigs of memory, for example.
1471.492 -> And most of the time in a
microservices architecture,
1474.56 -> it's pretty common to
have fairly small tasks
1477.44 -> because you wanna do horizontal scaling.
1479.45 -> You wanna, if you need
more CPU and memory,
1482.93 -> what you do is you run more
tasks, you run more replicas.
1486.59 -> But there are some workloads
where that doesn't work.
1489.41 -> You might be doing data processing
1491.36 -> where you have to be
loading a big data set
1495.23 -> into memory on the same machine
1498.59 -> and have a bunch of threads all processing
1500.75 -> that data using shared memory.
1503.39 -> And you can't horizontally scale that.
1506.699 -> And so what we did is we
added some additional options
1511.713 -> about four times bigger on CPU and memory.
1513.98 -> So now you can go up to 16
vCPUs and 120 gigs of memory.
1518.96 -> And that's one of the examples where
1521.27 -> what we're doing is we're
investing in Fargate
1523.49 -> to enable more and more workloads.
1526.46 -> It's already one of the
most popular options,
1528.59 -> but we really want to get to the point
1530.96 -> where there's virtually,
1532.61 -> not, no, I mean, there will
always be specialized things,
1535.04 -> but where we get the vast majority
1537.35 -> of applications can run on Fargate,
1539.78 -> that we have the right set of capabilities
1542.33 -> so that you can run on Fargate.
1543.913 -> So GPUs is another example
where that's on our roadmap.
1546.65 -> Like right now you can't
use a GPU with Fargate,
1550.97 -> but you'll be able to do that,
1552.14 -> which means he'll be able to do things
1553.4 -> like machine learning on
Fargate completely serverlessly.
1557.96 -> So we're gonna be continuing
to invest in the performance
1561.32 -> and security and capabilities of Fargate.
1564.497 -> And this is just a few of the things
1566.6 -> that we've done recently.
1569.57 -> For folks that are getting started on ECS,
1572.75 -> the console is very popular.
1575.39 -> They use that to go through
and get things set up
1577.61 -> like some of the
infrastructure that they need
1580.34 -> or task definitions or
services or clusters.
1583.436 -> And so we're adding a
whole bunch of things
1585.5 -> and workflows in the console
1586.67 -> to make it even easier to get started.
1588.86 -> Things like adding open telemetry
1591.14 -> to your service with
one click, for example.
1594.352 -> So that's another area that's a
1596.54 -> continued area of investment for us.
1601.55 -> Application-first interfaces.
1605.24 -> So we, in addition to building some
1608 -> of those constructs
directly into ECS itself,
1610.91 -> we have a number of areas of tool sets
1614.384 -> outside of ECS that work with ECS.
1617.18 -> One of those is this thing
called ECS blueprints.
1620.51 -> What blueprints is is Terraform
templates that are on GitHub
1625.01 -> that address a bunch
of different use cases
1627.47 -> and application types that allow you
1628.94 -> to get started really, really quickly.
1631.293 -> And you can customize them
using Terraform on ECS.
1636.5 -> CDK, the Cloud Development Kit,
1638.6 -> is a super popular option
for infrastructure as code,
1641.63 -> allows you to write in
popular programming languages
1644.09 -> and have that translated
into cloud formation
1646.04 -> behind the scenes.
1647.57 -> And we have a bunch of extensions
1649.28 -> that allow you to do
things specifically for ECS
1651.7 -> and you can also extend those yourself.
1655.52 -> The co-pilot CLI, the AWS
co-pilot CLI is another one
1659.96 -> where we give you a very
simple application manifest
1662.733 -> and you can deploy that
application using the copilot CLI.
1666.65 -> It will orchestrate the
creation of load balancers
1668.99 -> and all the other things
as you need in addition
1670.67 -> to ECS resources to get an application up
1673.52 -> and running on ECS.
1677.553 -> Bunch of other things that
we did in 2022 as well
1681.2 -> that I don't have time to go through here.
1683.504 -> Like I said, we were making investments
1685.264 -> in richer compute options on Fargate
1687.44 -> and faster performance and scaling
1689.3 -> and launching in more regions.
1691.7 -> So that gives you a sense
of the kind of things
1694.07 -> that have been going on.
1696.44 -> And so, I'll end with my
part of the presentation
1702.23 -> just reiterating the reasons
why people choose ECS,
1705.53 -> that faster time to market,
1707.96 -> the lower cost, and the secure by design.
1711.86 -> And these are things that you're gonna see
1713.27 -> in Akhilesh's presentation.
1715.1 -> So at this point then, I'm
gonna hand it over to him
1718.94 -> and I think you're gonna love some
1720.56 -> of the stories that he has to share.
1725.579 -> (audience applauding)
1732.29 -> - Hello everyone, hope you're
all having a great day so far.
1741.77 -> My name is Akhilesh Reddy,
1743.24 -> I'm part of the Cloud Engineering team
1744.89 -> in the Consumer Banking
division at Goldman Sachs.
1751.097 -> Let me kick it off with some
business context, first of all.
1755.57 -> Goldman Sachs has a direct-to-consumer
1757.31 -> business called Marcus,
1759.364 -> which it launched in 2017 with a goal
1762.65 -> to build a consumer-banking
platform of the future
1765.308 -> and to address the spending,
savings, borrowing,
1770.21 -> and investing needs of
millions of customers
1773.36 -> and help them achieve
their financial goals.
1776.48 -> Some of our products include
1778.43 -> a high-yielding savings account,
1780.47 -> a lending platform,
1781.88 -> which offers personal
and small-business loans,
1785.42 -> co-branded credit cards,
1787.1 -> which are offered through partnerships.
1790.13 -> Talking about our partnership
with AWS in general,
1793.28 -> Goldman Sachs uses AWS
across many of its divisions
1796.58 -> to deploy and run applications at scale.
1799.56 -> And even in our division,
1801.47 -> we have leveraged AWS extensively
1803.66 -> to build many digital banking platforms,
1806.435 -> primarily leveraging ECS Fargate.
1812.059 -> Let me give you an overview
of our journey with AWS
1816.049 -> and specifically this
is only our division,
1817.73 -> which is the Consumer Banking division.
1822.02 -> Our initial adoption
on AWS started in 2017
1825.693 -> and around 2018, we were running some
1827.63 -> of our consumer production
workloads on EC2 instances.
1832.58 -> And that was the same year
when AWS introduced Fargate
1836.87 -> and made it available with ECS.
1839.42 -> And you know, it made us think
about the strategy around
1842.51 -> how we manage the containers,
the infrastructure,
1845.09 -> and the whole ecosystem around it.
1847.64 -> And so we made a long-term goal
1849.71 -> to leverage some kind of a fully-managed,