Live data from Hacker News

Web Architecture 101

engineering.videoblocks.com

41–49 of 49 posts

Re: Web Architecture 101

#41

Random thought, but when you see that.. it also makes more visible a little bit more, what it means to be responsible for the "full-stack" in 2018.

Skyscanners "Full Stack Test" was entirely in Javascript when I got asked to do it. Screw that, its not my strong point. Apparently the alternative is Hackerrank for systems engineers when I mentioned that to them. Hiring in our industry is a shambles.

Re: Web Architecture 101

#42
post #39

Earlier quoted context omitted.

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?

Again - when you need something to be available you probably want someone who knows what he's doing from start setting it up.

Not saying you can't or shouldn't do it but it's not surprising that there's not a lot of newbie friendly tutorials for such things.

Re: Web Architecture 101

#43
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…

You've described the exact approach I've used for my B2B SaaS.

Initially we had a web server (two actually, to achieve zero-downtime deploys) and a database.

A few months later, we introduced Redis for caching. This was much earlier than I expected we'd need to - these days as soon as a web app gets traction, it starts attracting scammers, spammers, and manipulators who put unexpected load on your system.

Just this week, we've finally added a worker server to run long running tasks. Until this week, Java's brilliant Executors were handling this for us in a background thread.

A Java uberjar, deployed to AWS's Elastic Beanstalk, is an approach I'd highly recommend for anyone wanting to get version 1 of their web app deployed.

Re: Web Architecture 101

#44

Can anyone recommend an introduction to web architecture in the more general and less complex sense? I would like to learn about how the browser interacts with the server (I don't care about load balancing or caching for now), how JS interacts with HTML and CSS, how API's work? I know a common architecture is JS in the browser making requests to the server and receives JSON and then renders it somehow. Sometime the s…

I wrote an article on learning web development, might be useful to you. Here's the link: https://medium.com/career-change-coder/how-i-broke-into-web-...

If you're only looking for high-level concepts, Crash Course has some good episodes about the workings of the internet.

Re: Web Architecture 101

#45
post #40
post #37

Earlier quoted context omitted.

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.

Even if you don't, throwing some more hardware at it can still get you pretty far with a decent ROI in the early stages.

Re: Web Architecture 101

#46
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…

thanks for the advice - yes I'm on the JVM w/ spring boot.

I suppose I may be overcomplicating things with trying to do it "the right way" right out of the gate. I guess the "perfect is the enemy of done" saying comes into play here.

Re: Web Architecture 101

#47
post #44

Can anyone recommend an introduction to web architecture in the more general and less complex sense? I would like to learn about how the browser interacts with the server (I don't care about load balancing or caching for now), how JS interacts with HTML and CSS, how API's work? I know a common architecture is JS in the browser making requests to the server and receives JSON and then renders it somehow. Sometime the s…

I wrote an article on learning web development, might be useful to you. Here's the link: https://medium.com/career-change-coder/how-i-broke-into-web-... If you're only looking for high-level concepts, Crash Course has some good episodes about the workings of the internet.

Thank you, some of the references were helpful!

Re: Web Architecture 101

#48
post #39

Earlier quoted context omitted.

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?

Again - when you need something to be available you probably want someone who knows what he's doing from start setting it up. Not saying you can't or shouldn't do it but it's not surprising that there's not a lot of newbie friendly tutorials for such things.

Setting up HA LBs isn't hard though. Two load balanced IPS in your DNS hitting each external load balancer IP, LBs have keepalived configured with two floating VIPs each. I learnt that on the fly when having to build an HA service without the economic resources usually associated with doing so. ( Databases and routers/firewalls were a whole different beast though)

Re: Web Architecture 101

#49
This is overcomplicated, you can do it much simpler using some Backend as a Service, like Parse, Hoodie, Backendless or Firebase with a client-side business logic.
Post reply on HN