Podcasts

006 - AWS re:Invent recap with Ryan Lewis

December 10, 2019

Catch up on all the big announcements from AWS re:Invent 2019 with Pluralsight author Ryan Lewis

Get the latest on Braket, Lambda, SageMaker Studio, Kendra, AWS Outposts and much more!


If you enjoy this episode, please consider leaving a review on Apple Podcasts or wherever you listen.

Please send any questions or comments to podcast@pluralsight.com.

Transcript

Jeremy:
Hello and welcome to All Hands on Tech, where today's leaders talk tomorrow's technology. I'm Jeremy Morgan. AWS Reinvent is a learning conference held by Amazon Web Services. It's the big go-to conference to learn what's new with AWS as well as what's coming soon. It's a place where AWS developers, engineers, administrators, and architects can gather and learn more about what's going on in this amazing ecosystem.

Today we're going to talk with Ryan Lewis. He's an AWS developer and engineering manager at Kuali. He's also a Pluralsight author who has created some great courses on AWS and he's going to fill us in on AWS Reinvent 2019. Let's welcome Ryan Lewis.

Jeremy:
And how are you doing today, Ryan?

Ryan:
I am slightly exhausted from the week, keeping up with all the news coming out of AWS Reinvent. But other than that, doing well. Thank you. How are you?

Jeremy:
Understandable. I'm great. What was the overall theme of this year's Reinvent?

Ryan:
Yeah, overall theme's interesting because I think AWS is working on quite a few different vectors that don't necessarily cross paths a lot. But I think the overall theme is that AWS is utilizing their size and their market share to gain a competitive advantage over pretty much any other comparable cloud provider. And so you see that in software things that they're releasing, you see that in hardware things that they're releasing. And just the pure number of new services and new products that they announced in a single week, I feel can't really be compared with any other cloud provider.

Jeremy:
Yeah, that makes a lot of sense. They're probably trying to branch away from the commoditization of services in the cloud?

Ryan:
Yeah. I think when AWS first came out, what was so groundbreaking and amazing about it was how they broke down the barriers between a developer who knows how to code but doesn't really know how to do operations and getting that developer's code into customer's hands by doing virtualization for the infrastructure, making the interface really easy to use, and bringing those worlds of operations and developers closer together.

And I think at the time, yeah, it was definitely ... they were just using hardware that they were purchasing and trying to make work, and their secret sauce was their software and their virtualization. But what we're seeing now is that they're not only creating very, very custom virtual machines and hypervisor software, but, they're actually going forward to creating hardware and creating special things that you can only get on AWS and are going to be really hard to replicate for competitors or up and coming startups that may be trying to compete with AWS. I think that's going to be really difficult.

Jeremy:
Yeah, that makes a lot of sense. What are the big changes with serverless technology, for example?

Ryan:
Yeah. When I was at Expedia, I did a lot of serverless on AWS and so I'm very passionate and interested in it. And serverless turns ... AWS Lambda specifically, turns five this year. I can't really believe it's been out for five years because it still seems so new. But there are two main issues with serverless architecture that I've always heard and that I've actually had to deal with myself.

One issue was the cold start problem. When you run an AWS Lambda function, when you first invoke it, AWS has to set up an execution environment for that Lambda function. And so that involves taking the code where it was stored, likely in S3 and getting it set up on a VM. And then the code itself, whether there's initialization or getting dependencies set up, that has to run as well. And then the code that you actually want to execute, starts running. So they call that the cold start problem.

And then we have this other problem with database connections. If you use a regular database that requires a persistent connection, like MySQL or MongoDB, you have this problem with these Lambdas that are invoking. Each one has their own execution environment. Every time it invokes, if it needs to connect to a database, it creates a brand new database connection. And you can imagine your database on the other end is just going to fall apart when it gets a thousand connections at once that want to connect. A lot of web servers, they use connection pools so they don't have these problems.

