Chapter 12. Cloud and DevOps

We did not want to end the book without talking about Cloud and DevOps functions. Having a server in house is not a good solution when Cloud platforms exist; so, in this chapter, you will understand why you should use Cloud for your application and which provider is the best for your requirements. Also, you will learn how to deploy your application into these Cloud platforms using automated tools.

The DevOps' role is closely related to the Cloud, so we will go through this subject and what the DevOps tasks are.

What is Cloud?

The fastest way to explain what we know as Cloud is by saying that the Cloud is the delivery of online services hosted on the Internet, but we can also say that Cloud allows us to consume digital resources in a very easy way. Some common Cloud services used these days are disk storage, virtual machines or TV services among others. As you can imagine, the main benefit of the Cloud is that we do not need to build and maintain these infrastructures at home.

As developers, you will know that Cloud is a good approach for our applications. Let's take a look at some advantages.

Autoscalable and elastic

When your application is online, it is impossible to predict whether the traffic will be very high in a few months or even a few days. Cloud allows us to have an autoscalable infrastructure that matches the traffic or consumption resources of our application. It can grow if your traffic is higher or decrease if your application does not have the traffic you hoped for.

Usually, there are three options when you want to resize the servers. In the next picture we will be showing you graphically the different options you have to resize your servers. The yellow line is the maximum load your application can manage and the blue line the current load of your site:

  • Picture 1: Use more servers than you need in order to avoid traffic problems when peak traffic occurs.
  • Picture 2: Use enough servers for normal traffic. You should know that it is possible to have problems on specific days. For example, if your application is an online shop, problems may arise on days like Black Friday.
  • Picture 3: Use an elastic Cloud; it increases and decreases by adding or removing servers automatically depending on the peak traffic so that you always have the infrastructure you need.

    Autoscalable and elastic

    Resizing ways

Lower management efforts

If you lose time setting up your server and performing maintaining tasks, you are losing time that you could use on improving your application. Cloud allows us to just focus on our application because it provides us with a new way to develop applications, providing preconfigured resources that allow us to develop applications without worrying about the infrastructure we are working on.

In addition, Cloud usually provides us with a complete and useful dashboard to manage the machines, so we do not need to use an SSH console anymore, making our tasks easier. It even provides us with better ways to manage our databases and load balancers or certificates.

Cheaper

Using Cloud is cheaper than having the servers at home. These savings are because of the following reasons:

  • You are only paying for the infrastructure you need all the time, so you do not need to change your machines when the traffic on your application grows
  • The IT guys (in case you need them) will be more productive because they will only focus on problems that Cloud cannot help with

Be aware when you pay for a Cloud server that you are not only paying for the servers; this server also includes the storage, an operating system, virtualization, the physical space, updates, a cooling system, and many other things, such as energy or data center operations.

Grow faster

This point is closely linked to the last one. If your application is new and you do not know if it will be successful, it is not a good idea to buy physical servers and all the related things in order to put your application online.

Using Cloud, you can pay monthly for the server you need and if the application does not go as expected, you can reduce the plan or even close it and you will spend less money.

Also, saving money at the beginning will allow you to grow faster, paying attention and putting money into the application instead of spending money on hardware.

Time to market

If you want to test new ideas and put them online, it will be faster. This is the main Cloud advantage and it is very precious on the internet. For big companies, it is very difficult to go as fast as small companies and Cloud allows them to include changes online in an easy and fast way, making this a very competitive advantage.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.65.247