Live data from Hacker News

Web Architecture 101

engineering.videoblocks.com

31–40 of 49 posts

Re: Web Architecture 101

#32

I'd love to see more tutorials / examples of implementing some of these concepts. Maybe I'm looking in the wrong place, but most tutorials I see are just super simple apps and don't deal with load balancing, services, data pipelines etc. For people who are working in non-tech jobs but teaching themselves programming so they can build useful tools for themselves, colleagues and customers, I think there's a big gap in…

I too am in great need of things like that. I'm a mobile dev developing an app that I think I'm going to quit my job for to work on full time. I'm 33 and in over a decade of doing mobile (and front-end web) programming I've never worked on a personal project that showed as much promise as this one has for me, both financially and from a fulfillment standpoint. However the prospect of wrangling the back-end and all th…

Experiment with abstracting the shit out of RabbitMQ to solve any business logic problem. I'm in a different CS field than web development but whenever I've had to implement something business related it almost always was just highly abstract message brokering with React hacked together UI. I learned UI from reading lecture notes on 'Human Computer Interface' design from the plenty of university courses around offering this subject http://www.cs.cmu.edu/~bam/uicourse/05863fall17/schedule.htm...

For learning web app APIs all I did was search Google Scholar for 'API design' and read whatever was available. Joshua Bloch has a good paper on API design. As for scaling, containers, concurrency ect look at Elixir w/Phoenix framework instead, or Erlang w/Yaws and just run it on a cheap FreeBSD comanaged box or deploy Phoenix to Heroku. BEAM will take care of the scaling. There's books around https://pragprog.com/book/lhelph/functional-web-development-...

Re: Web Architecture 101

#34
post #6

Earlier quoted context omitted.

I'm a big fan of DDIA (I have a copy in front of me right now), but the topics covered in DDIA are much more around distributed systems and databases, in short "data architecture", i.e. batch, streaming, derived data, transactions, consistency, etc. The article above is more about "web architecture". There is some overlap but DDIA largely doesn't really cover the same topics.

Any other books you'd recommend that come closer to fully covering the topic this post discusses?

Designing for Scalability with Erlang/OTP book is good resource. I mix Erlang with Algorithmia pay-per-use algorithms these days to drop in features like sales analysis.

Re: Web Architecture 101

#35

I'd love to see the initial diagram grown step by step. You don't start out this way and it can be extremely informative to see which bits get added when.

It depends on the business needs. Generally what happens is a developer will notice that something is going to become a problem and start considering solutions, long before the app becomes unmaintainable. It's all driven by what the application needs.

Re: Web Architecture 101

#37
post #29

Earlier quoted context omitted.

I too am in great need of things like that. I'm a mobile dev developing an app that I think I'm going to quit my job for to work on full time. I'm 33 and in over a decade of doing mobile (and front-end web) programming I've never worked on a personal project that showed as much promise as this one has for me, both financially and from a fulfillment standpoint. However the prospect of wrangling the back-end and all th…

Nah, don't let that discourage you. You can probably start with a Postgres backend that will serve as your db, full text search, data warehouse, and even job queue. Load balancers in front of your stack are available from aws, etc. and are easy to set up. The rest, like a caching redis server, actual job queue, etc. you can add as you go if it becomes needed. Some language stacks let you run async operations and queu…

Was about to write this exact reply. A single database and web server goes surprisingly far.

Re: Web Architecture 101

#39

Earlier quoted context omitted.

I'm guessing, but IMO when you're dealing with load balancing, services and data pipelines you're at a scale where you should be able to hire qualified people to do the job so the docs are geared towards that audience.

You're probably right re load balancing, data pipelines and some services, but i think security is important regardless of scale, esp if it's an enterprise app. Even simpler concepts like structuring and deployment of larger apps, database migration, creating dev, staging and production environments, test development etc would be really useful. These things are important even at low scale, and generally absent from t…

I've seen comments on this article elsewhere around load balancing not being needed until you're at scale, but do others not put it in quickly, not for volume, but for availability?

Re: Web Architecture 101

#40
post #37
post #29

Earlier quoted context omitted.

Nah, don't let that discourage you. You can probably start with a Postgres backend that will serve as your db, full text search, data warehouse, and even job queue. Load balancers in front of your stack are available from aws, etc. and are easy to set up. The rest, like a caching redis server, actual job queue, etc. you can add as you go if it becomes needed. Some language stacks let you run async operations and queu…

Was about to write this exact reply. A single database and web server goes surprisingly far.

If you have a reasonable idea of what you are doing.
Post reply on HN