But this AWS Reinvent, AWS announced two new features or products that solve both of those problems, which I feel like they've just blown the serverless issues out of the water and now it's a no brainer. The first of those is to solve the cold start problem, which is, they allow you to set up Provisioned Concurrency for Lambda, which basically allows you to set a number of environments you want to be available and already ready with your code and the execution resources that you require. And so it completely solves the cold start problem because now you have a ready to go environment. Your code's going to execute as fast as it would if it was already ready to go.

But on the other hand, it kind of removes the idea of serverless where you only pay for what you use because now you've got an execution environment sitting out there waiting to take those requests. I feel like it was a compromise in the serverless vision, but it does so much good for getting serverless into everyone's hands now that I feel like it was worth it.

Jeremy:
That makes a lot of sense, and that's something that I've dealt with as a developer also on the Azure side with say, Azure functions and web apps where they have that warm up time and it's that first bite. And what you'll have is people in the morning are like, "Why is it so slow?" Well, you must have been the first person to access the service. And so we do these hacky things like writing bash scripts with curl to do a quick bite once an hour or once every half an hour. And those kinds of workarounds I know are super common I'm sure in the AWS world also.

This does sound like it's a good compromise for something that I know has been a complaint for me and a lot of developers trying to get rid of that first bite. But at some point, when does it become an EC2 instance? I know at that point if it's sitting up and running, monitoring all the time. So I'd be curious how they're doing that in the background and how they're managing that.

Ryan:
Yeah, totally. And I thought about that because when I think of serverless, I think of this really nice thing where you don't have to pay when you're not running your function. And it seems to me like the developer experience of really easily being able to just write an arbitrary function and just have it run, not having to worry about the infrastructure, is still something that is really valuable in Lambda but for me, it kind of breaks down the lines between Lambda and Fargate, which is another serverless service that AWS has that specifically for containers. So it seems like now, Lambda and Fargate becoming a lot closer to each other than they were before.

Jeremy:
And so is Fargate kind of a manager, somewhat similar to Kubernetes where it manages your containers or is it something that is its own proprietary solution?

Ryan:
So Fargate, it actually does run Kubernetes. That was actually one of the announcements this Reinvent is now that Fargate works with the elastic Kubernetes service. Previously, it just worked with the elastic container service, which was just for Docker containers. And so now you can do Docker containers or Kubernetes clusters using Fargate. And so, it is proprietary. I don't know if it does the exact same thing as Kubernetes, but you can run Kubernetes on it and the benefit of it is you don't have to spin up EC2 instances. You just say, I need these resources for these containers and it goes, which is really nice.

Jeremy:
So what can you tell us about SageMaker Studio? And I've touched a lot of things on AWS and I've developed things for AWS and then of course gone around the console and popped into different things, but I've never loaded up SageMaker Studio. So how would you describe it to somebody who has idea what it is?

Ryan:
Yeah, well I'll be honest, I haven't been able to launch SageMaker Studio either.

Jeremy:
Okay.

Ryan:
But I can talk as some lengths about it. So, SageMaker is AWS's machine learning product. They previously had a product called Amazon Machine Learning and it was very, very rudimentary. If you weren't an ML expert and an AWS expert, you had no hope of making it work. SageMaker is kind of the evolution of that. Trying to make it more friendly, make it more easy for data scientists to use machine learning on AWS without having to understand things about infrastructure and how AWS works. And so SageMaker Studio is what they actually announced during Reinvent 2019. SageMaker Studio is an even further evolution into that, which actually brings in an in-browser IDE, which is really amazing because now you don't have to get your machine learning algorithms working locally and then push them up to SageMaker.

Now you can just do everything in SageMaker, you can store your models, you can train your models, you can write your code, you can manage them. And then the key piece of SageMaker is that you can then deploy those models and actually use them for real things. Anything machine learning that you would want to do, you can do in SageMaker and SageMaker Studio makes it even easier to work with all of those things.

