Mark Nunnikhoven Profile picture
Security @Amazon. Focusing help helping everyone better understand security & privacy 🐘: @marknca@infosec.exchange 🧑‍💻: Tweets my own

Sep 2, 2021, 45 tweets

containers on @awscloud: a rant 🧵

problem: I want to run a single container every so often

☁️ #cloud #devops

I start with a search. the first result is straight forward and promising

I click on "Containers on AWS"

☁️🧵 #cloud #devops

I land here. it's not bad though a bit of a pitch, "AWS is the #1 place for you to run containers and 80% of all containers in the cloud run on @awscloud" << but will MINE?!?

☁️🧵 #cloud #devops

scrolling down the page, I hit the jackpot. honestly, I want to print this table out on a massive poster board and parade it around the @awscloud offices

this makes it easier to understand all that's on offer

☁️🧵 #cloud #devops

these two are the most promising...

1. AWS Fargate => "Run containers without managing servers"
2. AWS Lightsail => "Run simple containerized applications for a fixed, monthly price"

but which one?

☁️🧵 #cloud #devops

I click through to the AWS Fargate landing page, aws.amazon.com/fargate/

"#Serverless compute for containers" is very promising, I'm going to scroll down to learn more

☁️🧵 #cloud #devops

this diagram confirms(?) my hopes. very simple process:

1. Build the container image
2. Define memory & CPU
3. Run & manage the application
4. Pay for what I use

☁️🧵 #cloud #devops

I scroll back up to the top and click that tempting orange button...

☁️🧵 #cloud #devops

...and I'm immediately dumped into something called Amazon Elastic Container Service

um, @awscloud, is this the right place? the word "Fargate" appears NO WHERE on this page

☁️🧵 #cloud #devops

ok, maybe it's a broken link. I'll search for "AWS Fargate" in the search bar

down near the bottom there is some documentation about Fargate but nothing is "Services" or "Features"

☁️🧵 #cloud #devops

I'll search again, this time with a less specific term...just "fargate"

better? still no direct link but I do see the "ECS" service from before so maybe that was correct

there are more docs and KB links this time

☁️🧵 #cloud #devops

several steps in and NO IDEA HOW I ACTUALLY LAUNCH A CONTAINER in @awscloud

☁️🧵 #cloud #devops

stepping back and calming down, I revisit the ECS page that the "Get Started with AWS Fargate" bright orange call-to-action button took me too

the blue "Get started" button takes me to this page...that says the actual word "Fargate" on it

☁️🧵 #cloud #devops

this diagram of @awscloud ECS objects is supposed to help but it & the 4 step process on the left are intimidating

Fargate seemed to be "give it a container & press go" & this is anything but

step 3 is "cluster", do I have to worry about that?!??!

☁️🧵 #cloud #devops

ignoring the "custom" option, I select the "sample-app" container & leave everything else as the default. at this point, I just want to see if I can get ANYTHING running in Fargate

I click the blue "Next" button

☁️🧵 #cloud #devops

I'm brought to "Step 2" which helpfully updates the diagram to show that I've defined a container and a "task"

I know have to configure a "service" and then a "cluster"

there are options here but I leave them and boldly click "Next"...

☁️🧵 #cloud #devops

that worked? I'm on to step 3 "cluster"

the word "cluster" is so insanely far from #serverless that I don't want to get into it here

again, a few options that I don't want to care about to create something I don't want to create

"Next" for the win?

☁️🧵 #cloud #devops

I have reached the "review" screen to review choices I don't have the context or desire to actually understand

if I click the blue "Create" button at the bottom of the page, will this launch?

☁️🧵 #cloud #devops

I have an uneasy feeling in my stomach as this seems like a whole lot of infrastructure to build & pay for to run a single container through a "#serverless" service

☁️🧵 #cloud #devops

I am not hopeful that this is what I want ☁️🧵 #cloud #devops

lots of things have finished building. 9 things to run my "#serverless" container and one of them MIGHT even be that container though the language ("task") makes that unclear ☁️🧵 #cloud #devops

