Web optimizations - part 2 - Why would I need a cluster?
If you've reached this page, you're probably either curios about what other people think about server clusters or you think you need one.
So the question is 'Why would i need a cluster?' . I am going to answer it from our field of work. What we do is manage large server solutions for high traffic websites. Website delivery speed plays an extremely important factor in user experience while navigating a site. No matter how powerful a server is, it will eventually create bottlenecks when being hit by a large number of users. The limit of good behavior depends on several factors such as server power, website optimization, network bandwidth attached to the server, ram amount, etc. Whenever one or more of these factors is abused, the server will start to show slowdowns or even become unreachable.
So what can you do when slow downs occur. There are 2 options:
- optimize the website where possible
- add more servers
When you have to opt between these 2 solutions, I think it's best to first analyze the solution costs for short and long term. Based on your targets you can then decide how to invest further.
Website optimizations can prove to be very beneficial sometimes. There are a lot of websites, which with a few hours of work could be made unrecognizable in terms of speed. But there are also cases when optimisations are not worth pursuing. No matter how many things you optimize, there's always going be a little small thing that you can do, but after a certain point it starts to turn into a waste of time and money. People also tend to keep a balance between speed and scalability. If you take the highest speed solutions, it might not be optimal for a long term development plan.
If you can't benefit from a website optimization, or it's not enough to make things fast, then you need more servers. Things get a little more complicated when you have to manage more hardware, but it's something you have to do. Depending on your type of application, the migration from single server to multiple servers can be more or less painful. You need the right architecture for your application. Data synchronization is sometimes one of the most important aspects in a multi node server structure. There are always solutions: file system synchronization, database synchronization - they just need to be configured in the right way for what you need. Another important factor is solution scalability. You need an extra server now, it's most likely you'll need another one later and so on.
Comments
0 comments postedPost new comment