How to Quickly Scale your Web App? Hints: nginx and databases

preview_player
Показать описание
How can you quickly speed up the speed of your web apps? There many things you can do to scale a web app: add more ram, use a faster or more CPUs on your web server, move the database to another server ... and of course, not use Ruby. ;)

My popular courses:

My business courses:

My social links:

Thanks!

Stef

#nginx #databasespeed #webappscaling #SQLoptimization
Рекомендации по теме
Комментарии
Автор

Scaling has really worked similar ways last 10 years. Its basically same princibles all over.

1. Most webapps are database driven. So you push much as possible to query results to cache and make indexes/queries better on DB end.
2. Then you scale server side using load balancer and pushing up virtual hosts/docker/kubernetes pods as things change(scaling up/down)
3. You also try push as much possible to client end for recurring users. Some of the logic and assets(like images) Also try to separate assets from servers using CDN'n or similar so that servers are not too much loaded when fetching them.

You will find that most solutions today follow those three princibles. Really same do you use virtual host, docker, docker hosting services(like EKS) or kubernetes. They may have more layers, different way of doing things but basic princible is always the same.

AnttiTolamo
Автор

Thank you Stefan, You're the best man in this youtube

mehdibelhajmaati
Автор

I've seen NGINX listed as part of many tech stacks of websites I visit. I looked into it, and understand things at a surface level. It's nice to hear about a practical application of the technology.

busyrand
Автор

Any beginner/intermediate developer who is not subscribed to this channel is missing out.

You'll not only learn a lot, but as you become a better developer, you'll be able to validate your design decisions at scale with videos like this one - you're literally data-mining decades of industry experience.

chronotriggerfan
Автор

Well upgrading the current server might be just temporary, of course that depends on the application, if it's small, 1 upgrade it's enough but if it is enterprise loadbalancing is the most common if you ask me. You da man ! Totally love these videos.

ProgrammingwithPeter
Автор

Storing cache on a redis server between the database and the web server... That a good start....
A good website should never ask 2 times the same exact request to the database...

Ask 1 time, and then store the result in the cache...

Good coding practice is far more efficient that upgrading hosting :)

LtSich
Автор

Stef, what do you think of docker, kubernetes and microservices ? I'm learning kubernetes and it's awesome

besyanseyrani
Автор

1. Increase Ram / CPU
2. Move Database to its own VPS

Alternatiively use a Cloud Database service .. to handle scaling for u.

Kubernetes and Docker are another way of doing it.
The ease of spawning multiple sets of containers might be really powerful., splitting up your code into microservices, to even further pinpoint & load balance traffic in certain parts of your application.

It has these capabilites ... but usally you dont start worrying about a viral app before you even have smth basic going. So these are solid first steps ...

A single server setup might be all you need for starters ;) ... keep it simple

MedyGames
Автор

Stef, can you do a video about tasks that a senior software engineer has other than coding (as compared to a more junior role)? Also, a video about other high paying career paths for software engineers would be amazing (eg. project manager, security advisor)!

alexandrajohnsson
Автор

What technology have you used for the backend of Studio Web - PHP or Python?

leopergoli
Автор

What kind of camera gear did you use for this video ? It looks exceptionally good.

PreachTheTruth
Автор

Stef, what would you say a VPS housing a database should prioritize - RAM or CPU?

tim_t
Автор

Hey Stefan I understand how to use full stack technologies to develop an application but could you do a tutorial on architecture?

Like for example if I wanted to create a SaaS of my own, my next step would probably to do a pre-release and let a decent amount of users try it out for me and provide feedback. Obviously, if I'm going to allow 5k or 10k users to use my app out the gates I'd need some infrastructure to accommodate that. How do I select a database with scale? Should I use a full backend or cloud functions to limit my cost? How do I configure environment variables for CORS and whatnot across multiple deployments? Should I use a storage bucket or save files to my backend server's file system? How do I take Docker outside the scope of development into production? I'm just really confused if you could clarify these things.

malikbrahimi
Автор

hi man love your videos i want start mobile apps what languages i most learn

mahanrezai
Автор

@Stefan Any thoughts on running nginx and a database as a stack on a Docker swarm cluster ?

hjaltiatlason
Автор

I worked on a web app where a four VPS setup was ideal (front-end, back-end, database, Redis) but only two was used. In hindsight, we should't told our bosses instead of hesitating because they might get angry at the thought of additional operational costs.

tim_t
Автор

Can u make a video about QA testers, and what programing lvl need for QA tester?

mr.nice_
Автор

Vertical Scalability vs Horizontal Scalability.

miguelfrosales
Автор

I can't believe you have more hair than I do!

realchicagophill
Автор

Why would you pull your database off go daddy. There hosting is great

cd
visit shbcf.ru