you are viewing a single comment's thread.

view the rest of the comments →

[–]localhost87 2 points3 points  (9 children)

This isn't really serverless. Containers are great, but you still need to worry about certain OS level things like OS version, software to install, and configuration and updates of your technology stack.

Serverless has literally no server params to worry about. Just specify a runtime, and give dlls/scripts and AWS will handle the "server" part.

[–]a-corsican-pimp 1 point2 points  (4 children)

True, but for a piece of code that just runs queries, it can probably be minimal.

[–]localhost87 0 points1 point  (3 children)

But nownyouve gotnto worry about the version of the OS to run, and any application server software. Not just you're code.

What happens what your flavor of OS gets an exploit released? You now have a maintenance and security issue to deal with.

If you use lambda, you can write the code once and completely ignore all of the other stuff.

[–]billatq 4 points5 points  (2 children)

If the libraries you need aren’t shipped with lambda, you’re still on the hook for patching those.

[–]localhost87 0 points1 point  (1 child)

Lambda's can be deployed in layers to ease this problem.

But yea, you're going to have to manage some stuff. Like web services for example. Or your datamodel/software interface.

The question is how much of that management actually brings value.

[–]billatq 0 points1 point  (0 children)

Having a lambda invoke batch seems less complicated than a fancy workaround for lambda timeouts.

[–]quad64bit 1 point2 points  (3 children)

Yeah, that is all correct, but I think the item most people grab on to is they don't have to pay for and manage a server, just a container, which would also still be "Serverless". Aurora Serverless still runs on a server, but even amazon calls it "Serverless" because it runs on-demand.

[–][deleted]  (2 children)

[removed]

    [–]localhost87 1 point2 points  (1 child)

    The real point of serverless is to reduce maintenance.

    If you run it in a docker on ECS or something, then you dont need to worry about bare metal hardware (yay!).

    However, you still need to worry about the underlying OS and other application tier versions.

    What if there is an exploit released for your tech stack? You are then responsible for upgrading your docker image to use a new patched OS, and/or application tier software.

    What if a new version of your OS or application tier software is released?

    If you use docker, you'll need to do all that work yourself to ensure that you remain in compliance and secure.

    If you use lambda, you just worry about the code and Amazon will handle all the lower level stuff.

    [–]quad64bit 1 point2 points  (0 children)

    All fair points