Pharma IT Insights

What is DevOps?

Understanding Cloud Computing and Infrastructure as Code (IaC)

By Gowri Mani Gokavarapu

April 28, 2022

Pharma IT Insights

What is DevOps?

Understanding Cloud Computing and Infrastructure as Code (IaC)

By Gowri Mani Gokavarapu

April 28, 2022


Share on email

Share on linkedin

Share on twitter

Share on skype

Share on facebook

The concept of DevOps originated from an overall idea of bringing Development and Operations teams together. While the concept has become a bit of a buzzword, its use in practice is often too vague. To demystify the topic, this Insight examines DevOps from a technical perspective. By viewing the concept through the lens of Cloud Computing and Infrastructure as Code (IaC), a fuzzy DevOps concept becomes much more clear.

Twin enablers of DevOps: Cloud Computing and Infrastructure as Code

Some of the chief concerns of computerized systems are uptime, reliability, and security. In contemporary systems, these three goals can be achieved through a technical approach (DevOps). A good path to acquiring an in-depth understanding of DevOps is by acquiring a basic understanding of Infrastructure as Code (IaC) and Cloud Computing.

Historically many servers have been managed through a Graphical User Interface (GUI) and manually configured configuration files. This means that, just a few years ago, the deployment of new servers would involve buying, shipping, and setting up systems – a process that could take weeks or even months – not to mention verification processes which could, furthermore, add several extra months of work on top.

With the advent of Cloud Computing, however, servers can be easily, quickly, and reliably deployed using Command Line Interfaces (CLIs) such as PowerShell and Bash. Further, configuration can be done in code (whether it be Terraform, Ansible, or even Python). This has aptly been called “Infrastructure as Code” (IaC). A Microsoft Azure Virtual Machine (VM) can be deployed in less than a minute, and a Docker container can be created in seconds.

Through Cloud Computing and IaC, provisioning of servers has gone from being a months-long project to a task that can take seconds or minutes

This ultimately enables immutable systems that can quickly be re-deployed, and fast prototyping (development systems that can be created for a specific purpose, and quickly deleted once they’re no longer useful – sometimes within hours or even minutes).

The fact that servers can be provisioned so fast, and with the use of automation through code, has two key advantages. First, it has enabled and created an opportunity for a re-thinking of operations processes. Second, it has enabled development teams provision their own systems to a much larger degree,.

In other words, DevOps is not just about making development and operations teams communicate with each other, it’s about using contemporary tools and technologies to naturally make development and operations teams think alike and share a common language.

Cloud Computing and IaC enable operations teams to think more like development teams by writing code for the provisioning of machines. In the same way, development teams can think more like operations teams by provisioning and administrating their own machines.

Has this Insight helped you gain a better understanding of DevOps?

At Pharma IT, we’re ready to answer your questions. We have expertise within industry-standard tools and technologies such as Terraform, Ansible, AWS, Azure, and much more. If you want to implement DevOps in your organization, or learn more, feel free to contact us.

Has this Insight helped you gain a better understanding of DevOps?

At Pharma IT, we’re ready to answer your questions. We have expertise within industry-standard tools and technologies such as Terraform, Ansible, AWS, Azure, and much more.
 
Want to implement DevOps in your organization, or learn more? Feel free to contact us.

Without IaC and Cloud Computing, DevOps would represent an ideal that is hard to reach in practice

One of the biggest reasons why development and operations teams have not, traditionally, aligned, is that the tools and responsibilities of the two types of teams simply differed too much. This necessitated too much specialization for it to be sensible for a team to do more than one thing. With Cloud Computing and IaC, this is no longer the case. Because systems can now quickly be created and deleted, development and operations teams can think differently about their roles.

In fact, an all-around knowledge and a good overview of a full technological stack go a long way in the age of Cloud Computing. These skillsets have become, in many situations, extremely useful because a team member who is comfortable with both CLIs, networks, servers, and coding/scripting can set up whole infrastructure systems quickly and reliably.

This is not to say that specialization is no longer needed. It is, however, to say that team members in DevOps organizations need a slightly different mindset from what they may be used to. Developers need to think about servers, networks, infrastructure security, and provisioning, and operators and system administrators need to think about the aforementioned infrastructure tasks in terms of code and automation.


About the author(s)

Gowri Mani Gokavarapu is an ambitious data and automation engineer, and works as a consultant in Pharma IT’s Automation & Analytics Team. In her role, she is responsible for creating automated solutions for software processes used in production and manufacturing environment.