Jeremy:
Nice. So yeah, that makes a lot of sense. Because there's probably a lot of engineers out in the field who are very focused on AI and ML and all of those key pieces, but they're not necessarily a Linux person or a Windows person that wants to build and configure and set up all these things. So that abstraction there, I could see how that would definitely help make them more productive if they can focus on building their applications and not tinkering with the operating system and things like that.

Ryan:
Yeah, totally. And I've found that because in my spare time, I've been trying to learn machine learning and deep learning. What I have high hopes for SageMaker Studio is that when I'm doing the exercises and the courses, I can do those in SageMaker Studio. So not only am I figuring out how to make machine learning work, I'm also figuring out how to make it in the cloud. So if I finally do get to the point where there's something I want to use with a real world application, it's already in SageMaker and deploying, it's going to be really simple.

Jeremy:
Yeah, that sounds pretty cool. So what can you tell us about CodeGuru?

Ryan:
Yeah, there is another aspect of AI. So SageMaker is a big thing that AWS is pushing. Machine learning in AI is obviously huge in the world of technology. They also started releasing products that worked for developers and work with your AWS account that were powered by machine learning but weren't necessarily selling machine learning. So SageMaker obviously is selling kind of machine learning as a service. There's some other services such as Transcribe and Recognition that do image recognition and speech to text. But CodeGuru is an example of a service that will actually review your code and use machine learning algorithms that analyze a lot of open source projects and also Amazon projects to basically look at your code as if it was a person who understood all of the best practices from all of this great open source software and give you suggestions and tell you when you should be doing things. So that's a really interesting example. It's only for Java right now, but hopefully ideally they would release that for other languages as well.

There are a few other products that they released as well that are using machine learning to sell a service and one is Detective which detects suspicious activities in your AWS account. Another is Fraud Detector, which tries to predict fraud and eCommerce and they use a lot of experience from Amazon.com to power that. And then the last one that that seems really mind blowing but I didn't get a chance to actually work with is Amazon Kendra, which is almost like an organizational Siri is how I thought about it. You're able to basically point it at your company's data and then you can query Kendra using natural language questions. Like what time is the Utah branch closing today? And Kendra should be able to go and look at your organizational data and give you an answer. I don't know how it works. It seems kind of sci-fi, but that seems really exciting.

Jeremy:
Yeah, definitely. And that seems like that would be really good for all that internal information. You know, the stuff that you're not obviously going to build a search engine for on your website for the public to view, but still valuable data that you got to get your hands on.

Ryan:
Exactly.

Jeremy:
So what was the keynote about this year?

Ryan:
Yeah, so there were technically four keynotes Monday night and then Tuesday, Wednesday and Thursday morning. The Monday night keynote was focused on infrastructure and that's where they talked about some of the new EC2 instance types that they're releasing and new chips that they've produced. The Tuesday keynote was with the CEO, Andy Jassy and that's when he announced all the fun things. Like pretty much everything we've talked about so far as has been announced on that Tuesday keynote. The Wednesday keynote was about the global partner program and that was really about companies that work with AWS for customers and that one had ... it was mostly business things. But the one that really excited me was the Thursday keynote with the AWS CTO, Werner Vogels. He really talked about how AWS was almost transforming the world, the ways that companies were using AWS and certain services to do things that had never been done before.

And I saw that the most in the ways that companies were combining AWS IOT and AWS SageMaker and basically they were getting real world data from IOT, and processing it and creating predictions with SageMaker. And that combination was basically enabling these companies to do things that have never been done before in the history of humanity, which is kind of cool.

Jeremy:
Yeah, that's amazing. So what were some of the examples of things that they've used Amazon IOT for?

Ryan:
Yeah, so Sail Drone was one that I kind of thought was the most amazing. It is a company that is trying to basically create oceanographic data for us to understand how basically the oceans work. Oceans are something like 75% of the earth's surface, but the way that they described it in the keynote was that we have significantly less sensors and data coming out of the ocean than we do on land.

One of the biggest issues is, it's just hard to get that data if you can't just drop a sensor in the water and expect for it to continue to work. So Sail Drone creates these drone basically ... like little drone boats that are solar powered and connected with AWS IOT to generate and gather that oceanographic data and then send it back to the cloud. They can use IOT to manage those drone boats and detect where they're at and give them instructions and things. Collecting that data is really important, but then SageMaker can actually do things with that data and process it and get insights from that data for climate change and for ocean logistics and all sorts of things that are important in the real world.

Jeremy:
Nice. One announcement that I heard about is additional data centers located in different areas. Did you see any coverage about that or have any thoughts about that?

Ryan:
Yeah, so traditionally AWS has been located in regions and there's been a massive migration from local centers to the cloud, not just AWS, Azure and Google cloud program and Google cloud as well. But what's interesting is that this Reinvent, AWS announced a few different ways that they were ... I felt like it was them leaving the cloud, which was kind of interesting. So one of the ones that was kind of difficult to wrap my head around was AWS outpost, which is basically on premises data racks that you can buy from AWS and they will send engineers out to install these racks at your local location. And the hardware is AWS hardware. The software that you use to interact with it is AWS software, but it's sitting there next to you and your place where you're at.

To me originally I thought, okay, so we went from on premises to the cloud and now we're going back to on premises. And it was a little bit difficult to understand, but some of the immediate applications that they talked about were for these IOT type applications where you've got maybe a factory or warehouse and you're gathering all this IOT data, you want really, really low latency. So if something goes wrong you can immediately act on it. And by having an AWS outpost there in your place, you're able to actually collect that data faster and process that data faster and do something about it. And so I think in terms of manufacturing and facility and warehouse facilities and research applications, I think outpost is probably going to be used most for that. That wasn't the only moving out of the cloud thing that happened.

They also announced two new initiatives, I guess you could call them, I guess maybe they're services. But AWS Local Zones and AWS Wavelength. And local zones are new data centers that are really close to large geographical locations. So traditionally, AWS data centers are located in and out of the way places close to maybe the coasts, but also not really close to any places where a lot of people are. So there's not a Seattle region or a LA region or a New York city region. What they're trying to do is get these data centers closer so that latency between AWS servers and the people who are actually using them is super low. And so they're accomplishing that with Local Zones and they actually launched the LA local zone this week, which is pretty cool.

So customers in LA who are using some application which has deployed to the LA local zone should see much lower latency for things like that. And I feel like AWS is trying to preemptively solve or improve kind of broadband speed issues around the world, if not just in America. By doing this, they're giving an option for these large customers. I think of applications and multiplayer gaming and video streaming, they're giving them options to get as close to their customers as possible and so have the lowest latency between the connections and things like that.

Jeremy:
Yeah, no, that makes a lot of sense. I know the Amazon data centers here in Oregon are kind of remote, not in the middle of nowhere. And that's probably due to maybe land price or something like that or maybe even resiliency being tied in with local networks. In a big city like Los Angeles, there could be some interruptions or problems, but I could definitely see why they're trying to localize, like you said, for the lower latency. Kind of the same thing with the outpost. Just quicker connection between two points.

Ryan:
Yeah. And, and Wavelength is a way that they're doing that for mobile devices. So Wavelength is AWS putting their data centers and their infrastructure in the same data center as mobile carriers. And so they announced they've got some initial partners in terms of Verizon locally in America and then some others around the world. And so that basically they're getting it set up. So if you're on a mobile device with that carrier and you're trying to access some application that's deployed in AWS, it doesn't actually have to leave the mobile network for you to connect with that application, you're able to do it just completely in the Verizon network for example. And so yeah, Local Zones and Wavelength, they're trying to solve that latency, the speed issue. And it's pretty interesting to watch.

Jeremy:
Yeah, that is very interesting. So what can you tell us about AWS Bracket?

