HerokuChris CastleExplainer
Beyond Web and Worker: Evolution of the Modern Web App on Heroku
Summary
Over a decade, the standard Heroku web application has expanded from a web process, database, worker, and Redis queue into a broader architecture for web, mobile, data, and operational demands. The post connects this shift to snappier single-page experiences, native smartphone apps, APIs as integration surfaces, growing streaming data, increasing system complexity, and scale. Its proposed components include a content delivery network, API Gateway, Apache Kafka, object storage, data warehouses, and query or visualization tools, alongside service-oriented architecture and scalable-first design. The architecture separates functionality into smaller services for adaptability, while acknowledging that more components create more scaling and operational levers. It presents Heroku’s PaaS and managed services as a way to reduce that burden, then leaves deployment, communication, CI/CD, monitoring, and security as topics for follow-up posts.
Context
The standard web application architecture described for Heroku in 2008 consisted of a web process, database, worker process, and Redis queue. By 2018, richer browser experiences, native mobile apps, public APIs, rapidly growing data streams, increasing system complexity, and larger scale requirements created demand for a broader architecture.
Approach / What changed
The proposed high-level architecture adds a content delivery network, API Gateway, Apache Kafka, object storage, data warehouses, and query or visualization tools. It also uses service-oriented architecture for adaptability and scalable-first design, while positioning Heroku’s PaaS and managed services as a way to reduce operational scaling complexity.
Takeaways
Single-page applications require more efficient delivery of JavaScript and other assets, plus a publicly exposed API for dynamic data.
Apache Kafka, object storage, data warehouses, and visualization tools are presented as components for managing, storing, analyzing, and viewing streaming data.
Service-oriented architecture can separate concerns and enable parallel work, but the additional components introduce more scaling and operational levers.
Source and freshness
- Source
- heroku.com
- Published
- Added to Yomu
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.