Transcript
A (0:00)
Let's imagine this. You have built a slick little web application. It's kind of a monolith, but it's solid, it's a rust backend. And maybe in the front end you're using solidjs. You see what I did there? And it run well enough. And maybe initially you deployed it on premise. Maybe you have a client that gave you a box where you just put all the code and it's running fine. But now, for whatever reason, it's your turn to host it. And of course you want to host it in the cloud on aws. So what do you do? You could roll up your sleeves and dive deep into VPCs, load balancers, ECs, task definition, and all the other delightful complexity that comes with running containers on aws. Or maybe there is a simpler way. What if there was a service that just took your code or your container, whatever that is, packaged it, built it, deployed it, scale it, and just gave you a URL and even an HTTPs connection and at that point you are just done. If you do any change in your repo commit on main, the process will just start again and give you a new version just ready to use. That's actually the promise of a service called AWS App Runner. And in this episode we are putting that promise to test. So we'll share the real story of a project that we recently migrated, why we choose App Runner for it, and everything we discovered along the way. The good, the bad and the downright confusing. And there is a lot of confusing. Spoiler Alert. So if you ever wish for an Heroku like experience on aws, or if you are just trying to figure out when to use App Runner for instance, compared to something like Fargate, hopefully this episode will answer all your questions. My name is Luciano and today I'm joined by Connor for another episode of AWS Bytes podcast. AWS Bytes is sponsored by fortorem. So thanks for Theorem for making this possible. We'll tell you more about fourtheorem later. Conor, do we start by trying to describe what the heck is App Runner?
B (2:04)
Yeah, what is App Runner? So it's relatively new, a mid-2021 service, and it is yet another way to run containers on AWS. So you're probably familiar with Corey Quinn's rantings about the 17 ways to run containers on AWS. I'm not actually sure if this is the 18th way or the 17th way, but there are a lot of ways. So the tagline for the service is deploy Web apps and APIs at scale and it's definitely more Orientated towards like web servers. So you know, applications that are fronted by some sort of load balancer that accept HTTP traffic. So who is it for? I guess if you're a developer, they're trying to simplify that process. I have an app, I have a docker file. I want to run this container in the cloud, please. And App Runner says that it removes a lot of complexity and moving parts. And then for your DevOps teams or your ops teams or your cloud wranglers, they also promise to REM a lot of the operational pain deployment, build container registries, VPC network topology. You know, apparently we can throw a container over the wall and make it AWS's problem. That's the dream. So focus on building your app. You know, App Runner will has a build process. It'll build your container, it'll push it to an ECR repo, it'll provision whatever infrastructure is needed, deploy the container, make it available on a magic HTTPs URL, and then it has support for auto scaling and all the things you'd expect for a solution like this. So that's App Runner. What was the exact use case? Luciano, what was your test bed for the project? I guess, yeah.
