![]() The world is filled with infrastructures where there are many web servers, all bottlenecking on a shared Memcache instance. Many times, knowing when to scale horizontally is more difficult than knowing how to scale horizontally. This may be a more powerful server than is necessary for the short term, but it will give the service room for growth and ensures you have some standardization in servers (making them easier to manage). When a new server is needed, it is deployed with those predetermined specifications. Therefore, most infrastructure managers figure out a general server specification that will work for them and provide some room for growth-usually this server specification will differ between different services (e.g., one spec for web servers, one spec for DB servers). Eventually you end up with a single outdated and complex server, which is very problematic from a systems perspective. It also can involve bringing the server offline, which is not ideal.Īs sites grow to the point where they need additional resources, usually by that point there are business requirements in place that necessitate some form of high availability.Īs a single server becomes larger and more important, the ability to take it down for security and feature updates starts to disappear. However, this doesn’t always hold true in practice, for a couple of reasons:Īdding resources to a server can be more difficult and time-consuming than simply adding an additional server to your infrastructure. Generally, outside of HA considerations, it’s fairly common to scale vertically to the extent that is cost effective to do so-once you reach the point that scaling vertically is going to be more expensive than scaling horizontally, it is time to start adding more servers. In essence, services will be offered by several servers, and any data will be synchronized across them. If this situation is unacceptable to clients or business owners, you will likely need multiple servers to offer better reliability. ![]() ![]() If your entire site is hosted on a single server, it just takes that one server going offline for your site to go down. As your infrastructure grows to include multiple servers, adding one more server should not mean a huge increase in systems management overhead (read up on configuration management in Chapter 9) however, making the initial jump from one server to multiple servers likely means you will need to step back and reanalyze your management plan, potentially starting to use a configuration management system for the first time. This doesn’t just mean additional hosting costs, but may also mean more systems management overhead. However, it is also important to consider if adding more RAM to a server might mean that you are now limited by CPU, network, or I/O resources on the server-and you may not have the ability to increase those resources quite as easily. For example, you may be able to solve an issue by adding more RAM to a server. Can your current server be allocated more resources (RAM, CPU, etc.)? This is generally easier to do for virtual machines than for physical servers. For example, two processes both needing a lot of disk I/O can dramatically slow each other down. There is no silver bullet solution for everyone, but we can provide some guidelines that should make it easy to find the right solution for your particular needs.Īs your resource usage increases due to additional site features or an increase in traffic to the site, you may start to see resource contention on the server. ![]() What kind of high availability do you require? What response times will your users or your management consider acceptable? Does your site require any “extra” services or applications, outside of a standard LAMP stack? All of these considerations and (of course, expected traffic to the site) will need to be taken into account when designing, building, and maintaining a multiserver hosting environment. Your infrastructure design will vary greatly based on your website’s requirements. There are a number of ways to architect your environment to ensure fast response times to your visitors and allow you the potential to further scale in the future. However, the leap from a single server to a multiserver infrastructure is a large one. Whether you are beginning to plan for the launch of a large website or managing the growing pains of an existing site, you will quickly come to the point where one server is not enough to handle the traffic to your site, or you need more reliability than a single server can provide. Chapter 7. Infrastructure Design and Planning
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |