Chapter 1. How to Deploy Your App
In the Preface, you read that DevOps consists of dozens of concepts. But it almost always starts with just one question: “I wrote an app. Now what?”
You and your team have spent months putting together an app. You picked a programming language, implemented the backend, designed and built a user interface (UI), and finally, it’s time to expose the app to real users. How, exactly, do you do that?
There are so many questions to figure out here. Should you use AWS or Azure? (And what about Heroku or Vercel?) Do you need one server or multiple servers? (Or serverless?) Do you need to use Docker? (Or Kubernetes?) Do you need a VPC? (Or a VPN?) How do you get a domain name? (And what about a TLS certificate?) What’s the right way to set up your database? (And how do you back it up?) Why did that app crash? Why does nothing seem to be working? Why is this so hard?
OK, easy now. Take a deep breath. If you’re new to software delivery—you’ve worked as an app developer your whole career, or you’re just starting out in operations—it can be overwhelming, and you can get stuck in analysis paralysis. This book is here to help. I will walk you through each of these questions—and many others you didn’t think to ask—and help you figure out the answers, step-by-step.
The first step will be to deploy the app on a server and get it running in the most basic way you can. In this chapter, you’ll work through examples to deploy the same app on your own computer, on Render ...