Home Computer Science Building Applications with Scala
Scaling up application in traditional data centers is always hard because we need to have the hardware in place. This gets done by the practice of capacity planning. Capacity planning is great to make sure we don't spend money beyond our budget. However, it is very hard to get it done right. Software is hard to predict, and that's a great advantage of the cloud. Cloud is just another level of abstraction. Hardware and networks become logical, and they are encapsulated behind APIs. This makes it easier to scale our application as we can rely on cloud elasticity and scale on demand when we need to. However, the architecture needs to be ready for this moment and use the tools and techniques described in this chapter. Currently, there are several public clouds; the best options are as follows:
Today, Cloud is not the only big elephant in the room. We also have the Linux containers, such as Docker(https://www.docker.com/) and LXC (https://linuxcontainers.org/). Containers provide another level of abstraction, and they can run on the cloud or on premises. This makes your application more portable and also more cost effective. Containers also scale. The main advantage around containers is speed and flexibility. It's way faster to boot up a container in comparison with a virtualized image in any public cloud. They are also portable and can run everywhere.
|< Prev||CONTENTS||Next >|