24 July 2019
« Cloud storage, cloud migration, etc.« … so many expressions that we hear every day now. Nevertheless, you do not understand all the cloud components: the difference with On-Premise, its advantages and also the relationship with DevOps. Don’t worry, in this article, I explain everything you need to know about Cloud and DevOps.
What is Cloud Computing?
Cloud Computing refers to a data storage service accessible through the Internet. According to a definition from the National Institute of Standards and Technology (NIST) "Cloud Computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. "
Therefore, it is means accessing remotely to IT resources, software, data, and tools, most often stored in data centers outside the company.
The 5 characteristics of cloud computing are:
- On-demand self-service;
- Broad network access;
- Resource pooling;
- Rapid elasticity;
- Measured service to know its real consumption.
There are 3 models of cloud computing services that are:
- IaaS (Infrastructure as a Service): rental of the hardware IT infrastructure;
- PaaS (Platform as a Service): rental of hardware infrastructure but also middleware applications;
- SaaS (Software as a Service): Cloud service all-inclusive, accessible via a web browser.
Finally, there are 3 main deployment models: Private, Public and Hybrid.
As shown in the diagram below, a private cloud is protected by mechanisms, such as a VPN, while a public cloud is by contrast open. The choice is crucial but depends on your challenges. For elasticity needs, choose the public cloud. If you are processing sensitive data, the private cloud is more suitable. Indeed, in the case of the public cloud, which concerns SaaS, there is no clear legislation about the location of services and legal obligations implemented in France and Europe. In the event of high volumes and security/ confidentiality issues, the public-private mix is appropriate. We call it the Hybrid Cloud.
Now that the definition of Cloud Computing has been established, it is important to understand the advantages of this service.
Are Cloud and DevOps complementary?
A quick reminder about DevOps culture: The DevOps methodology consists of smoothing the relationships between developer teams and Ops to make faster and better quality production releases. Always with the purpose of competitiveness due to the current environment.
Cloud and DevOps are independent and yet they hardly work separately. You're going to tell me that we can do DevOps without Cloud and vice versa. You're right... but the Cloud is boosting DevOps. This winning combo Cloud and DevOps have several advantages:
To successfully delivering continuous improvements to final users, production cycles must be reduced. To do this, the DevOps culture needs tools that allow this flexibility and speed of execution. Cloud providers such as Amazon Web Services (AWS), Google Cloud Platform (GCP), OVH and Azure offer DevOps tools directly integrated into their services (Source Code Managers, etc.).
... thanks to continuous integration
Continuous integration is one of the main concepts of DevOps. It is a set of practices that consists of automatically testing each code revision before deploying it in production. This accelerates developments and production releases. The next step is then continuous delivery which is the extension of continuous integration. Continuous delivery is an approach to software publishing. It consists of deploying automatically the code after being validated.
The Cloud, a flexible solution
With the SaaS model, the software is accessible everywhere, at any time, all you need is an internet connection. This allows your development and operational teams to work from anywhere. With the democratization of remote, it is a factor to be taken into account.
The Cloud is also a service that evolves easily and quickly according to your growth and the number of employees. An On-Premise solution, in contrast, is much more rigid. Adding power to servers is not something that can be done in minutes, for example. You also save time because you no longer have to worry about updates. The supplier will take care of it for you. Your IT department can focus on other tasks.
Ops also have access, thanks to the Cloud, to a service that allows them great flexibility in terms of volume, storage and that directly integrates all the DevOps tools they need to be productive. It enables operational teams to focus on bringing new features into production and analyzing the developers' needs, without thinking about shutting down physical servers, maintenance, capacity, etc.
The Cloud, a cheaper solution
Historically, servers were stored in companies and required heavy and tedious maintenance. The fixed costs of installing software on a company's physical server are higher than the variable costs of a monthly user cloud subscription. Indeed, for a physical server, it is necessary to take into account the price of user licenses, maintenance costs as well as costs related to redundancy, resilience, etc. Therefore the Cloud is an economical solution where you pay for real consumption and is accessible to every company. Particularly for startups that do not have a high investment capacity.
A DevOps team and a more serene company
The combination of DevOps and Cloud has benefited European companies. Indeed, according to a CA Technologies study, they recorded a 129% increase in their deployment performance. They also noted a 108% improvement in their customer experience compared to traditional deployment models. They also announce having better control over the costs and resources used by DevOps teams. Researchers have found that the Cloud and DevOps association reduces tensions in the development and deployment process, which has a direct impact on the company's competitiveness.
As explained before, the current environment is highly competitive, companies must be able to adapt quickly to market developments and the ever-increasing demands of users. This is why companies are increasingly turning to the Cloud. But some activities requiring high data confidentiality (public companies such as defense for example) are reluctant to opt for SaaS hosting. As mentioned above, there are yet no international laws governing this new practice of storing data outside the company or even outside its country. The main reason for On-Premise hosting is therefore often data security. It is then important to ask yourself the right questions before adopting the Cloud and DevOps duo.
How to adopt the winning duo Cloud & DevOps?
To set up the winning duo Cloud and DevOps in complete serenity within your company, follow these steps:
- Establish specifications to clearly define your needs and define a budget.
- Choose between IaaS, PaaS and Saas models. This part concerns your internal resources. Do you have enough employees in your IT department to take care of the hardware infrastructure? Do you have the space to host servers? Etc.
- Choose between private, public and hybrid deployment models. Here, the question revolves around your products. Does it need a change of power according to seasonality? Does it use sensitive data (beware of GDPR rules)? Etc.
- Define the tools your development and operational teams need. One point of attention is that there are a very large number of DevOps tools integrated into the Cloud. It is very easy to get lost and have a bad surprise on the invoicing. Even if the Cloud is cheaper than On-Premise, if you add a multitude of tools, the bill can quickly rise. It is therefore important to benchmark before you start, to understand which tools meet your needs.
- Depending on the selection of DevOps tools, you can choose your cloud provider (AWS, GCP, OVH or Azure).
So what are you waiting for to adopt the winning duo Cloud and DevOps? Feel free to contact us if you have any questions about choosing services for smooth cloud migration with DevOps.