To run efficiently applications demands more and more resources. Even with the right amount of computational resources like servers, CPU, RAM, storage for them to be considered efficient and successfully on the market they have to meet many more requirements. It is impossible to list here all of them as they can depend on internal factors (for example driven by the application architecture itself ) or relay on external factors that may be specific and unique to a customer and an environment.
Although in this short blog post, I would like to discuss the importance of scalability factor and show one patters that can be used to build a highly available and efficient infrastructure systems.
There are two concept how we can try to implement a scalability: scale up vs scale out. For more information about scale up (or vertical scaling) these links provide further information . We will concentrate here only on the scale out option. All the pictures below are base on this presentation that slides can be found here: OpenStack-Design-Summit-HA-Pairs-Are-Not-The-Only-Answer.
- To fully benefit from the HA pattern your application architecture should relay use share nothing paradigm
- Next we have to configure our routers and implementing necessary changes for a routing protocol. OSPF routing protocols is an examples and others can be used in similar way as well. For more info can be found here .
- As last you have to configure you servers to listen and accept traffic for our anycast IP.
That way if failure occurs only an isolated, small part of the computational resources will be impacted.
The slides show only a fraction of the configuration. Another good example with con figs can be found here: Anycast DNS - Part 4, Using OSPF
- Seattle Conference on Scalability: Lessons In Building Scalable Systems
- What is “anycast” and how is it helpful?