Hacker News new | ask | show | jobs
by ciarcode 1652 days ago
I would be glad to find an integrated guide on how to build a state-of-the-art website and how to deploy/maintain it on a server like AWS or DigitalOcean.

I mean, I'm not interested in a html/css/javascript tutorial, we have enough resources on that. What I found really missing on the internet (maybe I'm not that good at searching), is a step-by-step detailed guide on how to deploy/update/maintain a website. An unordered list of thing that came up to my mind:

- How to deploy the website on a server

- Which server should one use

- How to expose it on the internet (buy domain name)

- Version control and hosting the repository (GitHub vs gitlab vs ...)

- Updating your website (CI/CD like Jenkins?)

- Reproducible environments (Docker?)

- How to integrate analytics

- How to integrate ads respectfully (of your users)

- How to integrate paying contents

- How to address security

- Ho to address scalability

5 comments

Unfortunately much of the answers, and in fact your questions are transient, they will become outdated fairly quickly - or are not necessary even now for arbitrary "websites". The tooling for web development has become overly complex and we are now starting the trend back down to the basics instigated by projects such as esbuild.

If you aren't familiar with any of this stuff, i'd recommend focusing on the fundamentals (HTML, CSS, JS), avoiding CI/CD at all cost, avoiding complex back-ends that require fragile docker containers to ever work. Get familiar with the basics of running a simple static web server and simply upload your files via rsync. Then start approaching dynamic backend runtimes, php, nodejs (with caution). The reason I recommend this approach is that much of the complex tooling and environments you will no doubt encounter in tutorials is extremely opaque, they can provide you a giant leg up to get up and running with something impressive, but will give you very little insight into how or why.

From this point on everything gets opinionated and project specific... which is why it's hard to write a timeless and comprehensive guide.

> they will become outdated fairly quickly - or are not necessary even now for arbitrary "websites". The tooling for web development has become overly complex and we are now starting the trend back down to the basics instigated by projects such as esbuild.

To add to my other comment in this thread, as this relates to your particular comment, we try to keep Molecule.dev as up to date as possible. We cannot of course cover every piece of tech out there, but we attempt to cover what we think are the best tools available and will continue to exist and improve for many years to come.

It is definitely a very difficult problem to solve and will need constant maintenance, but I think it's worth it if it helps people get started building awesome, high quality things faster.

I'm really surprised to see this as the top comment. I've spent my career specializing in most of your bullet points. Lately I've been meaning to start a tutorial series with either those concepts or general "learn to code" kind of stuff. Clearly there is more interest in the operations type content than I would have guessed.
> I'm really surprised to see this as the top comment.

Me too. I consider most of these trivial too. But there's another aspect. Many things (version control flow, release model, rollbacks, etc) has to take into consideration and will inevitably affect the workflow, meaning the way engineers write code (feature flags? dynamic config? gitOps? what about rollbacks? Do we keep the tip of the branch synced with prod or no?).

The _state of art_ is different based on things like: Monolith or micro-service (like smaller, well defined scope)? Is the app written in Java, NodeJS or Python? Do we have 5 developers, 1 or 400? Do we need to testing because the app is handling medical data or we don't care if we don't case because our SaaS doesn't handle sensitive data? Do we need integration tests? Do we care about raw computation perf? Mem leaks? What about testing thresholds?

All the above and many more, depend on business goals and domains, engineering cultures and less obvious intangibles. These evolve "naturally" over time.

There's no "state of art", just business needs. The "state of art" is the sweet spot between engineering velocity and reliability, which is a moving target anyway :-)

For me, it would be great if the tutorial can focus on minimising the amount of work required to maintain or update the site while still retaining flexibility.
I'm not sure if you will see my other comments in this thread, but please check them out. Molecule.dev covers all of this.
This is actually exactly what Molecule.dev is all about. All of the documentation, guides, and tutorials are written with both teams and individuals in mind.

It includes detailed step-by-step guides for every little thing you need to know to develop, release (and rerelease) your app on every platform you've selected, using the tools you've selected. It also covers many edge cases and obscure issues which we know that you will probably run into.

It's written for developers of varying levels of experience so that any member of the team (present or future) can quickly jump on board and get started building and deploying.

It also includes a (very meta) guide which explains how to update the guide itself and regenerate new documentation as you (and your team) add to it for your own purposes.

Where? There seems to be no way to access this documentation without spending hundreds of USD on a code platform.
Thousands of hours have gone into building Molecule.dev over the past year, which itself is the culmination of tens of thousands of hours of experience, honing in on the absolute best tools and approaches. It makes no sense to give it all away for free. As much as I would love to live in a world where we could all freely share our hard work like this, people need to make a living somehow.

Starting this week, however, we'll be publishing regular articles about the inner workings, design decisions, and architecture, among other things. We may actually cover some of the core basics and release sample code with documentation. We'll probably publish at least 2 articles per week.

I understand that, but it makes it seem off-topic for this thread. There are other off-topic (but possibly great) for-profit courses and such too, and no one's bringing them up because that's not what the Ask HN is about.
Maybe we can release the documentation and tutorials separately, and possibly some of it for free. It's much better if you have all of the code though!
Yes to all but these three that seem out of place:

- How to integrate analytics

- How to integrate ads respectfully (of your users)

- How to integrate paying contents