Ryan:
Yeah, so Bracket for me was a mind blowing moment, kind of like a, wait, it is this real life is this April fool's? Bracket is a unified quantum computing cloud service from AWS. And I do not keep up with quantum computing. I saw the article a few months ago and Google reached that quantum supremacy benchmark. But subsequently with bracket being announced and released and preview at the same time, I started doing some research and it's really amazing how far we've come considering that I kind of thought quantum computing was still not really feasible. So let me explain what Bracket is past the quantum computing cloud service because that's a bunch of buzz words all mashed together.

So Bracket allows you to run code in quantum computing simulators. So simulators that are pretending that they're quantum computers but are running on just regular computers. And then also it allows you to run and code on actual quantum computers that have been developed by ... currently they have hardware from D-Wave, Rigetti and IonQ, which I was not familiar with any of them. Those are companies that develop quantum computers basically. And what's interesting is Bracket is making it a lot easier for developers to interact with those quantum computers as well as the simulators because now you can do it all in one place on AWS, which is something that the researchers are really whoever's going to be doing this. You may already be familiar with AWS and what's also interesting is using Bracket, you can try out and run your code on all three of these providers and the providers don't create the same product. Each quantum computer is a different type of quantum computer. Basically they're achieving quantum computing through different means.

And so I can imagine an application where you're running your code and you're able to run it on all three of these different types of quantum computers to see where you get the best result. And actually do research between them, which I think is really interesting.

Jeremy:
Yeah, that is really interesting. And that sounds like a really good leap in that direction because I also don't know very much about quantum computing, but I'm sure that the development for it is quite different as far as handling threads and things like that, probably completely different. So being able to do it on your local machine just to see how it's probably maybe going to go and then push it up to the cloud and try it out and benchmark. That's, that's pretty exciting. I know that when Azure came out with their storage emulators and things like that, it cut the workflow for the developers big time because we weren't building things and then saying let's push it to Azure and see how it goes, which we did for a long time and then we were able to do it on the local machine. Then all of a sudden, you just see the flow of software and productivity go up just from that small piece. So that's pretty exciting stuff.

Ryan:
Yeah. I think also, since Bracket's in preview, I'm looking outside the fence. I think the other big piece of that is when you're running your code on those simulators, it's going to be significantly cheaper than running them on the actual physical devices, which I can only imagine is quite expensive at this point. And so you're not having to incur some physical insane cost just to run it on the quantum computer. You can, like you said, test out your code on the simulator to make sure that it actually works and you're not going to be wasting your money.

Jeremy:
You mentioned earlier about a hardware competitive advantage. What can you tell us about some of the announcements surrounding some hardware changes?

Ryan:
Some of the announcements with hardware or I guess technically hardware announcements, but they talked about how previous things they had announced were being used to make AWS even better than it had been before. And although there were some new instance types, like they have a new graviton two powered EC2 instance, which actually uses arm architecture instead of x86 and that seems really promising for lower costs considering that arm processors use a lot less energy. And then there was an inferential chip that they announced, which is used for AI and machine learning and doing inferencing. That's all really interesting. But the nitro system is something that they talked a lot about. With the Thursday keynote with Werner Vogels, he talked extensively about the nitro system.

And basically what this does is it takes the load of virtualization and network and even file IO that your EC2 instance would normally be using and it moves it to a different hardware device. It's an actual hardware ... not really a chip, but a hardware card that manages all of those things as well as has a hypervisor running on it. So you're able to kind of utilize even more of the EC2 instance or the code that you want to be using than before. They're really talking about how that is changing things, how it's making everything run faster or be cheaper, how it's even a lot more secure because they're able to move a lot of the security onto the nitro systems.

So you're basically running your EC2 just in your own space and you don't have access to things you shouldn't have. So that was really interesting. And that was something that they talked at length about. Basically that's one of those competitive advantage things I think about with AWS is they're able to develop these things because they have the money and the resources and the reach and other competitors likely would have trouble doing something similar.