the blue "View service" button takes me to the ECS console under "Cluster"

the launch type if "FARGATE" which at least gives me a hint that I have taken the route I wanted to

☁️🧵 #cloud #devops

looking at the Logs for this Service in this Cluster, it appears that the container has launched and it accepting HTTP requests

how do I contact that HTTP server? no idea

is this a container? I think but that word DOES NOT APPEAR anywhere on this page

☁️🧵 #cloud #devops

so, way more steps than I wanted into this and I MIGHT have accomplished the "simple" task of running a single container in @awscloud Fargate

can this container receive requests? no idea

how much did this cost? no idea

☁️🧵 #cloud #devops

ok, can I clean this up and then try the other route, @awscloud Lightsail?

I click back up to the cluster I never wanted to create or have anything to do with & it appears that I can simply delete it

☁️🧵 #cloud #devops

I think it's working...

☁️🧵 #cloud #devops

ok, ~3m later & all the things I never wanted to complete the task I might have done are now gone...I hope

over the @awscloud Lightsail...

☁️🧵 #cloud #devops

well, Good Morning!

this is night and day from the last path I took...and yes, I realize that this is targeted at a different audience but you wouldn't know that if you started on the "Containers on AWS" page like I did

☁️🧵 #cloud #devops

omg, is that an explanation of what a container is? right in place? with actual context?!?!?

I can learn more or "Create a container service" ...not sure why the word "service" is tacked on there but, ok...

☁️🧵 #cloud #devops

IS THIS CREATED BY THE SAME COMPANY?

@awscloud please have this team re-design all of the consoles. this is crystal clear & user-friendly

☁️🧵 #cloud #devops

this pg also (finally) explains the "service" term, could be a bit clearer

"A deployment specifies the containers you want to launch on your container service, and their configuration."

so, a service can be more than one container

☁️🧵 #cloud #devops

I click on the "Set up deployment" link...

looks like I can specify my customer container right here by clicking the "Specify a custom deployment" option

☁️🧵 #cloud #devops

I'm not going to do that right now, I'll just stick with the sample "Hello World" in order to better compare to @awscloud Fargate/ECS

☁️🧵 #cloud #devops

OMG, it used the word "Container"!

☁️🧵 #cloud #devops

I leave everything as the default and click this enticing, orange, "Create container service" button...

☁️🧵 #cloud #devops

TOO. MUCH. CLARITY. 🤣

☁️🧵 #cloud #devops

I'm honestly taken aback. this page 👆 clearly shows the status of the deployment, the public domain (auto-magically created for me), the endpoint, the versions, everything I could want to know about my container

☁️🧵 #cloud #devops

once the deployment finished (~3m), I was able to click on the tabs to see my current settings for sizing, domain, and metrics

I can even change the size or domain here. though for a new domain, it does look like I'll have to use another @awscloud service

☁️🧵 #cloud #devops

there's also a handy "Metrics" section to monitor the performance of my container

☁️🧵 #cloud #devops

critically, I also can simply click the "Public domain" link and get the response from my "Hello World" container

success!

☁️🧵 #cloud #devops

now for pricing. more on that at aws.amazon.com/lightsail/pric…

all of those prices + the console are listed as per month

however, the service actually bills per hour

you'll need a little math to figure it out but it's pretty cheap way to run a container

☁️🧵 #cloud #devops

to summarize: @awscloud Fargate is actually ECS with little-to-no #ux indicators for ppl trying to actually launch a container. lots of perceived overhead even though it's billed as #serverless

☁️🧵 #cloud #devops

Lightsail aims to compete with VPS/hosting services but is actually an excellent way to run one-off containers (and 24/7 instances). lots of options for expansion and even an API/CLI too

it's worth exploring for these types of simple jobs!

/☁️🧵 #cloud #devops

as I dive deeper, super impressed with the @awscloud Lightsail service. docs are clear and open for contribution!

lightsail.aws.amazon.com/ls/docs/en_us/…

☁️ #cloud #devops

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling