One of the biggest draws for businesses to migrate to the cloud is automation. Being able to automate security responses, automate responses to increases in web traffic, automate reporting, etc. Automation is a key benefit to utilizing the cloud. At some point, though, your business may need to scale up. Not just have elasticity for traffic bursts, but scale for growth. The difference between elasticity and scalability can be confusing because they are so similar, but they serve two different purposes.
The advantages of elasticity and scalability mostly lie in what your goals are. If you need a server to handle individual spikes in traffic, or bursting, then you want elasticity. If a traffic spike happens an elastic system can spin up another server to help handle the increased traffic and temporarily assist with the spike. When the spike dies down, everything automatically goes back to the way it was. It’s all automated, no one has to manually do anything and it’s handled.
If you need your infrastructure to handle sustainable growth year over year, you want scalability. When you’re first starting out as a business, your needs will be very different than a business which has been around for 10 years. You expect a certain level of traffic, a certain number of member accounts in your database when you start. At some point, your business will grow, and your servers need to grow with it. Not only to keep your database intact as those numbers increase, but so that search queries return at the same rate of speed as they always have, no matter how many records there are to search.
Scalability makes it possible for everything to continue running as it has so that your customers, clients and partners do not experience problems with your product. API calls return quickly. Queries continue to return in seconds as opposed to minutes. Traffic growth is handled appropriately. No part of the system and no customer is negatively affected by sustained increases.
The biggest advantage to elasticity over scalability is cost. If you only expect bursting needs, you don’t need a system in place for that. You need something that will automatically ramp up when traffic spikes and then go back down, so paying for a huge server becomes unnecessary. It’s like a rubber band, stretching when it needs to, then returning to its normal size when it’s not in use.
However, if you expect your needs to grow and that growth to be consistent, then you need scalability. As your business grows, like anything else that changes, there will be growing pains. Infrastructure doesn’t need to be one of them! As soon as you have an idea of what the consistent rate of growth of your business will be, have a scalability plan in place.
Every business experiences spikes and plateaus. Have elasticity and scalability plans in place to handle bursts as well as sustained growth. Ease the growing pains by being proactive. Have it done before unexpected growth happens and you are unprepared, don’t be caught off guard!