Jeremy:
I think some of the push to arm ... and it's kind of one of my predictions, don't hold me to it, but I think there's going to be more arm servers becoming developed in the future because it's so much more power efficient. And in something like 30% of data center costs are electricity. So I think that might be a part of their competitive advantage as well. If they're able to build out a bunch of arms servers, when we reach that point, they're going to be using less electricity. And there there's a lot of workloads that can work on that simpler instruction set. We've had reduced instruction set servers for decades, but there's still people that are like, we have to have x86 for this and this and this. But there are definitely some workloads that don't utilize all that instruction set. So I think that would give them a huge advantage if they moved to that point to be able to do the arm servers and then of course give out the service to people cheaper. That's also going to be a huge advantage for them. So that's where I say when I was reading about that, I was like, I wonder if they're going to start heading towards arm servers like people have talked about in the past.

Ryan:
I think so, yeah. I completely agree with you. I think that's the future. And they've already got Amazon Linux running on it. So they say that one of the great applications for it is just web servers, which is something that AWS is used a lot for. That's what I've traditionally used AWS for it at jobs and running that on arm server. If it's half the price, it's just a no brainer really.

Jeremy:
So is there anything else that was announced at the Reinvent that we haven't talked about that you'd like to share with us?

Ryan:
This isn't really an announcement but AWS was having a Twitch live stream basically every day of the conference. And they were bringing engineers and product managers on to talk about the things they were announcing. And then also new features and stuff. And one interesting thing that they talked about that I didn't actually know had been announced is AWS now has a chat bot and the chat bot is able to connect in with Slack or AWS Chime, which is their Slack competitor. And what's interesting about this is you're able to do a dev ops using that chat bot. So in Slack you're able to say something like, hey AWS, invoke this Lambda, or hey AWS, spin up an EC2 instance. This is something that a lot of ... there are already existing competitors for, but I think it's really interesting that now AWS is creating their own because for me this creates a new way that I can and likely will interact with AWS.

Previously you use the web console, you use the CLI and use the SDK and those were the three ways that you interact with AWS. Now there's this fourth way with the chat bot and I mean I'm in Slack almost every day I'm in Slack on my phone. And if I can just use Slack to basically manage my AWS infrastructure, wow. That's a game changer for me. I'm really looking forward to it. It's still in beta and it doesn't have all the features that it should have, but it's based on what they talked about in the Twitch stream during Reinvent, it's coming along, they're adding the things they need to add and even today it's quite useful. So I'm really excited about that personally.

Jeremy:
Yeah, that does sound pretty exciting. And I imagine there's a visibility component that will be put in at some point or maybe is already put in to where you can ask about things like, is this up, is this, ... what is the load level on this particular resource.

Ryan:
Yeah, for monitoring.

Jeremy:
Because I could see how that would be pretty interesting to, if you're just walking in the park with your family and, and you get an alert and you say, hey, I wonder if I can figure out what's going on just by going on Slack instead of breaking out the laptop or going back to the office. I think that would be a game changer for sure.

Ryan:
Yeah. The families won't like it, but it would be nice for us, right?

Jeremy:
Well thank you for talking with us about AWS Reinvent. What was the number one thing if you had to rank them all, that was the most exciting to you personally?

Ryan:
I think for me, considering just my background with serverless, it was the Lambda provision concurrency. I think that is ... it's breaking down the arguments for not using serverless and Lambda, and I think that's really good for the tech industry as a whole. I think the more that we're wasting time dealing with infrastructure and wrestling with these things, that as developers we oftentimes don't have a lot of experience with. I think moving things into serverless technologies such as Lambda is going to be the future and it's going to continue to be the future. And so, adding new features like provision concurrency makes it so that you can do anything you need to do in serverless and I think that's super exciting.

Jeremy:
Yeah, definitely. Well, thank you very much for talking with us. And we're excited to see how people put this to use, and it's a pretty exciting time to be an AWS developer, I think right now.

Ryan:
Yeah. Yeah, definitely.

Jeremy:
All right, well, thank you very much, Ryan.

Ryan:
Okay, thanks, Jeremy.

Jeremy:
Thank you for listening to All Hands on Tech. If you like it, please rate us. You can see episode transcripts and more info at pluralsight.com/podcast.