Is Designing Data-Intensive Applications the Right Book for Learning Hosting, APIs, and Updates?

August 22, 2026 3 answers
Asked by MellowPine47
I recently decided that I want to build a complete project instead of only running code locally, but I'm unsure where to begin with deployment and communication between the app and server. Specifically, I want to learn how to host the project, create API endpoints so the client can communicate with the server, and release updates when I change the programโ€”similar to how mobile apps notify users that a new version is available. Would Designing Data-Intensive Applications help me learn these practical skills, or should I start with other technologies and resources first?

Answers

RiverQuartz61
You donโ€™t need to understand everything before starting. Build a tiny application with one or two endpoints, test it locally, and put it online using a beginner-friendly hosting platform. After that, make a change and redeploy it so you can see how updates work. Topics like graceful shutdowns, rolling deployments, and minimizing downtime become much easier to understand when you have a real project to experiment with. DDIA will be more useful later, once you already understand the basic application-and-server workflow.
Reply to this answer
BrightOak22
Those are mostly foundational development and deployment topics, so DDIA is probably too advanced for your current questions. First learn how a client sends HTTP requests to a server, how routes map to endpoint functions, how data is stored, and how authentication works. Then practice running the server on your own computer before deploying it. Once that works, learn about domains, environment variables, logs, and basic cloud hosting. Updates are usually handled by deploying a new server version, while mobile applications may require building and distributing a new client version.
Reply to this answer
CloudyHarbor8
Designing Data-Intensive Applications is a valuable book, but it focuses on the theory and trade-offs behind databases, distributed systems, scalability, consistency, and reliability. It is not really a beginner guide to hosting an app, creating endpoints, or publishing updates. For this project, start with one programming language and a web framework such as Flask, Django, or Spring Boot. Follow a small tutorial that builds an API, run it locally, and then deploy it to a simple cloud service. Youโ€™ll learn the practical pieces much faster by building something small and improving it gradually.

MellowPine47: That makes sense. I was mainly looking for a foundation before making mistakes, but Iโ€™ll start with a smaller project and learn the deployment parts as I go.

Reply to this answer

Add your answer

Answers are reviewed before publication.

Related Discussions