The Doppler Quarterly Spring 2019 - Page 38

Let us consider a scenario of ordering a car through a popular rideshare app, such as Lyft. If there are six people in your family, you know to order a car that can seat seven (six plus the driver). If the driver brings a car that seats nine, there is no capacity prob- lem, but the car is not elastic – it is just big. But if the driver arrives with a car that seats four, and then suddenly adds three more seats as the car pulls up, that is elastic. Getting back to reality, retailers who rely on Cyber Monday need significantly larger resources that day than on other days of the year. To prepare for this situation, they have a few options. They can build an app with the strength to handle billions of dollars in orders every day – which would be more costly to build and less efficient to run. Or they can build an elastic app that knows, based on the loads that stream in, how to dynamically expand to the point where it can support the increased flow of incoming orders. A true elastic app is self-aware, watches the signals of workload behavior and executes code to increase or decrease services based on demand. The Pros and Cons of Elastic Applications The advantages: Elastic apps are easy to spot. Having your apps act in an agile manner gives you the abil- ity to respond better to demands and to organizational constraints. In most industries, you have no idea when you will need to suddenly scale resources, so you do not want to risk being slow on the trigger, waiting for humans to respond. Elastic apps expand and contract automatically, according to the load. The disadvantages: Risk and governance are new concerns. Elastic apps move faster, respond to changes with software and execute larger, more complex resource changes very fast. Having a solid security and governance framework around the elastic app is critical — and not the norm for most teams. Trust is not there for them, and they need to work their way into the new systems more slowly than the technology proceeds. This is a matter of people getting comfortable with the fact that the system is elastic. This is new, and new sometimes scares people. Also, you must beware of unwanted load, such as a DDoS (Distributed Denial of Service) attacks, or any service trying to take advantage of your site at large scale. If you don’t deploy countermeasures to detect unwanted traffic and deny it, such as AWS Shield, your infrastructure will scale to support it and increase your costs. 36 | THE DOPPLER | SPRING 2019