Hacker News new | comments | show | ask | jobs | submit login
Ask HN: Use Packer in Production?
2 points by albertlie 8 months ago | hide | past | web | favorite | 7 comments
Anyone has experience on using packer in production? Could you share your use cases for using Packer? And any drawbacks that you experience using that tool?


We use packer to reproducibly create VM images for our aws deployments. Going on 3+ years and multiple clients now. The biggest pain point for me has been having multiple small bash lines in the json spec packer uses.

Interesting. Thanks for the sharing, Sevii!

1. For your AWS deployment, could I know why you didn't use docker image for your deployment?

Because essentially you can use docker for building the image instead of packer. Furthermore, Docker also has caching mechanism which make the build much faster. I'm not sure packer also has capabilities for caching.

Any reason you choose packer over docker?

except with docker youre managing two userlands, the underlying host and the container, instead of one.

I've used packer a bunch of times, generally for things that dont change frequently. For instance, for creating the image the docker containers run on. Or for one-off utility servers that are just running third party code that doesnt support docker. For the thing that id work on and deploy every day, id want something else on top whether thats docker/puppet/codedeploy/etc - probably docker today.

Some of the most business critical code ive worked with was built with packer, because the extra complication of docker added no value, we wanted as little software on the server as possible since each added thing could fail, and we wanted fast bootup times and minimal launch scripts for autoscaling.

Well, this deployment was using aws ecs, we created custom AMIs via packer and then ran application containers on them via ecs.

Not OP, but we dont use docker because legacy. We developed our infrastructure before containerization was popularized.


Ah also one thing that I wonder in Packer is versioning. Since in docker we can tag every release of the image, we can somehow do versioning on that.

1. How is the versioning in Packer?

2. Also, do you have plan to adopt docker image/ other containerization pattern even if you already used packer for 3+ years? Maybe you have different use cases for adopting docker?

1. We just commit packerfile to repo and version through git 2. We've talked about it. The problem is we have some stateful processes we can't trust to container- like database stuff/etc. So its really a matter of separating what is safe to containerize or not.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact