Skip to content

Web Evolution

ng-druid edited this page May 26, 2022 · 1 revision

Evolution

HTML Site

The infancy of the web used static HTML served to users via a remote server. The model was fairly simple and straight forward. However, this model did not lend itself to supporting dynamic web experiences. Furhermore, JavaScript was not a very stable or reliable option for heavily using in the browser.

flowchart TD
 site[browser] --> server[server];
Loading

Monolithic CMS

So came along dynamic programming languages/web frameworks like php, ruby, .net, java. This birthed the monolithic CMS era of Wordpress, Drupal, Magento. With this added flexibility much complexity was added. Web sites transformed from simple html pages to large, gigantic complex high energy software platforms sucking the environment dry.

flowchart TD
 site[browser] --> server[server];
 server --> app[app];
 app --> db[database]
Loading

Modern MVVM

With the advent of rest apis and advances in JavaScript came the ability to run complete applications in the browser reliably. No more a server was necessary to render html only to serve data via a rest api. In parallel with this tech came the cloud. Many have moved away from clunky traditional databases to highly available, low latency, scalable cloud solutions an industry dominated by aws.

flowchart TD
 site[browser] --> api[rest api];
 api --> s3[s3];
 api --> os[open search]
Loading

Druid (HTML+AWS)

Druid takes the next step to completely eliminate the server. Replaced with secure zero-trust http requests dispatched directly from the browser. This model allows organizations to focus on building lightweight, low cost experiences rather than apis. Effectivly coming full circle using only two layers back to the beginning. However, doing so in a way that fully embraces all modern advances.

flowchart TD
 druid[browser] --> s3[s3];
 druid --> os[open search];
Loading

Druid- (HTML)

Druid can further be simplified by removing s3 and open search for experiences that don't require seach and/or data collection.

flowchart TD
 druid[browser]
Loading

Hosting

Sites can be rendered as static html pages and hosted anywhere from a cdn to a local private filesystem. This is the driving force behind hosting sites with 0 cost associated.

flowchart TD
 browser[browser] --> cdn[cdn];
 cdn --> html[html];
 cdn --> js[javascript];
 cdn --> css[css];
 cdn --> images[images]
 cdn --> video[video]
 cdn --> audio[audio]
Loading

Static+

Druid takes static websites to the next level by providing complete, pre-rendered html pages that include JavaScript. This allows pages to easily indexed for SEO without sacrificing usability. Once the page is rendered for the a user the browser takes over and provides a seamless, modern fluent experience without reloading pages using Angular framework.

Clone this wiki locally