How To Run Just One Container With AWS App Runner…Hopefully
I recently explored the new user experience of launching just one container in the AWS Cloud. It didn’t go particularly smoothly.
Now, I did achieve the goal of running a single container but it took a lot of missteps and lot of confusing steps to get things up and running.
As a result of that effort, a lot of people suggested I try AWS App Runner. The service has a tag line of, “Production web applications at scale made easy for developers.”
That’s definitely intimidating and doesn’t imply “run just one container.” But if you’ve ever explored the service, it’s definitely a good fit for this task.
In this twitter thread (re-posted here), I once again put on my new user hat and took a look at this AWS service, documenting my experiences as I went.
Have a look and let me know what you think on Twitter, where I’m @marknca.
that’s 100% fair as it it the service that probably makes the most sense
☁️ #cloud #devops
https://markn.ca/2021/how-to-run-just-one-container-with-aws-app-runner-hopefully/
☁️ #cloud #devops
now, to put on my new user and I’m off on my @awscloud App Runner adventure!
☁️ #cloud #devops
https://twitter.com/marknca/status/1433473472269750276
its description?
“Build and run containerized applications on a fully managed service”
that is what I want to do…assuming I can run just 1 container
☁️ #cloud #devops
“Build and run production web applications at scale” << no mention of “containers” at all
…but the containers page said this was the way. I solider on…
☁️ #cloud #devops
it serves it’s purpose & actually mentions “containers” which is nice
☁️ #cloud #devops
don’t like is the extra as “automatic deployments” and “build” are different vectors that I need to account for that could be pricey & complicated quickly
☁️ #cloud #devops
I just want to launch a container, not create a whole new service…
“service” sounds heavy, which I’m trying to avoid
☁️ #cloud #devops
1. Source & deployment
2. Configure service
3. Review & create
…seems straightforward enough
☁️ #cloud #devops
I only want to run a single container, so I stick with the clear “Container registry” option
I pick “Amazon ECR Public” as the provider
☁️ #cloud #devops
https://gallery.ecr.aws/aws-containers/hello-app-runner
I copy the URI from the page to paste into the “Container Image URI” field in App Runner
☁️ #cloud #devops
more at https://danielmiessler.com/study/difference-between-uri-url/
☁️ #cloud #devops
☁️ #cloud #devops
thankfully a lot of this page is under toggle switches making these options accessible but not “in my face”
☁️ #cloud #devops
☁️ #cloud #devops
throwing caution to the wind, I scroll down and click the orange “Create & deploy” button
is this what I want? maybe…
should I do it?
☁️ #cloud #devops
☁️ #cloud #devops
☁️ #cloud #devops
I load it up in my browser and…success!
☁️ #cloud #devops
– Activity
– Logs
– Configuration
– Metrics
– Custom domains
…looks like there’s lot of flexibility here
☁️ #cloud #devops
but FUTURE me might use this
☁️ #cloud #devops
☁️ #cloud #devops
nice touch
☁️ #cloud #devops
there’s a good amount of flexibility but the default path is very smooth & requires minimal effort
biggest challenge: naming (again)
☁️ #cloud #devops
“Services” might tie to micro services but it obscures the core msg that App Runner runs Containers (btw, so does the name)
☁️ #cloud #devops
but I have to be quiet here…
if you say 3 better names for an AWS service, @QuinnyPig appears behind you in the mirror
☁️ #cloud #devops
…oh, maybe @awscloud Simple Container Service?
(damn it, that’s 2x)
☁️ #cloud #devops
https://aws.amazon.com/apprunner/pricing/
☁️ #cloud #devops
the docs are at https://docs.aws.amazon.com/apprunner/latest/dg/service-source-code.html
…it seems like it’ll only do python and node.js runtimes which is ok but not amazing
☁️ #cloud #devops
https://docs.aws.amazon.com/apprunner/latest/relnotes/release-2021-05-18-apprunner-release.html
bringing on new runtimes probably isn’t easy…but the existing docs need to get better asap or no one will use that feature
☁️ #cloud #devops
finding this one and linking it to containers was again, harder than it needed to be especially for new users
/☁️ #cloud #devops