4 ms·
Based on the table of contents and the preview pages it looks like it has some pretty good content. Made me think of "the missing manual" book series. I just d
by no_circuit 5y ago
Based on the table of contents and the preview pages it looks like it has some pretty good content. Made me think of "the missing manual" book series.
I just don't think small startups or side-projects should spend so much time getting all the configuration and moving parts right compared to just Docker+Terraform+(IaaS of choice). Then if one is on a tight budget, then just run Docker Compose on a single host, or run on a computer at home being proxied by Cloudflare free account. If able to spend more, then use the IaaS managed services like for containers and databases.
I guess I feel that setting people up to deploy with bespoke Bash scripts is borderline irresponsible since they won't be easily, or automatically, updated in case there are any other issues, unlike something like Terraform. I can't tell that easily however because there is no architectural diagram to help understand what the book leads up to as how one should deploy things.
However it seems more like it would be a better guide as "Linux Servers from Scratch"? That would be something which would be good reading for someone new to tech. Before moving onto higher abstractions. Or being used as the from scratch guide on how to customize container images by more experienced programmers, but those missing the Linux admin fundamentals.
- rmbyrro 5y ago> I just don't think small startups or side-projects should spend so much time getting all the configuration and moving parts right compared to just Docker+Terraform+(IaaS of choice). Hype aside, I'd add serverless. One can build a lot of stuff with very little hassle on top of AWS Lambda, API Gateway, DynamoDB and S3.
- strzibny 5y agoI really believe that what I put into the book should be a knowledge a person deploying production application should have. > I just don't think small startups or side-projects should spend so much time getting all the configuration and moving parts right compared to just Docker+Terraform+(IaaS of choice). It's the opposite actually! I show you how to avoid a lot of indirection and have a deploy script in 200 lines of Bash that you understand in an afternoon. If you choose to use Docker, I have a full chapter of building containers, doing Docker networking, running containers with the Docker engine or with Podman like any other systemd service. You can then write a small Bash script to install Docker and deploy your container or write an abstraction in a tool like Ansible. That's your choice and I think I present good arguments for both. > deploy with bespoke Bash scripts is borderline irresponsible Only like 5% of the book spends time talking about how to glue everything with Bash. Most is networking, permissions, configuration. The idea is to see how things are done with the most basic building block which is a shell. The thing is shell code is how you interact with your operating system unless you are using C API. It's what most deployment tools use under the hood, not to mention that many tools are basically Bash (ruby-install, chruby) or based around executing it (Dockerfile). > However it seems more like it would be a better guide as "Linux Servers from Scratch"? I already renamed the book twice :). Not anymore, please ;). Most people actually told me they don't care for the name at all. Yes, there is a lot of Linux, but I named it after the intent. The intent is to deploy at the end. The fact that most of the deployment is configuration is implementation detail.
- no_circuit 5y agoFair enough. :-) Like I said, my impression is that the content seems good! What I can't tell, without reading it, is what the end state of the dev/ops architecture would be along with its maintenance requirements, to understand if it would be a good complete resource to refer to beginners in tech I can't assist myself.
- strzibny 5y agoThe main idea is building a single server deployment in a secure and maintainable way... and then possibly taking it to 5-10 servers at which point the Bash-only approach is less than ideal (but possible). Then you can pick a better tool of your choice (Ansible, Docker Swarm), but learning it is outside the scope of the book. The demonstrations are made alongside the indie hackers/early-stage startup mindset. Run a single server, or possibly single server with a dedicated database.