Common Server Setups for Web Applications
Aryama
Posted on August 18, 2023
While going through the basic System design courses , one of the most common term which I came across is SERVERS. Now we know that these are one of the most important components in systems , here is a list of different ways to setup a web service.
Single Server: This technology is straightforward but could suffer from slow performance due to resource competition and lacks the ability to scale horizontally.
Separate Database Server:
In the architecture, an application server and a database server operate with separate resources, allowing individual vertical scaling, but the network latency between them increases due to the database being a network hop away.Load Balancer: By distributing work among multiple servers, the system achieves native horizontal scaling and defends against DDOS attacks with rule-based protection, yet introduces complexity that could potentially lead to performance bottlenecks and complicate aspects like SSL termination and stick sessions.
HTTP Accelerator: By caching web responses in memory to enhance rapid serving, alleviate the web server's CPU load, and utilizing compression for reduced bandwidth consumption, the system requires tuning and could experience decreased performance with a low cache-hit rate.
Master-Slave Database Replication: Can improve read and write performance. Adds a lot of complexity and failure modes.
Load Balancer + Cache + Replication: The approach involves integrating load balancing for caching and application servers, along with database replication.
Database-as-a-Service: Delegate database management to external providers, such as Amazon's RDS and other hosted versions of popular databases, allowing someone else to handle the operation.
Backend as a Service: When developing a mobile app and aiming to avoid backend intricacies, outsourcing the backend to third-party services like Parse or Firebase lets us focus on the challenging mobile platform aspects, given their popularity and convenience.
9.Platform as a Service: Opt for a partially managed backend solution that offers greater flexibility compared to Backend as a Service (BaaS), leveraging options like Google App Engine, Heroku, Salesforce, and various alternatives, allowing us to build our application while delegating most backend responsibilities.
Ref: https://www.digitalocean.com/community/tutorials/5-common-server-setups-for-your-web-application
Posted on August 18, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.