Deploy Your Applications
With Confidence

Demystify deployment by learning the crucial ground work
for deploying Ruby and Python web applications
from network theory to managing database backups.
Learn how everything works with plain Bash.

Buy the pre-release for $25
Prefer waiting? Sign up for updates

The book

The book is written for software engineers, programmers, indie hackers, and makers on the web. It teaches system administration, server provisioning and deployment of web applications. It's designed to be both a good first exposure and a great second dive in.

Inside we talk about all the moving parts of deploying full-stack web applications. Internet and DNS. NGINX web server. Deployment with git. Security with SELinux. It's a distilled knowledge of a few books and various documentation sources in a single packaging.

Chapters

1. Bird’s Eye

A bird's eye view of high-level concepts when it comes to provisioning, configuration management, and application deployment.

2. Terminals

Many exciting journeys start in a terminal, and it won't be any different for us. Before dispatching to clouds, we buckle up and get everyone familiar with standard streams, pipes, and other shell basics.

3. Little Bit of Network Theory

The theoretical foundation for understanding a multi-server setup, networking utilities, webserver configuration, and firewalls. A local and Internet addressing.

4. Secure Connections

Connecting to our first virtual private server. Getting familiar with the SSH protocol and its public key encryption. Configuring SSH on client and server.

5. Hands-On Networking

A hands-on exploration of a newly created virtual machine with a focus on networking. We'll learn about network interfaces, IP addresses, ports, and sockets in a more practical way.

6. Configuration Management

Installation and configuration of software from package repositories. Automating configuration management with Bash.

7. Filesystem

A detail look on the filesystem layout in Linux systems. Locations, paths, standards. Where do files go? Where will our applications live?

8. User Roles

Priviledged and unprivileged access. Implementing user roles with Linux users and groups.

9. Permissions

Exploring the Linux descreet permission system and Access Control List to set ownership and limit access for services on the system.

10. Processes

A closer look at Linux processes. CPU and virtual memory, background processes, monitoring, debugging, systemd, system logging, and scheduled processes.

11. Web Servers

Kinds of web servers. Setting up NGINX as a web server and a reverse proxy. Automating log rotation.

12. Domain Names and Certificates

A closer look at DNS services and working with TLS certificates. Self-signed and Let's Encrypt.

13. Firewalls

Building imaginary walls with firewalld. Editing and defining zones to manage risk expectations.

14. systemd Services

Learning to write systemd unit files. Working with cgroups. System and user systemd services.

15. Application Runtime

Exploring version managers of popular programming languages. Isolating application dependencies.

16. Application Servers

Concurrency, threading, logging and other considerations for a good application server configuration. systemd configuration.

17. Databases and Key-Value Stores

Running PostgreSQL and Redis in production. Installation, configuration, client configuration. Backups and restores.

18. SELinux

A closer look at often overlooked Security-Enhanced Linux. Understanding the targeted policy and contexts. Fixing SELinux violations.

19. Storage and Backups

Storage questions. Data collection, compression, and encryption for frictionless data backups and restores.

20. Managing Secrets

Secret management. Environment files and Rails Encrypted Credentials.

21. Linux Containers

A primer on Linux containers. Building and running containers with Docker and Podman. Rootless and caching considerations.

22. Application Deployment

Discussing deployment and post-deployment tasks. Making a Heroku-like git-push deployment.

23. Demonstrations

Write your first deployment scripts. A few demonstrations.

24. Fortune Telling

What did you learn and where to go next from here?

Pre-release

Buy the pre-release of 13 chapters today for reduced price.

Don't wait! Get the public pre-release right now. 13 chapters are already available. It's not a properly finished book yet, but if you buy it now for the reduced price, you'll get anything I include as part of the final release (like source code, cheatsheets and checklists).

Buy the pre-release for $25

Authors

Hello, I am Josef Strzibny, a full stack web developer. I made and deployed first commercial web applications during high school in 2008. I have Bachelor's and Master's degrees in Applied Informatics. I have worked for Red Hat on the platform and developer experience teams as a Linux packager. I was a Red Hat Certified Engineer.

Hey hey, my name is Tiger. People call me Meow (don't know why). I like following mice on Twitter, coffee, and DevOps. I feel adventurous when comes to pythons. In this book I provide comments nobody asked for and unverified facts from the Internet. One day I will build an online community for fellow cats having people flatmates.

Updates

Not ready to buy now?

Join 600+ people waiting for the final release.

Interested in what you have seen so far? Leave me your e-mail address and I get back to you with the book updates. No spam. Unsubscribe any time.

MailChimp is used to manage this mailing list. Tracking is turned off. Double-opt in, so please check your spam folder, confirm and mark as not spam so you can receive emails from me. Learn more about MailChimp's privacy policy.

© 2018-2021 Josef Strzibny