AWS re:Invent 2021 - Keynote with Dr. Werner Vogels

AWS re:Invent 2021 - Keynote with Dr. Werner Vogels


AWS re:Invent 2021 - Keynote with Dr. Werner Vogels

Dr. Werner Vogels, CTO, Amazon.com, looks at the past, present and future of the cloud and how it is changing what developers can build. He looks at how developer experience has changed over time and announces a number of new AWS developer tools and services.

Finally, he dives deep into how Amazon Games built their latest title “New World”, going behind the scenes and showcasing the techniques and AWS services that support a massive number of simultaneous players. Guest speakers include, Matt Coulter of Liberty Mutual and Payam Banazadeh of Capella Space.

ASL (American Sign Language) is available here -    • AWS re:Invent 2021 - Keynote with Dr…  

Learn more about AWS at - https://go.aws/31q9Gxy.

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

ABOUT AWS
Amazon Web Services (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.

#AWS #AmazonWebServices #CloudComputing


Content

7.074 -> A road trip to Vegas,
12.179 -> re:Invent 2021.
17.501 -> How has it been 10 years?
21.238 -> Please welcome Chief Technology Officer of amazon.com,
24.725 -> Dr. Werner Vogels.
27.494 -> [music playing]
33.467 -> Nope!
34.801 -> [music playing]
39.273 -> Now, that's what I call a ride.
44.661 -> But first, music.
48.932 -> Shall we?
50.784 -> [music playing]
86.003 -> What… what is that?
90.073 -> Ah, Lambda.
91.275 -> ... introduce
92.392 -> AWS Lambda, which is an event-driven compute service
95.128 -> for a dynamic application,
96.697 -> and you have to run no servers, no instances, server-free back ends.
104.521 -> Wait, it comes from here.
107.491 -> It’s bat country.
110.511 -> [music playing]
132.499 -> It was only last year.
135.986 -> It's never been a better time to use your knowledge, skills,
139.423 -> and talents to make a difference in the world.
143.727 -> [music playing]
149.116 -> Can you believe it?
150.617 -> 10 years. 10 years of re:Invent.
154.805 -> [music playing]
157.124 -> From 2012 to 2021,
160.21 -> a celebration of innovation on behalf of our customers.
165.649 -> I'm ready, Las Vegas.
167.551 -> Are you?
169.152 -> [music playing]
174.942 -> Please welcome the Chief Technology Officer of amazon.com,
178.812 -> Dr. Werner Vogels.
181.598 -> [music playing]
195.812 -> So, welcome Las Vegas.
197.998 -> How are you doing this morning?
199.199 -> Hey!
200.234 -> [applause]
201.268 -> Did you like my choice of music today?
204.071 -> Can you get an applause for the Catfish Cattus quartet out there?
207.674 -> They were absolutely amazing.
209.826 -> [applause]
215.132 -> And this may be year 10 of re:Invent,
218.452 -> that doesn't mean I'm not going to wear a T-shirt, though.
220.771 -> I am.
221.955 -> Well, to make sure… I've realized that many of you have real insight
227.044 -> into the 80s per a new wave era.
230.797 -> So, in that case, for a few of you from the UK,
234.852 -> you've actually noticed bands that had 19 albums on the charts,
238.739 -> The Stranglers.
240.023 -> [applause]
243.894 -> Okay, 10 years.
247.514 -> 2012, I’m addicted to first keynote at the re:Invent,
251.785 -> still is very much alive in my head
253.637 -> because I thought that was such an amazing first re:Invent at all.
258.575 -> And we've never done anything like that before.
261.778 -> And the cloud was five years old at that time,
265.465 -> with quite a bit of experience already with that,
267.901 -> but we’re giving you lots of advice
270.404 -> that actually has come back over the years.
272.856 -> And again, I think what you will see today is actually
275.642 -> I will be reusing some of these advice
279.213 -> that I gave you in the first keynote, because they're still valid today.
285.135 -> And if I look back, sort of thinking about sort of
287.704 -> how did this all get started?
289.84 -> And I'll take you a little bit of my memory, right,
291.909 -> to see how things have evolved over time.
295.646 -> And I think things started off, of course,
298.232 -> is that innovation was constrained,
300.35 -> because before cloud, you either had to get massive investments,
304.421 -> you had to buy hardware, you had to hire
306.573 -> IT people, things that had nothing to do with actually building a product.
312.913 -> And, you know, the one thing that cloud really did in those days
317.084 -> was go from everything that was constrained,
319.937 -> all the hardware pieces, to making them all programmable.
324.842 -> Suddenly, getting access to capacity was just a click of a button.
329.696 -> And whether that was networks, became VPC, or AZs as data centers,
334.835 -> ELB for load balancers, you know, RDS, S3, EC2,
341.491 -> all of those were physical resources before,
346.697 -> but now became virtually programmable.
350.884 -> And that made all the difference, because it wasn't only
353.053 -> that you could scale up by buying more hardware,
357.407 -> you could actually scale down easily as well through click of a button.
361.578 -> And that made all the difference.
362.863 -> So look at the EC2, in those days, it was really simple.
367.484 -> You know, one single family with three different sizes.
372.372 -> And then say the interface was simple; create, launch, terminate.
377.928 -> And the kind of things that we've done over the years
380.163 -> with EC2 instances has become… it's a very ambitious.
386.153 -> And every day almost, you asked us for a different instance family.
391.692 -> Now, you want to store the optimized ones, you want compute optimized,
396.58 -> you want to have large memory instances
399.867 -> where you could run your SAP online.
403.854 -> And so were the first instances, were all based on Linux hypervisor.
410.727 -> We needed to do massive investments and innovations in our data centers
414.748 -> to make sure that we could get sort of next generation
418.135 -> compute platforms into your hands as well.
421.038 -> And Nitro, were talked about two years ago went in depth,
424.191 -> exactly how we were using Nitro.
426.527 -> The Nitro hypervisor made it possible to introduce
430.514 -> all these new hardware platforms for you.
434.351 -> And you know, especially a shift to Arm
437.871 -> has had significant impact on cost and performance for everyone.
443.293 -> But to be honest, the most popular launch in the last
448.131 -> re:Invent was actually a Mac.
453.387 -> But the one thing that Apple has done
456.24 -> is follow the same path that we've done at AWS.
459.877 -> And they also went to their own silicon
462.663 -> and built their own Arm chips.
465.182 -> So today, I'm happy to announce that you will get your hands
469.837 -> on the Mac EC2 M1 instances.
474.274 -> So, did you--
475.876 -> [applause]
481.365 -> Yeah, let's make that the most popular launch this year as well.
484.885 -> Yeah?
486.587 -> Yeah, so it is actually just likely to Graviton processors,
490.24 -> price performance is significant in Arm.
493.81 -> And I think Apple claims for the M1 Mac instances,
497.581 -> that there is a 60% cost benefit improvement over,
503.103 -> let’s say the Intel platforms that they used before.
506.623 -> Now, all these different instance types,
509.176 -> makes that you guys are doing a lot of work, really a lot of work.
514.331 -> And that results in 60 million launches of EC2 each day.
522.422 -> And this is doubling the number of launches that we saw in 2019.
529.496 -> You can do this on bare metal.
530.981 -> And remember, these are launches today.
533.467 -> There's not even the steady state running EC2 instances
537.171 -> that are out there.
538.572 -> This is crank wind impressive.
541.191 -> Don’t you think so?
542.309 -> 16 million instances a day.
546.613 -> Now, as I said earlier, the clouds removed those constraints.
552.019 -> However, it didn't remove all constraints.
556.757 -> And if we go back to the 2012 presentation
559.009 -> I gave you about the new world and removing constraints,
563.23 -> I promised you
564.781 -> I would fix the speed of light, still on my to-do list?
570.37 -> Oh, yeah.
572.339 -> So there were a number of what I would call laws
574.892 -> that sort of continuously
577.044 -> are the constraints that we have to deal with.
579.93 -> Yeah, whether there is latency and bandwidth,
583.033 -> or the robustness of your network connections,
586.37 -> or the law of the land, data residency.
589.122 -> Now, that one is actually one of the, I’d say, easier ones,
593.393 -> but it's one of two things where we're making most progress.
595.762 -> We're working together with regulatory agencies around the world
599.283 -> to educate them about clouds and what capabilities are.
602.903 -> And that the security and the protection
605.506 -> that they get your data in the cloud,
607.724 -> is much better than they would ever be able
609.826 -> to get in their own data centers.
613.113 -> Now go back to 2006.
614.965 -> If you think about removing these constraints,
617.1 -> or dealing with these constraints, if you find a street,
621.255 -> you only had North Virginia, that was the first region we launched.
625.225 -> And you can imagine that if you have customers in Japan,
627.594 -> or in India, or in South Africa,
631.315 -> latency to West Virginia are significant.
634.651 -> So launching these other regions, yeah,
637.321 -> the first regions was in Ireland in 2007,
641.191 -> then we launched Singapore and North California.
644.545 -> If you look at that, customers now could start deciding
648.365 -> which region to use based on where their customers are.
652.286 -> And, for example, a company in India, Ugama Media streaming company
657.591 -> will be streaming their content out of Singapore
661.445 -> that would actually be using North California for doing transcoding.
665.415 -> Because remember, these regions are all cost following.
668.035 -> So suddenly, they could make choices for things
670.47 -> that ruin actually latency critical, but lower cost versus, you know,
676.476 -> maybe a bit higher cost with lower latency.
680.364 -> And there's applications that we could not have been building,
683.333 -> if we didn't have to take these regions closer to you.
687.638 -> Well, take for example, Alexa.
690.007 -> I think in 2006, or 2009, or even 2015,
695.495 -> Alexa would never be possible.
696.914 -> And why not?
698.031 -> Because you need ultra-low latency to make sure that you can reach
701.368 -> the Alexa Voice Service, which sits in the cloud.
704.371 -> And if you don't get a response back from Alexa within a second,
707.808 -> it doesn't feel like a natural conversation.
711.728 -> And as such, you know, both the advances in hardware, in GPUs,
716.533 -> and the machine learning and both in hardware and software,
720.087 -> have enabled the capabilities of Alexa.
722.773 -> But we still need to drive the latency down
725.075 -> since the network will not be in your way.
727.811 -> Now to that, we develop this global footprint.
731.381 -> That today, we have 25 regions,
734.168 -> 81 Availability Zones across six continents.
737.955 -> And I'll promise you, by the time we finished this keynote,
741.959 -> you will know that it is actually in seven continents.
746.713 -> And so, we continue working to expand this.
750.184 -> There are the nine more regions planned that we will bring online
755.189 -> in the coming two years,
758.041 -> and each of them will continue to help you reduce your latency,
762.88 -> but also address data residency requirements.
766.984 -> Now, if you think about latency is not only the regions
770.287 -> that become important to you, yeah, we have 310
774.324 -> Points of Presence around the world.
777.194 -> And we use these publications
778.512 -> to deliver content at high speed for CloudFront.
782.349 -> But not only is it the content distribution network,
785.903 -> with Lambda functions of a CloudFront functions and Lambda@Edge,
790.04 -> you're actually also being able to do computation at the edge.
795.212 -> And if you make use of S3
797.014 -> Transfer Acceleration, you make use of each of these endpoints
800.784 -> to really at high speed move data into S3,
805.622 -> beating sort of the bandwidth limitations
809.726 -> that you, otherwise, would have.
811.528 -> Now, it's not only that way that we bring you closer
815.949 -> to the AWS capabilities.
819.036 -> Now, in the past two years, we've been building Local Zones,
824.024 -> which you gets your services even closer.
827.611 -> We currently have 14 Local Zones.
830.08 -> We started off in the U.
831.331 -> S.
832.482 -> to actually start to understand how to best build these zones,
835.886 -> and how to best use them, and how our customers will be using them.
839.406 -> And there is a subset of capabilities running in the Local Zone
842.793 -> that is attached to a region, so there is EC2,
845.462 -> and EBS, and ECS that you can run there.
848.315 -> And basically, you can build a VPC in the region,
852.236 -> extend that VPC into a Local Zone,
855.706 -> and actually move your containers back and forth seamlessly
859.376 -> within the same VPC.
864.982 -> Now, I'm happy and very excited actually turn around
869.052 -> and say we will be expanding the Local Zones internationally
872.84 -> across the world.
874.491 -> Yeah, there's about 30, at least 30 new AWS
877.945 -> Local Zones coming online in Europe, in South America, in Africa, in Asia,
883.25 -> and in Australia.
885.085 -> And of course, we will have one in my home city of Amsterdam.
889.706 -> [applause]
896.246 -> Now, one of the very interesting applications have seen
899.933 -> that make use of Local Zone is a company called JackTrip.
903.72 -> And they do sort of remote live performances of music.
907.574 -> Now to be able to do that, the maximum time for synchronization
911.345 -> is about 25 milliseconds.
913.547 -> So imagine is a group of musicians spread out through Austin,
917.968 -> after all, you know the life musical capital of the world.
921.755 -> If they would have to connect to one of the regions, let's say,
924.741 -> if Virginia or Oregon, latency will be too high.
928.045 -> It will be impossible for them to play synchronized music.
932.065 -> So they connect to the local zoning Houston,
935.802 -> which makes it possible for them to completely rehearse
940.257 -> and actually do performances live over the internet remotely.
945.662 -> And given the situation that we've been in for the past two years,
949.399 -> this was really important for them.
952.035 -> Now, that’s not the only way,
953.887 -> we started trying to overcome the limitations of speed of lights.
959.443 -> And AWS Wavelength is a good example for that,
963.514 -> were actually sort of the low latency promised by 5G,
968.335 -> we do not need to add more latency to that for you to go to region,
971.872 -> or to Local Zone.
973.307 -> So that's why we put actually AWS capabilities inside the 5G
977.01 -> access points, again,
978.562 -> trying to overcome sort of the restrictions
982.482 -> that the speed of light and latency give us.
986.787 -> And quite a few of our customers are waiting things like machine
989.506 -> learning inference in those instances or game streaming,
995.295 -> and this already starts to get close to the network.
999.566 -> So let’s take a look at what we've done in the physical infrastructure,
1003.504 -> but now on the networking side.
1006.39 -> Let's go back to 2006 again.
1010.294 -> When we launched North Virginia, the world was pretty flat.
1014.882 -> Basically, you launch an instance, we assigned an IP address to it,
1019.119 -> and then that of course was flat.
1021.405 -> And if you wanted to go talk to other instances,
1023.79 -> you needed to go over the public internet.
1026.927 -> And so the early enhancements to EC2 really focused on the networking,
1031.982 -> yeah, how to do autoscaling, how to do load balancing,
1035.519 -> how to get insights into your network with CloudWatch.
1039.089 -> And one of the first things we did also was actually introduced
1042.476 -> Elastic IP addresses,
1043.81 -> meaning that you could actually have persistent IP addresses,
1047.865 -> instead of one assigned at boot-time to you.
1052.252 -> But the most important launch in the networking space has been VPC.
1056.773 -> And we launched that in 2009.
1059.026 -> This allows you to calling of a piece of the cloud,
1062.162 -> assign your own addressing blocks to it,
1064.631 -> then connect it back to your data centers.
1067.184 -> So it seemed like your data centers were three layers seamlessly expanded.
1072.072 -> You could use VPC for a VPM for that, or later, Direct Connect.
1077.294 -> And this was still in the early days, a pretty flat network.
1081.198 -> Well, in 2013, we started making VPC the default.
1085.369 -> And EC2-Classic, which we recently started deprecating
1090.174 -> is now sort of the old style network,
1093.126 -> where VPC by default really is the one that you're using.
1098.382 -> And if you look at how the AWS backbone has evolved over time,
1103.32 -> that looks very different from how we look like in,
1107.04 -> let's say, the late 2000s.
1110.994 -> And the backbone of today consists of a fully redundant 100 Gig network.
1115.682 -> And it's not just our control plane, you can use our backbone.
1120.003 -> That while in the past, you would communicate between two VPC,
1123.941 -> you would go over the internet.
1125.843 -> Now you just transfer over the AWS backbone.
1131.882 -> And this is really one of the most highly scaled,
1135.586 -> purpose-built global networks ever assembled.
1138.689 -> And it's growing really, really fast.
1141.892 -> And if you look at some of the core networking products
1144.311 -> that we built on top of that, there's a whole variety of them.
1148.515 -> Like I mentioned earlier, S3
1150.184 -> Transfer Acceleration, the basis you can make use of these backbone
1154.238 -> to get your data to S3 as fast as possible.
1159.393 -> Now, even with all of these components,
1162.863 -> building a global network,
1165.599 -> connecting maybe hundreds of your offices to the cloud,
1170.871 -> is still a big challenge.
1173.223 -> And it wouldn’t be the first time that I’d actually meet a customer
1175.876 -> that shows me a massive spreadsheet
1178.345 -> and the way he uses to manage all the connections between
1181.915 -> manufacturing sites and back offices into the cloud.
1186.453 -> So there's a lot of work going on there.
1188.822 -> And actually, quite a few of these customers are literally running
1192.626 -> thousands of VPCs, if not tens of thousands of VPCs.
1197.548 -> And so we started to think how can we help these customers
1201.468 -> sort of really overcome all the heavy lifting
1204.688 -> that you have to do if you have a very widespread network
1207.991 -> yourself that you need to connect to the cloud.
1211.745 -> So today, I'm happy to announce
1214.631 -> AWS Cloud WAN, which gives you the ability to build, manage, monitor
1220.437 -> global-private five wide area networks using AWS.
1227.294 -> [applause]
1233.283 -> So, how does this work?
1235.485 -> Yeah, imagine you have a very large global company,
1239.306 -> and you have dozens of manufacturing sites around the world,
1243.327 -> you maybe have offices in each of the big cities around the world,
1248.065 -> and you need to connect them all to AWS
1250.801 -> because that's where your applications are in.
1253.403 -> Now, the first thing you do is you start selecting
1256.206 -> the regions you would like to use.
1258.876 -> And then automatically, once you actually define this,
1265.032 -> all the remote users and sites and data centers will connect
1268.202 -> to the geographically closest location
1270.804 -> using a VPN or Direct Connect.
1274.508 -> And this is actually built for you in minutes
1277.911 -> using the big AWS backbone for you,
1281.031 -> to basically give you a highly reliable
1284.034 -> and highly available software-defined wide area
1287.521 -> network running over the AWS infrastructure.
1292.009 -> It is not just that, you can actually also segment
1295.996 -> these pieces of software-defined network that you've created.
1299.249 -> Maybe you create a separate segment for your corporate office,
1302.719 -> you create a different segment for your manufacturing sites.
1308.125 -> And these segments cannot communicate with each other,
1310.894 -> unless you explicitly allow it, of course, will give you a dashboard
1317.134 -> for which you can monitor all your network activity.
1321.205 -> And it gives you visibility and your availability,
1324.274 -> you can troubleshoot productivity and performance issue, and so on.
1329.713 -> Actually, it should not be possible
1332.883 -> without this wide range of partners that we've been working with,
1336.086 -> and that is, whether that’s in the telco business, system integrators,
1339.606 -> and the software-defined wide area network vendors,
1342.826 -> that actually help us with their technology
1345.095 -> to build software-defined WANs,
1347.397 -> privately for you over the AWS backbone.
1352.402 -> Now, think about regions, what we talked about,
1356.557 -> so there’s much more than regions,
1359.643 -> that we already said that to overcome certain latency challenges,
1365.983 -> we give you Points of Presence, we give you these Wavelength Zones,
1369.837 -> and we’ll give you Local Zones.
1372.856 -> But you know, cloud has gone much further.
1376.026 -> And you've asked us for so much more than just these Zones,
1380.314 -> these Points of Presence.
1382.032 -> One thing, of course was, another way to overcome the latency requirements
1387.504 -> is by actually moving AWS closer to your data centers.
1391.859 -> And we've done that, of course, we've Outposts.
1394.595 -> Yeah, and over the years, we really heard
1397.014 -> that you have certain workloads
1399.316 -> that you cannot move out of your data center,
1401.235 -> might be that your SAP system feels connected
1404.054 -> to a database that for some reason, you're not willing to move.
1407.641 -> However, you want to build all your new applications,
1410.511 -> or even older applications that are running on AWS.
1415.315 -> So the prime reason for Outposts
1418.101 -> is to actually beat latency between the AWS cloud
1422.122 -> and capabilities that you're running in your own data centers.
1426.326 -> That's about moving either
1427.978 -> before the two racks into your data centers,
1432.065 -> you can have extremely close connectivity.
1435.669 -> Now if we look at customers that have been very successful
1437.971 -> with Outposts is all for a variety of reasons.
1440.891 -> Fanduel doesn’t to beat latency,
1443.243 -> and actually reduce the latency for the gambling
1447.781 -> between themselves and their customers.
1450.984 -> First Abu Dhabi Bank in the UAE makes use of Outposts
1454.955 -> to actually meet data residency requirements.
1458.358 -> And they actually make use of multiple Outposts
1461.028 -> in different locations in the UAE
1463.163 -> so they can do business continuity using Outposts.
1466.533 -> And Phillips still stays for, again, for local processing
1470.854 -> as well as for data residency requirements around healthcare.
1475.776 -> Now, we started off, of course, with a 42 rack.
1479.563 -> But now, actually, we also give you these two other
1482.683 -> Outposts instances is that, for example, in retail locations,
1486.403 -> or you know, your extra offices, you can bring AWS into those offices.
1493.577 -> But there's a reduced set of capabilities
1495.546 -> running, of course, on Outposts.
1497.08 -> And again, it connects back to a region from which you can monitor
1501.235 -> and manage all the Outposts capabilities that you have.
1504.738 -> It does have all the important ones, RDS, EC2, ECS,
1509.092 -> and in terms as you run directly in your data center.
1513.447 -> So those are your data centers, you offices,
1517.501 -> but what about these other billions of devices
1520.237 -> out there that are connected now?
1523.323 -> Well, so how can you actually connect all these devices to the cloud?
1528.362 -> How can we help connect those?
1531.498 -> And I actually call this the Internet of Billions of Things.
1537.12 -> Yeah, and for that, we give you FreeRTOS as a stable base
1542.709 -> as an operating system for these devices, with these AWS
1547.164 -> IoT Core, to manage all of those devices
1550.434 -> and to create digital twins, and shadows, and things like that.
1554.371 -> Or, if you have a need to run IoT capabilities
1559.443 -> on your devices itself, we give you a Greengrass.
1563.313 -> Now, for Greengrass,
1564.731 -> I've seen a number of very interesting applications.
1567.251 -> One of them is in the autonomous
1569.97 -> trucking in hazardous mining conditions.
1573.39 -> So these trucks will be autonomous, they will go into a mine
1576.743 -> and actually on that truck,
1578.145 -> we’ll run Greengrass, completely autonomous, collecting data
1581.865 -> and managing the device, and actually storing data at the Gateway,
1585.552 -> which once connectivity is restored,
1588.222 -> it will upload it to the cloud, and manage it there.
1591.942 -> So it's really the Internet of Billions of Things,
1596.013 -> but those are the Billions of Things that were actually already connected,
1599.583 -> or could be connected to the internet.
1602.085 -> There's also many devices, definitely in manufacturing environments
1605.706 -> that are not connected, they're old.
1607.658 -> The typical age of manufacturing equipment in the U.S.
1611.261 -> is 27 years.
1613.764 -> That means that these devices were not modern-data generators at all.
1618.802 -> So for that, we give you Monitron, which is a physical appliance
1622.723 -> with a bunch of sensors that actually manage these data
1626.61 -> coming off the observations of devices,
1630.03 -> they do vibration and temperature,
1632.833 -> and things like that, record all of that,
1635.202 -> move it through Gateway, move it into the cloud.
1637.905 -> You can manage it there, for example,
1640.44 -> for preventive maintenance, and things like that.
1644.962 -> There’s also something very special around one particular data stream,
1649.533 -> that is video.
1651.401 -> Now for many of us, we still watch video to be watched.
1655.806 -> But in essence, video is nothing else in the data stream to be analyzed.
1660.761 -> And so many manufacturing sites, with also retailers,
1663.997 -> have many cameras around on sites,
1667.351 -> and you can actually make use of those data streams to analyze them.
1671.238 -> Now the Panorama Appliance, you can actually move custom machine
1676.159 -> learning models onto it
1677.845 -> when interference there of the data streams coming off IPTV cameras.
1684.117 -> And so, for example, I've often been asked by retailers,
1688.205 -> “How can you understand how people are moving for a store?
1691.892 -> How much time they’re spending in front of this promotion,
1694.011 -> or the impact of changing the layout of my store?
1698.732 -> And I've always told them “You already have that data.
1701.935 -> ” Now you have 30 security cameras in your store,
1706.39 -> but you have someone watching those streams to look for fraud,
1710.027 -> or for theft, or things like that.
1712.546 -> But in essence, the data streams that you can use to analyze
1716.066 -> exactly how people are moving through your store,
1719.102 -> and how much this time they spend where and how?
1721.955 -> And for example, the airport of Cincinnati
1724.691 -> is making use of the Panorama Appliance
1726.96 -> to understand how people are moving through the airport.
1731.381 -> So that's all because video has become a data stream to be analyzed,
1736.286 -> instead of something to be watched.
1739.907 -> Now, if I think about sort of environments that are even further
1744.845 -> outside of manufacturing or retail, yeah,
1747.614 -> there's all sorts of requirements that suddenly come there as well,
1751.285 -> most of them need to be compliant specially.
1753.403 -> For example, in medical environments, or they need to be rugged
1758.492 -> because we use them in environments in deserts, and things like that.
1762.779 -> Or, you know, they really need to be able to be remote.
1766.233 -> And this is where I promised the seventh continent,
1769.353 -> because a bunch of these devices have been taken to Antarctica,
1772.756 -> and I'm happy to announce that, you know, the seventh continent
1777.094 -> is now also furnishings of the AWS cloud on them.
1781.481 -> Now, the rugged edge is what we call this.
1785.385 -> Yeah, and you may have seen most of these devices over the years.
1789.406 -> Yeah, already we’ve Snowcones, which are small and very mobile.
1794.027 -> Really, we’ve Snowball that they’re transportable,
1798.565 -> but there are a bit bigger and heavier,
1801.502 -> but there are storage optimized version of it
1804.421 -> and a compute optimized version.
1807.774 -> And then, of course, the Snowmobile.
1809.126 -> If you have so much data, petabytes of data sitting in your data center,
1812.763 -> you may need to move to AWS, Snowmobile is the way to go.
1817.951 -> Now, this is sort of the current state of the cloud world.
1823.891 -> But you know, can we go even further?
1826.426 -> You know, what is the next frontier that we really should be able
1830.731 -> to be address when we think about cloud computing?
1834.201 -> Yeah, and of course, you know, we think about space,
1836.703 -> we think about deep sea, we think about sort of Antarctica,
1842.109 -> but also start off with space.
1844.695 -> Now, AWS Ground Station, again,
1847.364 -> was one of these approaches to virtualize
1850.817 -> something that was ridiculously expensive,
1853.704 -> if you would have to build it yourself.
1856.139 -> And so again, by making Ground Stations programmable,
1860.811 -> we suddenly are enabling a lot more innovation in the space.
1869.019 -> Yeah, so again, if Ground Station, data comes off to the Ground Station,
1872.773 -> you basically just went a 10-hour time
1875.142 -> to get your data of your satellites and move into AWS.
1881.181 -> And one example of that is the Mohammed Bin Rashid Space Center
1886.186 -> in the UAE,
1887.387 -> launched the Hope Probe in the early 2020.
1891.542 -> And in 2021, it arrived at Mars.
1894.027 -> It is now circling around Mars,
1895.746 -> doing research about the Mars atmosphere.
1898.365 -> That data through Ground Stations be moved into AWS
1902.636 -> preprocessed and then within 20 minutes
1905.222 -> made available to the global research community.
1909.026 -> Now, to actually tell you more about space and innovation in space,
1914.798 -> I’d like to welcome Payam Banazadeh, the Founder and CEO of Capella Space.
1920.32 -> Thank you.
1921.972 -> [music playing]
1932.516 -> Thank you, Werner.
1934.501 -> Imagine if no change in our world when unnoticed and unmeasured.
1940.624 -> Imagine, if we could build a digital clone of our physical world
1945.863 -> that was getting refreshed in real time.
1949.183 -> Imagine if we could have seamless and automated interactions
1954.321 -> between our physical and our digital world,
1957.474 -> such that you could set a trigger
1960.077 -> that involve not just events in the digital world,
1964.064 -> but it could also be triggered and acted out in the physical world.
1969.036 -> Let me give you an example.
1971.004 -> Imagine you could monitor all the ports
1973.724 -> and all the shipping lanes in the world
1975.742 -> all the time in real time, and you could set the following logic
1980.047 -> that was working for you in the background.
1982.95 -> If there are more ships than container capacity,
1985.786 -> then increase trucking support.
1988.121 -> If that's not possible, move some of the ships in this shipping lane
1991.992 -> to this other shipping lane,
1993.493 -> to this other port, optimized for ETA.
1997.431 -> You'll be able to catch issues
1999.416 -> and potentially prevent supply chain disruptions
2002.619 -> from happening in the future.
2006.256 -> In 2019, on the same stage, a company called Saildrone
2012.312 -> told you about deploying sensors in the ocean
2015.682 -> to collect valuable measurements in real time.
2020.02 -> There has also been a significant growth in quantity
2024.308 -> and quality of terrestrial sensors in the last few years.
2028.795 -> However, the next frontier
2031.081 -> that is now becoming accessible is space.
2034.418 -> And sensors from space have a truly unique vantage point.
2039.489 -> They are needed for us to have a connected world.
2043.994 -> In fact, to make truly global decisions
2047.731 -> based on global information, you need global access all the time.
2053.871 -> For this, space is the missing link.
2057.658 -> Over the last six years, we've been designing and building
2060.277 -> some of the most sophisticated satellites on our planet.
2064.731 -> We can track changes on the surface of our planet to millimeter accuracy.
2069.837 -> These are powerful satellites.
2072.155 -> These satellites have some magical capabilities,
2075.225 -> we can take images through the storm at night in all conditions.
2081.365 -> It gives us reliability,
2083.45 -> and it gives us visibility into our planet in all conditions.
2088.305 -> That's a fundamental requirement for getting to real time monitoring.
2095.479 -> In fact, this picture of George Washington Bridge
2097.998 -> was taken three in the morning on a stormy night from space.
2104.721 -> We have five of these satellites orbiting Earth right now,
2108.509 -> and we're launching more, and more,
2110.644 -> and more of them in the coming quarters.
2114.181 -> As we launch and scale our constellation,
2116.333 -> we're going to be accumulating a lot of data.
2118.702 -> In fact, over the coming years,
2119.887 -> we're going to have more than 500 petabytes of data
2123.106 -> getting accumulated coming down from space from our satellites.
2126.977 -> That's a lot of data.
2128.896 -> Handling that much data at scale is a challenge on its own.
2134.051 -> But it's an even greater challenge
2136.537 -> when you combine our data with data from other space sensors,
2140.557 -> other terrestrial sensors, and other ocean sensors.
2144.962 -> In order to lay the groundwork for integrating our sensors
2148.749 -> with other sensors in real time with low latency and low reactivity,
2154.121 -> we have to build our business on a completely different foundation
2158.392 -> than traditionally has been tried before.
2162.296 -> We had to think about so many things.
2163.697 -> We had to think about a distributed network.
2166.383 -> No human in the loop operations with full automation,
2170.754 -> real time processing of data,
2173.407 -> unlimited storage and processing power,
2176.61 -> and instant scalability.
2181.114 -> This is why we work with AWS to enable this future.
2186.47 -> We needed a company that could support us with resiliency,
2190.591 -> could scale with our constellation
2192.609 -> and demands, could support our automation,
2195.212 -> and by the way, do all of this in real time.
2198.131 -> So 500 petabyte of data, no problem scaling that out on S3.
2204.071 -> A flurry of new hurricane images coming down,
2207.824 -> casual, we’re just autoscaling infrastructure on EC2.
2212.162 -> And if we need that hurricane image even faster,
2215.332 -> that's pretty simple, we'll just grab the next pass at AWS Ground Station.
2220.971 -> And the AWS Ground Stations are integrated into the AWS fabric.
2226.293 -> They're also in close proximity to the data centers,
2229.696 -> which means the data from our satellite to the Ground Station,
2233.333 -> through the secure VPC,
2235.152 -> getting into the cloud happens within milliseconds.
2239.823 -> And with our entire system on AWS and our platform, built on a robust
2245.245 -> API, ordering imagery from space is like ordering food
2250.484 -> from your favorite food delivery
2252.119 -> app, fully automated, and with no human interactions.
2257.207 -> Let's just take a look at how easy it is to request an image
2260.961 -> from one of our satellites.
2263.614 -> You pick your location of interest.
2266.35 -> Let's pick Las Vegas, and literally three clicks into it,
2269.653 -> you've tasked the satellite.
2271.788 -> We take care of the last.
2273.524 -> The satellite goes over the areas of interest,
2275.976 -> collects imagery, comes over the Ground Station,
2278.695 -> dumps the data down, the data goes to the cloud,
2282.399 -> gets processed, and boom!
2284.334 -> You've got the data for your consumption.
2289.106 -> And here's the best news about it.
2290.741 -> This is all on an open API, which means you are one
2296.463 -> API call away from accessing a global network
2300.701 -> of extremely powerful satellite sensors.
2303.921 -> That means if you want to automate your end of this process,
2307.958 -> you can use our open API and just blend us into your workflow.
2312.596 -> Let me just emphasize that.
2314.464 -> You are literally right now, while sitting in this room,
2318.302 -> one API call away from a global network of powerful satellites.
2326.293 -> This is a game changer.
2327.744 -> Machine to machine operations and full automation are together
2332.599 -> the fundamental catalysts for taking action in the digital
2337.171 -> and in the physical world.
2339.389 -> So let me just tell you a few stories from this year,
2342.809 -> where machine operations led to humans taking better decisions.
2347.764 -> Oil spills were detected using our imagery, automatically.
2353.253 -> Chinese dam failure was verified using our imagery, automatically.
2359.042 -> Volcanic
2360.177 -> researchers identified new events by peering through the smoke
2364.565 -> of an ongoing eruption, automatically.
2368.318 -> Local agencies were informed of deforestation
2371.722 -> in Amazonia, automatically.
2374.875 -> And of course, during Hurricane item, our satellites were monitoring
2378.462 -> the daily progression of the hurricane
2380.547 -> and flooding through the clouds and storms, day and night,
2384.351 -> and pushing out updates in real time to our customers, automatically.
2388.572 -> And many, many, many more.
2391.825 -> I'm sure you could tell we’re really, really excited about this capability.
2396.864 -> When I took the stage, six, seven minutes ago,
2399.666 -> I opened by showing a conditional flowchart of setting triggers
2403.554 -> and connecting our physical to our digital world.
2407.841 -> Thanks to companies like AWS and Capella,
2411.078 -> that future is a reality today.
2414.798 -> So before I leave, I asked you all this, what would you do?
2419.386 -> And what would you build, if you were one
2421.605 -> API call away from seeing our planet, and its billions of changes?
2427.377 -> Thank you very much.
2429.062 -> [applause]
2436.82 -> Thank you, Payam.
2438.856 -> There’s so much interesting innovation going on in space,
2442.176 -> it absolutely is the next frontier.
2446.196 -> And as always, in AWS we’re very closely connected
2449.383 -> to the startup world,
2451.518 -> and so recently we launched the Robotics Startup Accelerator,
2458.809 -> we launched an Early Start Accelerator
2464.181 -> for startups in Europe.
2466.8 -> And of course, we also recently run a Space Accelerator,
2470.487 -> which had 10 different companies that are making use of the AWS Cloud
2474.558 -> and are going into space.
2477.077 -> And one of those is very interesting, it’s called D-Orbit.
2479.98 -> And they're actually working on sort of supply
2483.083 -> chain logistics in space.
2485.452 -> But they're also working together with an AWS Partner
2487.905 -> who are called iniLab,
2489.239 -> who actually brings the cloud into space.
2492.509 -> So, if in the future you're looking for let's say
2495.495 -> Lunar One region, we may not be that far away from that.
2502.352 -> So, if you think about solar… I hope so.
2508.542 -> [laughter]
2512.262 -> So, as you think about all these different components of the cloud,
2517.234 -> and there's a spectrum of hardware, and devices, and services
2521.221 -> that expands to reach of the cloud, way beyond Regions
2525.442 -> And Availability Zones, yeah.
2527.961 -> I have nicknamed this the ‘Everywhere Cloud’, yeah.
2532.516 -> And customers who will always want to manage
2534.635 -> their application centrally, even though they’re distributed.
2538.422 -> But you know, you can push it out all the way over to the edge
2542.442 -> and where you can see all AWS services running transparently
2546.98 -> regardless whether you're running it on the rugged edge,
2549.75 -> whether you want to run it close to your space satellites
2554.137 -> or whether you want to run it in your own data centers.
2557.191 -> And it's not just a hardware.
2559.977 -> From day one, we'll be thinking about all of our software capabilities
2563.981 -> that sort of needs to span all of these different components
2568.669 -> that make up the Everywhere Cloud.
2571.438 -> And one of the earliest ones is still one of my favorites there,
2574.791 -> AWS Storage Gateway, actually brings the power of cloud storage
2580.864 -> directly into your own data centers.
2584.568 -> One of the things I really want you to walk away with is that,
2588.422 -> yes, this is a massively distributed system,
2593.477 -> but it's not decentralized.
2595.996 -> Right, it's distributed, but not decentralized.
2601.251 -> And I would like to sort of spend some time on one of the services
2605.806 -> that touches each and every component of the Everywhere Cloud
2612.513 -> and that is, Identity and Access Management.
2616.583 -> Now, AWS IAM gives you very fine-grained control
2621.405 -> over any of the resources in AWS.
2624.391 -> You can specify who can access which service,
2627.311 -> under which conditions, and it gives you identity.
2631.131 -> And at first, it appears as if IAM is relatively simple.
2637.187 -> After all, permission systems have been around in the world
2640.541 -> for a very long time,
2643.577 -> but the requirements for IAM are unprecedented.
2647.981 -> We literally have millions of AWS customers,
2651.818 -> over thousands of different types of resources,
2654.972 -> hundreds of AWS services,
2657.674 -> and they're spread across over all of our regions,
2660.961 -> our zones, all the way out to the edge.
2665.582 -> And so, the requirements for IAM are mind boggling.
2671.955 -> And it comes down to two pieces that really need to work.
2675.676 -> It needs to be ultra-reliable; it needs to be absolutely secure,
2681.765 -> and it needs to be incredibly fast.
2685.035 -> Now, because remember, IAM
2688.172 -> is part of every API call that you make.
2693.293 -> And now, so giving the importance of IAM,
2696.33 -> I'd like to pull back to the conference a little bit,
2699.85 -> and show you how IAM is designed, and how it scales, and the duties,
2704.671 -> because this is truly an example of building a high scale,
2709.126 -> yet secure distributed system.
2712.062 -> And core in all of that is, that you need to keep simplicity in mind
2717.134 -> because otherwise, you cannot scale to the scale that IAM needs to meet.
2723.674 -> Now, so the components in the overall system
2726.426 -> are, of course, either you use the Console or you use the CLI
2730.097 -> to talk to the IAM control plane,
2733.116 -> who then talks to sort of IAM surfaces
2736.303 -> that sits in each of the regions
2738.188 -> or each of the devices that you're using.
2744.328 -> Now, IAM means there’s two capability: cells identity and access management.
2746.613 -> So, authentication, who you are,
2750.033 -> and authorization is what you are allowed to do.
2753.537 -> I'll dive into authentication;
2755.856 -> I think that's sort of one of the more interesting pieces.
2759.71 -> Now, if you ever set up an AWS account,
2762.312 -> which I think most of you must have done by now, yeah,
2765.782 -> you know that you get an access key, which is public,
2769.636 -> and you get a secret key.
2772.372 -> And the secret key is used to sort of go with
2777.127 -> every API request that you make,
2780.414 -> to make sure that we understand who is actually truly making this call.
2786.503 -> So, what you do, we ask you to sign every request, send it to AWS,
2792.025 -> sign it with your secret access key,
2794.077 -> and this way we know exactly who you are.
2797.698 -> We do this with a signing process that's called Signature Version V4,
2803.77 -> SigV4, for short.
2805.956 -> So yeah, you sign the request, goes through the AWS service,
2811.044 -> who then passes it on to the IAM service,
2815.265 -> who actually checks, who actually does exactly the same signing,
2819.336 -> see whether the signatures match,
2821.388 -> and if they match, your request is allowed.
2824.575 -> If they don't match, your request is denied,
2833.8 -> or not.
2835.536 -> Now, let's take a look, what we do with signing with
2839.973 -> is not your secret key, secret key is only part of that signing process.
2846.196 -> Yeah, first, we concatenate the key with AWS4
2849.316 -> to indicate what procedure we're going to be using,
2852.352 -> then you do a one-way hash function off that first secret with the dates.
2858.425 -> We do that, with the dates, with the region,
2861.678 -> and then, can only hash function.
2863.864 -> And in the end, you end up with a key
2867.601 -> with which you're going to sign your request.
2871.088 -> Yeah, and so it's not just the key that we're using to sign.
2875.626 -> We actually do this for a particular date, for a particular region,
2880.063 -> and the service you're trying to access within that region.
2884.968 -> And so, we do exactly the same thing on the other side.
2888.172 -> Now, to be able to do that, we need to have access to your secret key.
2893.06 -> Of course, you know, we could be moving your secret key
2896.463 -> into the IAM Service Everywhere,
2899.366 -> but that would be a massive violation of security principles.
2904.721 -> The secret key needs to stay in the IAM control plane,
2909.543 -> because that is where we can truly protect you.
2913.514 -> So, what are we going to do?
2914.948 -> Well, we're actually going to repeat some of the steps of SigV4.
2920.003 -> What a control plane does, it's actually creates a derived key.
2925.542 -> The derived key actually is just the secret, the date, and the region.
2932.132 -> And then, whenever your request arrives, yeah,
2936.937 -> and we store that in the IAM service.
2940.19 -> Now, whenever a request arrives, it arrives at what's called the IAM
2944.628 -> Endpoints,
2946.563 -> and there are literally millions of hosts in the IAM Endpoints.
2950.751 -> And what the team decided,
2951.885 -> is to make use of the capabilities of these millions of hosts
2955.806 -> to really accelerate the overall checking and signing process.
2960.143 -> So basically, what the IAM service does, is create another derived key.
2966.4 -> It takes the derived key it got from the control plane
2969.219 -> and adds the service to it.
2971.522 -> So, this is a key that is uniquely for one user, one surface,
2977.561 -> one region on one date.
2981.582 -> And so, with this, now suddenly, you can cache this at the IAM
2986.019 -> Endpoints, and make the checking of the validity of requests really,
2991.658 -> really fast and really, really reliable.
2996.096 -> Now, so in essence, if we look at what we've done here,
2999.383 -> is we built an intelligent hierarchical cache.
3003.954 -> And there's many interesting aspects to all of that,
3006.423 -> we could spend a lot of time in, for example,
3008.609 -> what the cache invalidation protocol looks like.
3011.678 -> But here, it's very high scale.
3014.731 -> We've been able to build an ultra-fast access control system
3020.888 -> that doesn't exist anywhere else.
3024.091 -> And you can imagine, you know, how all the other components are,
3029.763 -> that we really move cryptography to the edge,
3032.983 -> making use of the millions of hosts that are the IAM Endpoints.
3039.406 -> And so how big is this really?
3041.475 -> Why is this really so important?
3044.111 -> It’s because IAM routinely handles half a billion
3050.133 -> APIs calls a second.
3054.805 -> Imagine just for this keynote, 90 minutes or only 20 minutes long,
3058.509 -> I don't know how long we can take, how many API calls
3062.779 -> IAM has handled during that time.
3065.899 -> And the only way why that is possible
3068.735 -> is they made the system as simple as possible.
3073.507 -> Because in that way, you can actually scale to these numbers,
3077.077 -> while meeting the security requirements
3079.763 -> that a modern IAM system has at scale.
3084.484 -> Now, the principle there, of course, is that, you know,
3087.621 -> if things become more complex,
3090.09 -> you shouldn't start with building a complex system.
3093.677 -> All complex systems that actually work evolved
3097.631 -> from a simpler system that works.
3101.151 -> And you know, if you look at sort of simple machines,
3105.038 -> there are sort of mechanical devices that were used to make the world
3108.492 -> easier, yeah, and so most of them work on the principle
3112.88 -> of a small effort having a really big effect.
3116.984 -> Now, take for example, an inclined plane.
3120.17 -> Now if you had to move this box from here up to there,
3123.507 -> will take significant effort.
3125.843 -> However, using the inclined plane, you only have to use a little effort
3130.531 -> to get a major effect,
3132.833 -> rather than the six of these different standard types
3135.118 -> of simple machines.
3136.887 -> Now, you can use some of these components
3140.741 -> to start building more compound machines.
3143.277 -> If you take a screw, a lever and a wheel, for example,
3146.964 -> it's easy to build a wheelbarrow out of that.
3150.35 -> But still, these compounds machines are built out of simpler machines
3155.405 -> and that's the reason why they work.
3157.591 -> And of course, if you want to build more fancier things,
3159.826 -> not just, you know, wheelbarrows, but maybe the nice
3163.697 -> Mustang that I drove up here,
3166.033 -> or maybe you want to build something completely different,
3168.902 -> maybe you want to build a monster truck, or a Formula One car.
3173.824 -> Now, this is only possible, because they're built out of primitives.
3178.879 -> And with all these primitives together,
3181.131 -> you can actually construct these compound machines.
3184.434 -> And this is also the principle we've used from day one at AWS.
3189.173 -> We give you primitives, not frameworks; and why?
3193.043 -> Because I think if you have to build a framework,
3196.113 -> then it probably takes a number of four or five years
3198.732 -> before you have everything together in the kitchen sink.
3201.485 -> That means that by the time you deliver it to your customers,
3204.404 -> it's only five years old,
3206.707 -> and then you have to be built with that for something
3208.992 -> that has to last for the coming 10 years.
3211.762 -> Because everything works like that.
3213.647 -> What we wanted to do in the cloud is actually give you
3216.083 -> these small, primitive components,
3219.186 -> so that you could exactly build what you want to build,
3222.639 -> without us telling you how to build it.
3225.893 -> And so, you can see sort of these simple machines as being sort of SQS,
3230.681 -> and S3, and EC2,
3234.468 -> but you've always asked us for more of these simple machines,
3239.206 -> more of these components.
3241.124 -> Purpose-built databases, for example, which means that by now,
3245.996 -> we have well over 200 of these simple machines of the services.
3251.468 -> And believe me, you know, I know it's sometimes overwhelming,
3255.355 -> but remember, you have asked for this.
3259.459 -> It is basically your fault.
3261.778 -> [laughter]
3265.616 -> [applause]
3270.971 -> Now, each and every one of these services has a purpose, yeah,
3274.775 -> and about I think sort of 95% of them have been created by your feedback,
3280.247 -> really helping you build exactly those things that you want to build.
3284.801 -> Now, some of these services are truly simple,
3287.671 -> but some of them are actually compound machines themselves.
3292.326 -> Take, for example, a Lake Formation, we’ve seen Adam talk about that,
3296.914 -> Swami talked about that.
3298.715 -> So Lake Formation under the covers,
3301.151 -> is built out of these other AWS services.
3304.671 -> Yeah, whether it’s Aurora and DynamoDB,
3306.757 -> or how to get things on-premise, and Glue, and IAM.
3309.96 -> All these components together, make up Lake Formation.
3314.031 -> Or if you're building container applications,
3318.602 -> you may want to use App Runner,
3319.887 -> so you don't have to worry about Fargate,
3322.055 -> you don't have to worry about Application Load Balancers,
3324.124 -> and IAM, and things like that.
3326.877 -> Or if you're a web developer and building web and mobile applications,
3331.281 -> Amplify is probably the tool you want to use.
3334.201 -> Again, you know, getting in Lambda, getting in S3, setting of Route 53,
3339.64 -> connecting you back to DynamoDB,
3343.126 -> because Amplify really targets a set of developers,
3347.948 -> that in general, is not that happy with actually doing back-end work.
3353.437 -> These are frontend developers
3355.506 -> that really want to build beautiful applications,
3358.842 -> but often are actually burdened to become full-stack developers,
3362.629 -> because they also have to connect to the backend.
3367.351 -> Now, so if you think about that, you know, most front-end developers
3371.905 -> are really good in the visual aspects of building your application,
3376.393 -> it might be HTML, and CSS, and JavaScript.
3380.13 -> But there's all these other things with web apps or mobile apps,
3385.135 -> that's the frameworks, that’s server-side languages,
3387.671 -> databases service, APIs, all these kinds of things
3391.175 -> that front-end developers actually don't really want to deal with.
3395.996 -> And so, the challenges for front-end developers are really,
3398.665 -> on one hand, lots of these front-end developers,
3400.701 -> the visual side is still manual.
3403.654 -> And then they have to connect the frontend to the backend,
3406.089 -> an area where they're actually really not that much interested in.
3409.843 -> And to help you with all of that, I'm happy to announce today,
3413.547 -> AWS Amplify Studio, which is a completely visual environment
3417.451 -> to build feature rich apps in hours and weeks,
3420.204 -> and connect them back to the backend without you having to do anything.
3424.925 -> [applause]
3430.931 -> It's really a developer-first approach.
3433.5 -> It's a truly low-code visual environment,
3437.237 -> where you can literally build web apps or mobile apps
3440.724 -> in a matter of hours.
3443.06 -> Yeah, and it's on one hand that will help current front-end
3445.812 -> developers move much faster,
3448.282 -> but also unlock this world for actually new type of developers
3453.22 -> that may not have that much experience, informed and developing.
3457.541 -> And to explain AWS Amplify Studio to you in more detail,
3461.261 -> I would like to welcome Ali Spittel, Senior Developer Advocate
3465.132 -> on the Amplify team. Ali.
3466.95 -> [music playing]
3478.795 -> AWS Amplify is a set of tools that bring the power of AWS
3483.8 -> to frontend web and mobile developers.
3486.803 -> With Amplify, you can enable data storage, file storage,
3490.657 -> authentication and hosting.
3492.926 -> And you can use the frontend libraries,
3495.028 -> hosting, and backend resource
3497.447 -> provisioning either a la carte in an existing application,
3501.885 -> or end to end in a new one for a seamless experience.
3506.974 -> When I have an idea for an app,
3509.543 -> I cannot wait to get it built and shipped.
3512.746 -> Development speed is so, so important.
3516.183 -> So I am so excited to introduce Amplify Studio.
3520.37 -> It allows me to build my ideas faster,
3522.806 -> and my designs are pixel perfect
3524.942 -> without needing to write custom-styling code.
3528.011 -> Amplify Studio makes it easy to work with AWS
3531.114 -> no matter your cloud of knowledge.
3534.234 -> You'll find you can quickly build feature rich cloud
3537.721 -> connected apps that have skill and security built-in.
3542.693 -> To show you what Amplify Studio can do,
3544.845 -> let's build an app together.
3547.814 -> I end up at a lot of technical events like this one,
3551.435 -> and I'm thinking of starting my own.
3554.104 -> So I'm going to build an app to show off the sessions for my talk.
3559.943 -> I want to put their sessions on a site,
3561.945 -> so that potential attendees
3563.463 -> can start giving me feedback about the sessions.
3568.485 -> I've gotten a couple of the session descriptions back,
3571.371 -> and I'm waiting to hear from a few others.
3573.841 -> So I need to make sure that the site is dynamic,
3576.143 -> so that I can keep adding the sessions as they come in.
3580.047 -> So earlier I created this data model, and it has four fields.
3583.267 -> As you can see, name, description, speaker name, and speaker image.
3588.272 -> I can add data fields or even another data model
3591.141 -> if I need as my application grows.
3593.527 -> So for example, what room each speaker’s going to speak in.
3598.815 -> I'll change this field type to date, time here.
3600.634 -> You can see how customizable this is.
3604.238 -> And you can also add relationships between the data as well.
3607.341 -> You can see that I had seven sessions
3609.943 -> already entered in to the Data Manager provided by Amplify.
3615.148 -> While I was at stage I asked Werner if he would like to talk,
3618.986 -> and he said he wanted to give a talk about the Everyware Cloud.
3623.574 -> So let's use this information that I got from Werner
3626.126 -> to create a new session.
3628.262 -> I'll plug in that title, description, speaker image and speaker name.
3633.467 -> And now you can see that there are eight sessions for my app.
3637.905 -> Amplify Studio helps developers
3640.724 -> and UX designers work better together.
3644.494 -> In addition to the significant time it takes for developers
3647.314 -> to make pixel perfect designs,
3649.533 -> oftentimes, those UX designs aren't implemented properly,
3653.437 -> which makes UX designers frustrated and makes it
3656.473 -> to the end-user experience isn't as good as it could be.
3660.394 -> With Studio, developers can import custom UI code
3665.482 -> from their designers using the popular design
3668.785 -> and prototyping tool Figma.
3672.656 -> So in Studio we'll paste in the link to our Figma file.
3677.995 -> This will import the UI components
3679.78 -> that my designer has made into Amplify Studio.
3682.816 -> You can see that there are all sorts of different ones,
3685.035 -> marketing nav bar, ecommerce, and my session card.
3691.375 -> So now I have a data model.
3692.993 -> And I have these UI components, I need to link the two and make it
3698.098 -> so that my session card
3699.833 -> shows the information about my speakers and their sessions,
3703.403 -> not just this hard-coded speaker name.
3707.124 -> So I'll configure my component.
3709.626 -> And then I can click to add a new component property.
3713.463 -> You can see that I can name it myself, and then choose the type,
3717.15 -> which auto fills from the models that I've created.
3720.604 -> Then I can click into the attributes on the UI
3724.424 -> and click into, example, for the image.
3726.81 -> And I'll set the source attribute to my image from my database.
3731.331 -> Then I'll do the same for speaker name
3733.317 -> and set that to the speaker name from, again, my data model.
3739.273 -> I'll do the same for title and description.
3748.665 -> And now I have my live data on my application on these components.
3756.006 -> I want to display all my sessions, not just this one.
3759.81 -> So I'm going to take the session component and create a collection.
3764.331 -> This will allow me to create a list or grid
3767.251 -> of all the different sessions that I have.
3772.005 -> So I can choose from different layouts here,
3774.441 -> so the grid or the list.
3776.326 -> I can choose which direction they go in,
3778.712 -> how many columns, the centering, the margin, and padding,
3782.766 -> all those fun types of things.
3786.854 -> And I can also choose exactly what data goes in the component.
3792.092 -> So I can add filters and also sort, for example, by the name of the talk.
3800.15 -> Now I need to integrate this into my application.
3803.453 -> And I call this part Copy and Paste Driven Development.
3807.641 -> Studio gives me these code snippets
3809.66 -> that I can use directly within my own application code
3813.297 -> to integrate the Studio components into there.
3818.118 -> I have already created a boilerplate React app with Create React App.
3823.207 -> So it's a brand new project.
3825.158 -> But you could also use these components in an existing one if you wanted to.
3829.596 -> So first, we'll run the command Amplify Pull.
3832.416 -> And this will generate all the React components
3834.618 -> from all the Figma components that I had synced into Studio,
3837.855 -> so you can see all the different components as they're listed out.
3842.526 -> Then I can use these React components however I want within my code base.
3846.63 -> So Amplify Studio saves developers from having to write
3849.983 -> thousands of lines of custom code,
3852.269 -> it auto generates human readable, credible React code.
3857.274 -> Later if I need I would be able to extend this code myself
3860.894 -> for additional control over my components
3863.213 -> or add more data properties if I need as well.
3866.917 -> So in my React code I just need two lines of code.
3870.254 -> One to import that session card component,
3872.656 -> and one to render it on the page.
3875.609 -> And I can just copy and paste these from Studio.
3878.612 -> I don't even have to think of them.
3881.665 -> So here's what my app looks like.
3883.333 -> All the sessions are displayed, didn't take a lot of time to build.
3888.105 -> At any points you can make changes to your designs in Figma.
3891.775 -> So I'm not a designer by any means.
3894.228 -> But let's round these corners out a little bit on the card.
3896.98 -> And I'll also bump out the font size on the speaker name.
3904.171 -> I’ll go back to Studio and import those changes.
3907.441 -> And you can see that I can either accept
3909.376 -> or reject the differences between Figma and Studio.
3913.213 -> So for example, if I'm not ready yet,
3915.315 -> or there's a problem with the styling,
3917.868 -> it's going to save me from accepting too early.
3921.922 -> Also, I don't need to hand author all of these changes
3926.293 -> to the design in my own code.
3930.664 -> So I go back to my development environment, re-run Amplify Pull,
3935.035 -> and all of my component changes
3937.054 -> and the designers changes are implemented in the app,
3940.507 -> Look at those beautiful rounded corners.
3944.561 -> As an apps use cases expand or an app moves into production,
3948.665 -> developers may require deeper control over their back end
3952.085 -> and deployment operations.
3954.404 -> Amplify’s newly launched extensibility features
3957.808 -> give developers the ability to integrate any AWS service
3961.044 -> in their application
3962.346 -> beyond just those offered by the Amplify tool chain.
3967.584 -> First, you can override the auto generated Amplify settings
3971.572 -> using Amplify Override, then within your code you can use CDK
3976.276 -> to get exactly the settings that you need.
3980.43 -> You can run Amplify Add Custom to add any of the 175
3984.585 -> Plus AWS services directly into your Amplify application,
3988.805 -> again, using CDK.
3992.192 -> And then, you can also run Amplify Export.
3996.096 -> And if you need to implement Amplify within your own deployment pipelines,
4002.135 -> you can export your Amplify app to CDK.
4006.29 -> And you can run that export process over and over again.
4008.942 -> It's not an eject where you escape out of the ecosystem.
4015.132 -> With many other front end developer focused cloud solutions,
4018.719 -> you hit a wall when you keep growing and building.
4021.872 -> But with Amplify that does not happen.
4025.859 -> With Amplify Studio, you can quickly go from a designer's vision
4029.913 -> to a full stack AWS connected application
4033.283 -> that can scale as your business does.
4036.203 -> Thank you all so much.
4037.855 -> [music playing]
4043.527 -> Thank you, Ali.
4045.712 -> Great story.
4046.813 -> And I'm really looking forward to see what kinds of things
4049.766 -> you guy’s going to build with Amplify Studio.
4053.103 -> Now, how do we build these compound machines?
4056.723 -> How do all these components get together and get connected?
4062.095 -> And, of course, all driven by APIs.
4065.632 -> But there is one thing within AWS
4069.603 -> is that we sort of value innovation over coordination.
4075.108 -> This means that it's not just a service,
4077.311 -> it's actually a team behind the service
4079.78 -> that is in contact with their set of customers.
4083.183 -> And really thinking about sort of, how can we move as fast as possible,
4087.871 -> addressing exactly the needs of our customers,
4090.774 -> and work backwards from what they need?
4093.794 -> Now, they're not coordinating with other teams
4096.563 -> that have other sets of customers
4098.031 -> and waiting for them to get sort of their interfaces together,
4102.236 -> we really are focused in each team on their set of customers
4106.173 -> working backwards from the customer to create their APIs.
4110.377 -> If we would be waiting for coordination,
4113.096 -> we would be in this five-year waiting game.
4116.183 -> Because then innovation would get stifled
4118.919 -> and we would not be able to move as fast
4121.355 -> as that we are now able to move this fast.
4124.424 -> Now, it comes with a downside, this lack of coordination,
4130.814 -> namely that our APIs are not necessarily coherent
4135.135 -> and consistent across each other.
4137.404 -> And why is because these teams are focused on their customers
4140.741 -> not on coordinating with other teams.
4144.478 -> And now quite a few of our partners have asked
4147.364 -> whether we can do something about that.
4149.316 -> Because for them, you know, the fact that for example here
4152.135 -> if you have a Lambda API call, you know, one that is a get function,
4157.658 -> and the Kinesis one is a described stream
4159.893 -> on all creating different types of resources.
4163.497 -> You've asked us can we do something that sort of supersedes this,
4168.685 -> that make it easier to start integrating new features and services
4172.973 -> into our products?
4174.474 -> And so, we delivered the Cloud Control API,
4177.828 -> which actually gives you a more coherent approach
4182.266 -> to all the different AWS API calls.
4185.135 -> It is not replacing the API calls that you have now.
4189.873 -> Yeah?
4191.091 -> All of our teams continue to be focused on their customers,
4194.545 -> working from their customers backwards,
4196.463 -> and giving them exactly the APIs that they need.
4200.501 -> And I really, really want to continue to push for that,
4203.153 -> because I think premature optimization is a killer.
4207.09 -> Yeah?
4208.292 -> And really, really starting to think about uniform
4211.478 -> APIs before you actually understand
4213.997 -> how your customers are going to use your service is very risky.
4218.085 -> And to be honest, you know, we've launched sometime services
4221.972 -> where customers were using the service
4223.874 -> then suddenly, in every way, with the one that we intended it to.
4229.346 -> And it sets sort of really sort of taking the Cloud Control API
4233.984 -> as something that is layered over the standard APIs.
4237.905 -> This still gives our partners the ability
4240.524 -> to sort of quickly integrate this into their systems.
4244.311 -> And companies like Pulumi,
4246.246 -> and HashiCorp are using the Cloud Control API
4249.733 -> to really quickly integrate new AWS resources into their applications.
4257.474 -> Now think about 15 years of AWS,
4261.745 -> we've created a lot of APIs over time,
4265.549 -> and there's also lots of lessons learned from that.
4269.069 -> And I just speak six of them, but there could be many more.
4273.307 -> If I think about how to build APIs,
4276.376 -> these are sort of my six shortlist or things that I first tell engineers
4281.081 -> that you need to be thinking about, yeah?
4283.584 -> It starts off with that APIs are forever.
4289.122 -> That means you cannot change or remove
4292.943 -> an API once you've created it.
4294.811 -> And why?
4295.913 -> Because once you put out an API out there
4298.832 -> customers are going to build their business on top of it.
4302.202 -> And you changing that API will basically break their business.
4306.323 -> That's the last thing you want.
4308.392 -> And the same is for, if you are evolving your API
4313.981 -> you can never break backwards compatibility.
4318.635 -> And the way to actually make that easier is to not have your engineers
4323.123 -> be in charge of what should be in the API.
4325.676 -> You should make your customers in charge.
4327.177 -> You should use your customers work backwards from their use cases,
4331.415 -> and then come up with the minimal and simplest form of API
4335.886 -> that you can actually offer them.
4338.472 -> And this is really important.
4340.123 -> Imagine you have an advertisement system.
4343.01 -> And you do three or four different types of campaigns.
4348.098 -> Should you have one API call to create a campaign
4350.517 -> with all sorts of flags
4352.169 -> and other things to actually modify the API call?
4356.323 -> Or should you just keep it simple?
4358.458 -> Just have one create campaign call,
4361.078 -> and then other API calls to actually modify the resource
4365.315 -> that you've created with this create campaign call.
4369.236 -> So make sure that you keep your APIs as simple as possible,
4374.107 -> because then you create really good building blocks for others to use.
4379.146 -> Yeah, and so again, don't only describe APIs.
4382.983 -> I think, actually five is, you should be able to look at the API,
4386.336 -> and more or less be able to figure out immediately what it does.
4390.591 -> And also, not only what it does,
4391.959 -> you actually really have to document the failure modes.
4394.645 -> Because you know, it's not only about what your API does,
4397.714 -> it is how it fails.
4399.7 -> And whether that is because of the input parameters,
4402.436 -> or maybe security reasons, or others, you actually have to make sure
4406.223 -> your failure modes are well described.
4412.162 -> And the last one is a tricky one.
4416.166 -> Avoid leaking implementation details for your API,
4420.771 -> because if you do your customers will rely on it.
4425.075 -> And they will start to figure out
4426.81 -> how you’ve actually implemented this under the covers
4429.313 -> and will start to actually use that knowledge.
4432.95 -> It's not a good plan,
4434.084 -> because that means you can no longer change your implementation,
4437.204 -> because now your customers
4438.355 -> are relying on sort of non-functional information.
4443.727 -> So before all of this, I hope that you actually take a look
4446.496 -> at sort of all the documentation
4448.315 -> and sort of the builders library documents
4450.701 -> that we have to dive into best practices around API design.
4457.074 -> Now, of course, you know, we want to give you tools for wherever you are.
4462.796 -> And actually where you are right now
4464.631 -> is that most of you are making use of SDKs to connect to AWS.
4470.337 -> Yeah, and you're very comfortable with that.
4472.623 -> And we've created SDKs for lots of different programming languages.
4476.844 -> And I'm happy to announce today that we got three more,
4480.764 -> Swift, Kotlin, and Rust.
4483.367 -> [applause]
4488.589 -> And then especially, of course, you know,
4490.34 -> Swift and Kotlin are targeting particular platforms.
4493.227 -> But I'm really happy that we finally have a Rust SDK,
4496.763 -> because I see an enormous interest in Rust,
4499.416 -> especially also when it comes to issues of sustainability,
4503.153 -> making use of the most sustainable programming languages out there.
4507.441 -> Now, it's not only where you are, it's also where you're going.
4511.745 -> Yeah, and I do think as much as I think
4513.797 -> that the SDKs will be around forever,
4518.652 -> it's also if you’re looking at sort of,
4520.771 -> how would you actually like to build your applications?
4524.441 -> And I know many of you are programmers,
4527.211 -> and would actually really like
4529.396 -> to build your own infrastructure as code.
4533.901 -> There are no longer a descriptive list
4537.287 -> that you need to use to setup your infrastructure,
4540.007 -> you really would like to do this from inside your code.
4543.844 -> And so that's what the CDK targeted.
4547.431 -> Yeah, and now you're able to build these constructs using the CDK.
4552.386 -> And you can share them with others.
4554.872 -> Yeah, and whether that is with your colleagues,
4556.573 -> or sort of as open source, the CDK has become very popular.
4561.211 -> And we've been actually working really hard to improve it.
4564.715 -> So in CDK v2, we fixed a number of the problems
4570.254 -> and issues that were in CDK version one.
4574.124 -> [applause]
4580.097 -> One mistake we made in v1 was
4583.133 -> that we basically had a package for each service.
4585.903 -> And it made it very hard for dependency management.
4590.057 -> And so, especially for our partners that were building constructs
4593.944 -> on top of this, you know,
4595.195 -> they basically needed to load 50 or 100 different libraries
4599.166 -> before they can actually have all of their dependencies resolved.
4603.904 -> So now, everything goes into one library,
4606.573 -> that's the one that you need to use.
4608.492 -> And we're able to actually then really open up the world
4612.663 -> for much less complex dependency management.
4619.236 -> Yeah, we also start making use of what's called semantic versioning,
4622.856 -> so that you actually know which of the versions
4625.709 -> of particular objects you're using.
4628.145 -> And there is something really cool, they call it CDK-watch,
4631.565 -> I'm not really sure about that name, I call it CDK hot swap.
4635.752 -> Basically, if you write a new Lambda handler, or a new ECS task,
4640.591 -> you do not need to restart your complete infrastructure
4643.11 -> and restart your CloudFormation templates, and things like that.
4647.281 -> Basically, you can just hot swap your Lambda code
4650.267 -> in and out without taking your application down.
4652.87 -> I think that's really absolutely cool,
4659.56 -> and allows you to continue to have your applications
4661.912 -> running even though you're updating and changing code.
4666.717 -> Now, generally available today is also the Construct Hub,
4670.07 -> which is an environment or the main sites for us
4673.841 -> to actually give you access, and find all the open source,
4678.362 -> and partner cloud development kit libraries out there.
4685.118 -> To talk a little more about the CDK and our customers have been using it,
4690.324 -> I would like to welcome Matt Coulter,
4692.125 -> the Technical Architect at Liberty Mutual Insurance
4695.078 -> to talk more about that, Matt.
4697.164 -> [applause]
4710.861 -> Thank you, Werner.
4712.746 -> Driven by the conviction that progress happens
4715.148 -> when people feel secure,
4716.667 -> Liberty Mutual is a global property and casualty insurer,
4720.47 -> protecting everything from homes, to cars, to businesses.
4725.893 -> We're there to back up our millions of customers
4728.679 -> when the unexpected happens.
4731.114 -> Today, every customer interaction is digital,
4735.035 -> from our applications, to our call centers, to our websites.
4738.972 -> And these interactions need to be easy 24/7, 365 days a year.
4746.763 -> Our story today is about adaptability,
4750.868 -> change, new ways of working and it's about innovation.
4755.489 -> As a 109 year old company,
4758.125 -> we've learned a thing or two about adapting to change.
4760.594 -> But in the last 10 years we've seen more change
4764.965 -> than in the previous 100 combined.
4768.418 -> Just thrive amongst this change.
4771.271 -> Our journey to the cloud became our Northstar.
4775.893 -> This journey began in 2014.
4778.462 -> We needed to relearn everything about how we delivered software at a time
4783.534 -> before most serverless AWS services even existed.
4787.738 -> To succeed, we needed to spark,
4790.023 -> a continuous learning and experimentation culture
4792.576 -> within our developers.
4794.845 -> That's why between 2014 and 2019
4798.315 -> we created world class automated guardrails
4801.335 -> on our AWS accounts.
4803.42 -> This meant that our developers could have the confidence
4806.273 -> to go out and experiment with new capabilities,
4809.443 -> and then bring back the learnings for everybody else.
4813.864 -> We also instilled the attitude that code is a liability,
4818.952 -> it's not an asset.
4821.121 -> What this means is that every single line of code
4824.808 -> must have demonstrable business value.
4827.778 -> And this has been core to our evolutionary architecture strategy,
4832.432 -> rapidly delivering business value in a well-architected way.
4838.689 -> In 2019, it was time for us to go through another evolution,
4843.41 -> this time using AWS CDK.
4846.613 -> But like everything else in life, we needed to start slow
4850.067 -> before we could gain some speed, and then optimize on best practices.
4854.988 -> It was August of 2019 when we started slow.
4859.176 -> I created the TypeScript proof of concept.
4861.712 -> And this, it was an L3 construct for a fully compliant
4865.482 -> private API gateway with a custom authorizer Lambda function.
4870.737 -> This might not sound like much,
4872.573 -> but it reduced over 1500 lines of CloudFormation
4877.094 -> dying to just 14 lines of CDK.
4886.186 -> And not only is that impressive, because it's less code,
4889.022 -> but all our teams could share a common construct,
4891.808 -> which reduces the code liability of the overall company.
4894.878 -> Plus, it enabled our standard CI/CD practices like unit testing,
4899.8 -> which was amazing.
4902.653 -> We then took things to the next level by pairing AWS CDK with AWS SAM
4909.176 -> for the enhanced local testing.
4911.712 -> This felt like a game changer.
4915.532 -> But we were still a long way from using it at scale.
4919.069 -> To gain speed, we needed to win the hearts and minds of our developers.
4923.323 -> And that's why before the end of 2019
4926.71 -> we launched a platform called The Software Accelerator.
4930.297 -> The accelerator allows any developer to clone a working pattern
4934.585 -> and have a compliant production ready pipeline in seconds.
4939.79 -> It allows anyone to contribute back their working software,
4943.81 -> further accelerating our continuous
4945.679 -> learning flywheel through inner source.
4949.416 -> My L3 construct was added to the accelerator at launch
4953.036 -> along with the strip back compliance starter pattern.
4956.707 -> From here, education was key.
4960.06 -> We ran the tutorial at cdkworkshop.
4962.379 -> com several times internally across the globe.
4966.383 -> And we always finished with every developer
4969.152 -> creating a working pipeline through our accelerator.
4972.206 -> This meant that after they left they could always add
4975.392 -> the business logic later from any of the open source CDK patterns.
4979.596 -> Then, I worked with some amazing people to create CDK Day.
4985.435 -> This was a global virtual conference.
4988.021 -> And it was so important that Liberty Mutual has had
4990.574 -> several speakers feeding back into the wider community.
4996.063 -> A great example of how CDK combined with our accelerator
4999.783 -> has been core to our continuous learning
5002.052 -> was at re:Invent last year 2020.
5005.923 -> AWS Lambda Container Image Support was the big announcement on Tuesday.
5011.044 -> By the Friday, a working pattern was in our accelerator,
5015.115 -> and it was being used to solve real business problems
5017.668 -> by the following Monday, less than seven days later.
5022.422 -> [applause]
5028.095 -> Throughout 2020, our flywheel had accelerated to the point
5031.381 -> we deployed more than three and a half thousand serverless patterns.
5036.103 -> That meant in 2021 optimization became key.
5040.507 -> We'd spent all this time embracing divergence,
5043.377 -> but now we needed to converge on best practices.
5046.747 -> This is where we use the AWS
5048.966 -> Well-Architected Framework to drive those discussions.
5052.236 -> We looked at what was common across all of our stacks
5054.605 -> and introduced core constructs for everyday capabilities
5057.224 -> like VPCLookups right out of the box.
5060.644 -> We then experimented with CDK Aspects
5063.914 -> to automatically warn on compliance issues
5066.667 -> right in the IDA further reducing developer burden.
5072.456 -> We now have an ecosystem of Well-Architected,
5075.542 -> reusable constructs that allows us to rapidly deliver business value
5079.713 -> in a Well-Architected way.
5081.899 -> The proof, we have teams leaving discovery
5084.601 -> and framing to deliver working Well-Architected products
5088.956 -> less than three days later.
5091.692 -> We're delivering industry leading capabilities
5094.811 -> like our unstructured data ingestion pipeline.
5097.915 -> It is 96% faster than the manual process and every bet is accurate,
5104.721 -> all built using well architected CDK patterns.
5109.476 -> In fact, a great story is we're so fast now
5112.713 -> that I had an intern join my team last year,
5115.065 -> and he was pushing code to production on his first day and nothing broke.
5123.724 -> This morning, you heard me talk through how we started slow
5126.927 -> by learning what CDK could bring to Liberty,
5129.179 -> how we gained speed through developer education,
5131.431 -> and scaled through inner source, until finally we were taking advantage
5135.619 -> of everything CDK has to offer rapidly delivering business value
5140.29 -> in a Well-Architected way.
5142.659 -> We've embraced continuous learning and experimentation
5146.847 -> to be there and deliver on our promise
5149.433 -> to our customers in their time of need.
5152.536 -> This is our mission.
5154.838 -> A great example of this is we built a serverless call center
5158.942 -> that can automatically process a claim after a natural disaster
5163.347 -> in less than four minutes.
5165.849 -> This allows our customers to piece their lives back together.
5171.722 -> This is our mission.
5172.973 -> And this is why we want to use CDK to tell dozens of stories like this.
5177.16 -> So going forward, we're going to continue to empower
5179.997 -> and enable our developers to be the best versions of themselves
5182.733 -> that they can be.
5183.884 -> We see this as a key differentiator,
5186.37 -> enabling us to push the boundaries of digital product,
5189.239 -> reuse an inner source whilst enabling our developers to stay
5193.06 -> in lockstep with our customer needs.
5197.03 -> So I challenge all of the builders, dreamers and doers out there,
5204.538 -> what was announced this week that you're going to enable tomorrow?
5207.558 -> Thank you.
5208.825 -> [applause]
5212.346 -> Matt, wait, wait, wait.
5217.067 -> Wait here, Matt.
5219.319 -> Come up here.
5221.488 -> And Matt has done tremendous work for the community,
5226.293 -> and creating really a truly fervent community around the CDK.
5231.431 -> And he's gone way beyond just sharing his knowledge and learning,
5236.336 -> and a sit I would like to give you the Now Go Build Award
5240.073 -> as a reward for all the efforts that you've done.
5243.11 -> [applause]
5245.612 -> Thank you, thank you so much.
5247.881 -> Thank you. Thank you Matt.
5255.389 -> So actually, what I haven't told you is that
5258.559 -> Matt also is part of our AWS Heroes program.
5263.597 -> And so AWS Heroes
5265.766 -> is a group of worldwide enthusiasts around AWS
5271.238 -> that are very much invested into sharing their knowledge.
5275.175 -> And there's about 230 of them around the world right now.
5279.279 -> I'm very happy that about the hundreds are here
5282.132 -> today in a room, upfront, over there.
5285.886 -> [applause]
5289.957 -> I'd like to thank every one of those heroes
5292.893 -> for all the incredible hard work
5294.895 -> that you're doing to build a community around AWS.
5300.284 -> Now, if we go then to Peter’s keynote yesterday,
5303.287 -> and quite a few of the other leadership sessions as well,
5307.674 -> you actually have heard us talk about something
5310.277 -> that is probably on the forefront of everybody's mind’s today.
5315.349 -> We've been building technological infrastructures around the world
5319.152 -> that consume significant energy.
5321.772 -> And everyone should be aware of actually how much energy
5326.393 -> they are consuming.
5328.812 -> And so if you think about, I'm taking this quote from Peter,
5333.183 -> from last year,
5334.935 -> “The greenest energy is the energy you don't use.
5338.155 -> ” So how to be more efficient and be more green at the same time.
5344.161 -> According to a 451 Research report, moving on premises workloads to AWS
5350.667 -> can lower your carbon footprint by 88%.
5355.355 -> Remember, we're able to actually get much higher
5359.776 -> CPU and memory utilization by sort of the management techniques
5364.264 -> that we use to place your instances and to run your functions for you.
5368.769 -> And especially those services that are serverless.
5372.606 -> Now, there we can really make an impact,
5375.275 -> because we can actually engineer there for sustainability
5378.762 -> and higher efficiencies in ways that are way beyond you
5382.099 -> would ever be able to do yourself.
5384.701 -> And remember, in the earlier days
5386.136 -> when we were talking to enterprise data center management,
5390.057 -> typical utilization in the data center is 12 to 15%,
5395.062 -> which basically means that 85% of the energy
5398.665 -> that you're using is lost, is useless.
5402.786 -> And so in AWS, we're coming up with this model where we will
5408.442 -> call it shared responsibility model, when it comes to sustainability.
5412.212 -> There where AWS is responsible for sustainability of the cloud,
5417.935 -> meaning that we do good water stewardship,
5420.32 -> we do lots of innovation in energy management,
5423.023 -> we are building our own silicon,
5425.843 -> so that we can really drive that cost down efficiency up.
5432.316 -> You however, as our customers are responsible
5436.303 -> for sustainability in the cloud,
5439.223 -> to make sure you pick those technologies
5442.292 -> that have the most impact for you.
5445.863 -> And one of them is, for example, to move to serverless.
5450.317 -> Lambda, our serverless function service
5453.003 -> can actually spin up compute to incoming requests.
5456.657 -> Yeah? And so as a result,
5458.992 -> we're able to get far greater utilization,
5461.578 -> CPU utilization, memory utilization, and therefore energy,
5466.2 -> Because we manage that fleet of servers,
5468.602 -> and can do absolute best placement for that.
5472.556 -> And as, you know, you can also get insights into say
5476.093 -> how many of the services are running,
5477.845 -> for how long they've been running in a sort of a good proxy,
5481.415 -> of course, for cost, but often also a very good proxy
5484.468 -> for sort of how much energy are you actually really using.
5489.056 -> And without actually really getting detailed insights,
5493.794 -> it's very hard for you to really understand
5497.047 -> exactly sort of what is your carbon footprint.
5500.534 -> Now, coming soon, and Peter announced this yesterday
5503.67 -> is AWS carbon footprint tool, which gives you clear metrics around
5509.009 -> how much carbon you are using in your applications.
5514.031 -> So one really simple thing is, of course,
5517.935 -> if you provision something use it.
5520.821 -> Don't let it sit around doing nothing.
5523.056 -> Yeah, and actually go back 2012, again,
5527.861 -> where I said, don't forget to turn off the lights.
5531.031 -> And what I mean by that is that
5532.583 -> with one click of a button you can scale up.
5535.485 -> But with that same button you can also scale down.
5538.639 -> Scaling is not only about scaling up.
5540.841 -> Scaling down is equally important.
5543.71 -> And every resource that you're not using
5546.496 -> is the greenest resource that you can think of.
5550.517 -> Now, I've also been thinking about something else,
5552.219 -> so it doesn't really fit yet in this shared responsibility model.
5557.074 -> There's also something you can start thinking about,
5560.043 -> is what is actually a good latency towards my customers?
5564.681 -> Imagine the average latency or the 99.
5567.734 -> 9% latency of your web pages will not be 1.
5571.004 -> 2, but 1.
5572.272 -> 5 seconds.
5574.074 -> How much more energy would you save there?
5577.594 -> If you look at current Twitter stream probably was at 60
5581.365 -> or 70% of these tweets have rich imagery associated with it.
5586.086 -> Well, if your images are not at high resolution,
5589.306 -> what if you use less imagery?
5591.525 -> How much less energy are you using?
5593.76 -> And so thinking about your customers,
5596.713 -> and how you present your products to your customers,
5599.333 -> and what can you do at the design level to think about
5603.537 -> if I design it this way, it will cost more energy.
5606.557 -> So thinking about the architectures, not only, but how am I using AWS?
5610.544 -> Am I using the most sustainable technology possible?
5613.964 -> But am I building the most sustainable application?
5617.518 -> So start thinking about that.
5618.752 -> Keep that in your mind.
5621.305 -> Now, to think about sort of sustainability,
5625.375 -> you know, we always talked about the Well-Architected Framework.
5629.346 -> Yeah, that had basically five different pillars,
5633.15 -> security, reliability, cost efficiency,
5636.27 -> performance, and operational excellence.
5639.473 -> And I'm happy to announce today that there's a new pillar,
5642.693 -> which is the AWS
5643.81 -> Well-Architected Sustainability Pillar
5646.263 -> that will give you advice
5648.498 -> [applause]
5654.021 -> that will give you advice about best practices that we've seen,
5657.224 -> and we'll continue to update the Sustainability Pillar
5660.694 -> as we get more and better insights
5662.98 -> into how to give you advice to build sustainable applications.
5668.135 -> Now, sharing knowledge like this has always been important.
5670.604 -> And so we can collectively work together
5673.207 -> and improve software development.
5677.044 -> And one particular area that I think we've been lacking
5682.049 -> is actually helping to answer your questions in an authoritative way.
5687.104 -> And so, the past years inside AWS
5690.974 -> we had the tool that’s called AWS Answers,
5693.443 -> and basically where our support people
5695.712 -> who were engineers were posting questions from their customers
5699.216 -> that they couldn't find answers for.
5701.435 -> And then all their engineers will be answering them.
5703.42 -> Basically, you’re getting authoritative answers to questions
5707.007 -> that really matter for our customers.
5709.56 -> And so I'm happy to announce today that we're launching AWS re:Post,
5714.548 -> which is a question and answer site for you,
5717 -> where you can get authoritative answers
5719.203 -> about any questions that you have about AWS
5722.155 -> and the architectures that you want to build.
5731.632 -> And I wouldn't forget, of course, remember, two years ago
5734.985 -> I launched the Builder’s Library.
5737.671 -> And I want you to continue to check this out.
5740.34 -> This is not just the Builder’s Library,
5741.892 -> we have experiences from our distinguished engineers.
5748.599 -> But it's also from over all of Amazon's,
5752.636 -> basically 25 years of experience of building
5756.156 -> high scale distributed systems.
5758.242 -> And there’s still articles I want to call out.
5760.027 -> Actually they’re, one, by Malcolm Featonby,
5762.863 -> which is about how to build built item potent APIs.
5767.351 -> And a very interesting one by Colin McCarthy,
5771.121 -> about sort of doing constant work,
5773.724 -> and how that actually helps you to build scalable systems.
5776.877 -> I urge you to check out these articles,
5778.812 -> because they're absolutely really cool and full of advice
5783.901 -> that you can apply immediately to building your own systems.
5788.555 -> Now, the cloud continues to change development.
5792.159 -> And it was our goal, because we want to work together
5794.595 -> with you to really build those tools that you need to have,
5800.901 -> those simple machines and compound machines
5803.187 -> that you need to build your applications of the future.
5806.94 -> Not those applications from five years ago.
5810.093 -> And as such, it's not just the cloud changes development,
5812.913 -> you change the way that we work,
5815.632 -> you change the way that the cloud works.
5817.201 -> We have this very tight feedback loop with our customers
5821.405 -> that continuously change
5823.307 -> how we are delivering new features and new services.
5828.629 -> Now, I’d like to bring some advice back
5830.397 -> from a given number of years ago,
5832.282 -> so it was a sort of a joke that I made,
5833.7 -> but I hope you take this serious.
5836.486 -> So there's a very famous quote from Edgar Dykstra.
5839.79 -> He was a Dutch computer scientist at the University of Austin,
5843.377 -> decades and decades ago,
5845.229 -> really into formal verification and things like that.
5847.965 -> So his quote was really that if you do something quick and dirty,
5851.952 -> you suddenly visualize that I'm looking over your shoulder and think,
5855.205 -> “Dykstra wouldn't have liked that.
5857.341 -> That would be enough immortality for me.
5859.693 -> ” Now I've modified that quote.
5863.597 -> So if 10 years from now you're putting something piecemeal together,
5867.651 -> instead of just using AWS, I hope that you suddenly visualize
5872.272 -> that I'm looking over your shoulder and think like,
5875.509 -> “Verner wouldn't have liked that,
5878.145 -> and that would be enough immortality for me.
5883.15 -> ” Now, what we've done here, why have we created all these services,
5888.655 -> all these features?
5891.708 -> And I think the words of the famous philosopher,
5895.679 -> Daft Punk, really, really are applicable here.
5900.734 -> We work it harder, we make it better, we do it faster,
5904.872 -> and it makes us all stronger.
5907.024 -> And really, this has driven this huge collection,
5910.794 -> the biggest and broadest set of array of cloud services
5914.431 -> that you can imagine.
5916.583 -> You can build infinite different ways
5919.453 -> in many different types of systems with all these components.
5923.557 -> Now, what if you would want to build something completely new,
5929.763 -> something that has never been built before that you can only build
5935.068 -> because you build it in AWS?
5939.323 -> So how would you build something really, completely new?
5946.013 -> Let's watch this.
5953.954 -> The stories that you've heard,
5960.127 -> they don't tell the whole truth.
5970.304 -> The island is indeed a place of legend.
5978.045 -> There is power and fast riches as well.
5985.702 -> But many who’ve sought to claim them have simply vanished without a trace.
6004.571 -> Your ship is stopped and your crew assembled,
6012.796 -> charge your course and your fate.
6021.772 -> We can return no longer.
6027.194 -> This corruption must be stopped.
6045.212 -> I will say a prayer for the souls of your crew.
6053.987 -> So New Worlds is a game designed by Amazon Games.
6059.193 -> And it's a massively online multiplayer game
6062.145 -> where players from all over the world
6063.981 -> can connect together and play together.
6067.134 -> What you can do, you can create a custom character,
6069.753 -> enter the world, and over time you play is progressed.
6074.374 -> You know, you carry more items and experience.
6077.928 -> And it's not a session-based game in that sense
6081.532 -> that once you log out you lose everything that you had.
6084.818 -> It's something where you can really grow over time.
6089.456 -> And so, this player navigate the world
6092.309 -> and can sort of explore all the different areas.
6096.897 -> And it's really expansive.
6099.166 -> And what you normally had with these games is once you move
6101.502 -> from one piece of an island or one piece of world to another,
6104.621 -> they get this loading screens, and things like that.
6107.191 -> That's not here.
6108.509 -> It is completely immersive.
6111.261 -> And the things you can do, of course, it's like usually in gaming.
6113.78 -> You know you can do combats, you can fight, you can craft trees,
6117.701 -> you can trade.
6118.836 -> And you can go on missions before the players.
6121.555 -> A place of free to explore this world in any way that they want.
6126.677 -> Now, when you look at New Worlds, you may see a game.
6131.849 -> I however, see a massively distributed system.
6137.07 -> And so let's take a look into how this actually is constructed.
6142.075 -> Now, first of all, if you think about the Old Worlds,
6145.612 -> Old Worlds was game servers.
6146.83 -> Yeah?
6147.931 -> And game servers were actually really servers
6151.251 -> where you would connect to it, the game would run into that.
6154.555 -> And it would be single physical server for you to use.
6158.926 -> So in the Old World if things needed to scale up, you need to scale up.
6164.581 -> Basically, by bigger hardware.
6167.117 -> In the New World, it's all about scale out.
6171.788 -> So architecturally, how does this look like?
6175.526 -> It starts with what's called remote entry points or reps.
6179.012 -> There's four of them in each world.
6180.998 -> And basically, they're a proprietary application routers.
6185.219 -> Clients connect to that.
6187.437 -> And there's where both security and resilience is handled,
6192.142 -> and reps are also the only public
6195.112 -> facing access points to the whole game.
6198.866 -> Then in that world behind it
6200.901 -> see through w computational processing unit,
6203.437 -> we call them hubs, you get seven of those.
6206.256 -> And each hub owns the compute for a portion of the world
6211.428 -> that you're operating in.
6213.83 -> And the third piece of this isn't warm instance pool
6218.051 -> that is shared on a per AZ basis,
6220.938 -> where you can actually go on specific missions.
6223.19 -> You can go like fighting, or you can go on expeditions,
6228.111 -> and actually then you use instances from those pools
6232.499 -> for the single gameplay there.
6234.902 -> Now, Aeternum, as the world is called is actually built
6240.073 -> out of 14 smaller regions,
6242.893 -> and overlaid on top of that are a series of grids.
6248.432 -> And so in a single world, you can have 2,500 players,
6251.952 -> they will be around 7,000 different AI entities
6255.572 -> and literally hundreds of thousands of objects for you to work with.
6260.844 -> Now, if you look at sort of the hubs, how they're processing this,
6265.148 -> we've actually taken the world, and put a grid over it,
6269.436 -> and each of the hub servers, hub instances
6273.724 -> are picking up two pieces of this grid.
6276.393 -> These two pieces are not consecutive.
6278.562 -> So if you move, for example, from block two to block three,
6282.516 -> you're basically handed off to another hub instance.
6286.537 -> And these are no consecutive, so you won't stay at the same hub.
6290.057 -> This really spreads the load out very nicely
6292.876 -> over all of the compute servers that we have.
6296.613 -> So each of these grids represent a physical simulation volume.
6301.118 -> And you can continuously move objects and AI entities around the world,
6306.223 -> moving from hub server to hub server.
6309.443 -> Now, when we launched New Worlds, we started off
6312.896 -> with roughly 185 of these different worlds
6317.818 -> spread out over multiple regions across the world.
6322.139 -> Within 10 days, there were 500 worlds.
6326.176 -> And believe me, the only way you were able to actually get this scale
6332.766 -> is because of the architecture, how we've made this.
6336.436 -> Now, it's important that there's these many worlds, yeah?
6346.196 -> And so something that is really radically different,
6348.432 -> but you just saw in the game playing there, in a traditional game,
6353.554 -> probably five times a minute, the user state
6357.157 -> and actions are being processed.
6360.21 -> In New Worlds, we were able to do this 30 times a second.
6364.982 -> So everything is simulated, redrawn, analyzed, and events
6368.535 -> are processed 30 times a second for all the world’s entities.
6373.307 -> This kind of game simulation requires a lot of CPU,
6376.81 -> and is really enabled by the use of multiple EC2 instances
6380.514 -> powering this world.
6381.665 -> It leads to very immersive gameplay,
6384.501 -> and a much better end-user experience.
6388.488 -> Now, of course, there's a lot of game state.
6391.825 -> But in essence, these games servers, the wanting to hop are stateless.
6396.63 -> They have ephemeral states and sort of in memory state,
6400.067 -> but they can always be restarted and even if all the hub instances fail
6406.223 -> we're able to bring them up quickly back online
6408.041 -> and restore the game state as it is.
6410.26 -> And why is that?
6411.695 -> Is because we’re writing everything to DynamoDB.
6415.849 -> And it's about 800,000 writes every 30 seconds
6420.47 -> to sort of store the game state in DynamoDB.
6425.676 -> Important is, of course, in such a massive distributed system
6429.696 -> is that you have good insight into what's happening
6432.432 -> even before the different components,
6433.917 -> and remember 500 worlds times each of that set of servers
6439.022 -> and you need to actually be able to operate it.
6441.575 -> Now, as I talked about last year in my keynote,
6446.213 -> observability is extremely important.
6448.982 -> And to be able to actually really get the observability
6452.586 -> meaning on the outside you can infer
6455.572 -> from what you're seeing what the internal state of the system is.
6460.01 -> You need to log everything, and sort of in a distributed system,
6465.616 -> it's important that you log this so that you can get the insight
6469.286 -> into exactly what each and every one of those components are doing.
6474.608 -> In New World, they use Kinesis to log the event.
6478.278 -> And so about 23 million events every minutes
6482.816 -> are being pushed through Kinesis into S3,
6486.386 -> and where it's then processed using a thin eye.
6490.44 -> And so this enormous data flow is used by every aspect of the team,
6496.513 -> that data analysts can discover everything from which wolf
6501.335 -> in the forest had been followed most,
6504.271 -> or you know, which paths are most traveled,
6507.624 -> or, you know,
6508.859 -> game designers can figure out how players are enjoying their game
6512.396 -> and can modify the game in real time based on this data.
6517.851 -> And also operationally, they're aware, of course,
6519.686 -> of what instance is doing, what their behavior is,
6522.155 -> anticipate service issues and deal with them really quickly.
6525.742 -> So we've found, you know, there's also the side, of course,
6528.562 -> of all of these next to the instant gameplay
6532.032 -> is all these things that are around it,
6534.084 -> and whether that is the operational side or for example,
6538.422 -> how trading and buying is being done.
6543.76 -> And so all of that is not running on any EC2,
6548.498 -> it is using Lambda for all of those.
6551.752 -> They power their control plane with it,
6553.754 -> but they also power all the non-core gameplay activities by using Lambda.
6562.012 -> And one thing that I mentioned earlier is that there is the ability
6565.766 -> to actually also do session based modes.
6568.802 -> Basically, you can invite five of your friends,
6571.388 -> and you step through a portal, or you go into a dungeon
6574.575 -> where you’re going to slay some dragons there.
6577.778 -> But only the covers, you actually be playing on one of these EC2 instances
6582.766 -> that comes from the shared instance pool.
6585.385 -> And this allows us to free up the traditional processing of gameplay
6591.842 -> and the session modes are done on a separate pool of instances.
6598.632 -> And once you are actually finished with your quest
6602.786 -> and return to the world out of the dungeon,
6605.756 -> that EC2 instance is returned to the shared instance pool.
6611.378 -> So you end up with a quite interesting large scale architecture
6617.401 -> that is really built with a serverless mindset in mind.
6622.723 -> And serverless indeed plays a very important role in that.
6626.844 -> If you look at sort of what numbers are there, you know,
6631.715 -> there's well over 150 million Lambda invocation each minutes.
6637.07 -> It’s still a million calls for the API gateway,
6639.973 -> ElastiCache easily get to 275 hits a minute.
6644.361 -> All of these things would never have been able to achieve
6648.315 -> if you would have to do this in on premise with your own hardware.
6656.106 -> Now, this truly is a MMORPG game born in the cloud,
6662.145 -> and it would only have been possible to actually run this in the cloud.
6667.401 -> It would never have been able to build this sort of
6670.787 -> totally immersive experience using bare metal.
6677.394 -> Now, if you think about this, you know, now certainly with AWS
6683.483 -> you can build systems the way you always wanted to.
6686.787 -> There's nobody that tells you what you cannot do.
6690.057 -> There are no gatekeepers.
6692.926 -> You can build the way you always wanted to build your applications.
6698.065 -> And it means you end up with applications that are fault tolerant,
6701.385 -> secure, scalable, cost effective, and sustainable,
6706.273 -> and they’re 3D important.
6707.674 -> I call this going back these 10 years, 21st century architectures.
6713.697 -> Then if I look at sort of,
6714.948 -> and I urge you actually to look back at that first presentation I gave,
6719.052 -> because there's lots of really solid advice from day one.
6723.607 -> And if I look at sort of the advice I gave you,
6726.126 -> in those days, they're all very solid,
6730.397 -> and have allowed many of our customers
6733.584 -> to scale to unprecedented scale,
6736.27 -> and maintain ultra-high reliability and security over time.
6741.341 -> So if I look back at some of those, you know,
6743.861 -> protecting your customers will be forever,
6747.047 -> should be forever your number one priority.
6750.4 -> It is definitely the hours.
6752.236 -> It will be forever a number one investment area to protect you.
6758.942 -> And actually, if it's coming where we’re talking about protection,
6763.23 -> you should build security from the ground up.
6765.766 -> This is a conversation I often have with younger businesses
6768.702 -> who are so gung-ho on building a new product
6771.955 -> that they want to build.
6773.557 -> I actually urge them on day one to start thinking
6777.661 -> about how to protect my customers,
6780.03 -> how to make sure I am as secure as possible,
6782.833 -> what are the tools and techniques that AWS gives me
6785.652 -> so that I can protect my business, as well as my customers.
6790.624 -> And the same goes for the other sort of non-functional requirements.
6794.111 -> Instrument everything all the time.
6796.864 -> And why?
6798.065 -> Is because these two things, security and operations
6801.518 -> are something that you will probably have to do for the rest of your life
6805.739 -> of the lifetime of the system that you're building.
6808.675 -> The time you operate and protect the servers greatly outreaches
6814.414 -> the time that you actually spend on building it.
6817.05 -> So every investment you make in security
6819.987 -> as relating operations will pay off forever.
6825.442 -> Now with this advice, I will leave you.
6828.645 -> I’ll hope you see you guys tonight at the party,
6832.232 -> we've said, and with that, thank you, and now go build.
6837.171 -> [applause]
6841.225 -> [music playing]

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