Deployment from Scratch

An introductory book to web application deployment.

No Employees
Founders Code
Solo Founder
Books
Education
Programming
Writing

To teach others fundamentals in web application deployment and improve my own understanding of it in the meantime.

September 1, 2021 1st edition released!

Today, I am releasing Deployment from Scratch, 1st edition. It was a long journey of more than three years, and it’s time to make it a reality. Of course, I could always do a one more read and rewrite a paragraph or two, but it’s just as important to stop at some point and let the world benefit from all that work.

It covers a lot:

  • networking and typical system administration
  • static sites, proxies, and load balancers with NGINX
  • SSL certificates with Let’s Encrypt
  • installing Ruby/Python and configuring Puma/Gunicorn
  • building systemd services and Docker containers
  • PostgreSQL and Redis administration
  • automation with Bash and git
  • discussing storage, backups, emails

I made a new landing page and
a post about the release.

April 2, 2021 I started to sell the pre-release version

So I finally started to sell the pre-release of the book on Gumroad. The pre-release includes first 13 chapters that takes you from a high level overview of the whole deployment process to automating deployment of static sites. The focus of this first part of the book is on networking, system administration and automation, and security hardening in terms of SSH, SSL/TLS, and firewalls.

Selling pre-release is always a question, but honestly the last programming book I bough myself was also just an unfinished beta. And I even had this question as part of my early poll. People do want to start reading sooner! No, not everybody, but I think it's a good idea to start getting it out there, especially since it's a big book and so the pre-release is almost a book on its own.

I sent the option to buy it to the mailing list of 611 subscribers.

March 3, 2021 Got 500 people interested in the book

I almost thought this milestone won't happen. Since I started to send out previews and updates for the book, I started to lose subscribers. It makes perfect sense though, some people forgot they even signed up, some lost interest along the way.

Don't get me wrong. As soul-crushing as it is for any maker, It's a good thing. I was increasing the chance that people staying on the list actually care about the product. There was only one problem. I am getting to an actual release, and I hoped to get 500 interested people for prime time.

With people leaving the mailing list, I thought it won't happen. I thought I will always get close to 500 only to get another drop :). On this day it did! Nice and rounded 500!

November 14, 2020 First 2 previews sent to the mailing list

Lately, I moved most of the content from gitbook over to a new build using Pandoc. After some time using the latest build, I am more confident I will stick to this. I have an almost final look for some chapters, so I decided to send out a preview to the mailing list.

I sent out previews before to interested beta readers, but I wanted to know how my list reacts to this sneak peek and whether they all unsubscribe. Sigh.

The first preview was the beginning of the Firewalls chapter and the second preview is ten first pages of DNS and SSL/TLS Certificates chapter. I want to do at least one more preview before a pre-release, most likely for the book's practice parts.

June 30, 2020 Reached 150 new subscribers in last 5 months

My last milestone was about reaching 200 subscribers on my mailing list. It was not easy and it was a long process. Since then I got 150 new people interested in the launch of my upcoming book Deployment from Scratch. The total is 350 now and I am very slowly, but steadily going after the 500.

How am I reaching new people? The same way as before. I try to publish new technical articles on my blog and share them in relevant online spaces if I think they are good enough and helpful. I am planning on publishing again a bit more on direct topics from the book which will hopefully help!

February 1, 2020 Reached 200 subscribers

On 11 February 2018 I sent my first book update to the subscribers from the book landing page. This was not only a first book update, but a first e-mail campaign I ever sent.

I sent it to first 92 people. I got my first subscriber (that was not me nor my brother) on 27 September 2018. It took me exactly 159 days until I reached 100 subscribers on 4 March 2019.

It took me another 334 days to reach 100 more subscribers. 493 days in total which is roughly 1.35 years. So far I sent 3 updates and the next update will go to more than 200 email boxes!

September 21, 2018 Making a landing page

It took me about 4 days to finish the initial version of the landing page. The main purpose was to publish some points from table of contents and offer a signup form for updates. At this time the page promoted the book under the name "VPS for Makers".

I officially announced the book on my blog and seek some validation on the Ruby subreddit. The feedback was positive and I received as many upvotes as my popular articles.

Later on an almost complete list of chapters including their description was published. The book was renamed to "Deployment for Makers" and later "Deployment from Scratch" to better represent what the book is about.

August 24, 2018 Writing table of contents

The idea for the book and what I want to say has been brewing for quite some time now...

I was a Ruby packager for Fedora and Red Hat Enterprise Linux at Red Hat and I felt that the Ruby community is not really exposed to Fedora and CentOS as they are to Ubuntu systems.

At the same time people did not really seem to take the advantage of systemd or SELinux in their deployments. As someone working on Fedora, RHEL, and CentOS products I wanted to change that.

On this day I wrote a first version of table of contents.

About

To teach others fundamentals in web application deployment and improve my own understanding of it in the meantime.