Lukas Weber
Senior Enterprise Architect
Jul 2, 2023  |  7 mins read

DevOps or Developer Operations experts are integral to the cloud-native ecosystem because they play a fundamental role in developing, deploying, and scaling modern cloud-native applications.

DevOps and Cloud-Native: A Brief History

The authors of the book titled Cloud Native DevOps with Kubernetes describe three revolutions in the modern Information Technology landscape.

1. The emergence of the cloud

It is fascinating to note that the originator of cloud-based computing was the concept of mainframe computing. Racks of mainframes filled enormous, remote, climate-controlled data centers, and developers never saw them or interacted directly with them. They submitted jobs to these machines remotely and waited for the results. And they would receive an invoice for the resources used and processing time.

According to this book’s authors, “the word revolution means “circular movement,” and computing has, in a way come back to where it began.”

Does this mainframe computing model sound like the modern cloud computing model?

According to this book’s authors, “the word revolution means “circular movement,” and computing has, in a way come back to where it began.”

The most significant difference between now and then is that computer servers have become more powerful. But accessing shared, pay-per-use computing resources is an old idea.

2. The rise of DevOps

The clue to the origin and function of DevOps is found in the creation of the word “DevOps,” a combination and shortening of the phrase “Developer and Operations.” Before DevOps, these roles were separate. Development teams built and tested software applications, and operations teams ensured the software ran in production.

Both roles had very different goals, which often conflicted. However, when cloud computing increased in prominence, with its distributed computing architecture and its complexities, these roles merged into one, creating the DevOps team, where developers and operations specialists can develop and operate the software.

3. The use of containers

Using containers to package software applications and their dependencies originated from the concept of transporting physical goods in containers from source to destination without unloading and reloading before they reach their destination. They are packed into a container; the container is loaded onto a truck, shipped to the port, lifted off the truck, and loaded onto a ship or another truck.

In the same way, containerization is a technique that allows software applications to be packaged in a container, along with their dependencies and runtime environments. Containers provide a standardized and isolated environment, ensuring they can run consistently and reliably on any platform where the container runtime is available.

Note: In the cloud-native landscape, software is divided into individual microservices, and each microservice and its dependencies or everything it needs to execute individually without depending on any resources outside of the package.

The DevOps Culture

What is DevOps? Is it a job title, a team, a methodology, or a skill set?

There is a widespread misunderstanding about what DevOps is and the role it plays in the cloud-native application development landscape.

In his book, The Phoenix Project , John Willis, a leading DevOps writer described four key pillars of DevOps:

  • Culture
  • Automation
  • Measurement
  • Sharing

Furthermore, Brian Dawson describes a concept he calls the DevOps Trinity as being people and culture, process and practice, and tools and technology.

From these descriptions, it is clear that the cultural element of DevOps is a core part of the DevOps paradigm. Therefore, the question we should ask, and answer is, what is the DevOps culture?

To summarize: the DevOps culture describes a cultural shift in software development methodologies. In an organization, it is a set of practices, values, and principles that promote collaboration, communication, and shared responsibility between development and operations teams.

By breaking down traditional silos, it aims to connect software development, IT operations, and other stakeholders involved in software development and delivery. DevOps culture aims to streamline software development and deployment lifecycles, enabling faster, more reliable, and continuous delivery.

Cloud-Native Application Development: DevOps Practices

Cloud-native and DevOps go hand in hand, as DevOps practices are imperative for fostering cloud-native application development, deployment, and maintenance. And by adopting DevOps best practices, organizations can effectively develop, deploy, and manage cloud-native applications, harnessing the full potential of cloud computing to achieve scalability, flexibility, and fast innovation in today’s dynamic technology landscape.

The best way to describe the most important DevOps best practices is to consider them within the context of the following use case.

Let's assume you are the founder of an AgriTech start-up that employs generative AI and organizational data to draft agricultural benchmarking reports to improve crop yield per hectare. Not only do you have consultants that conduct site visits and collect data such as actual yield per hectare versus seeds planted per hectare, but this application also collects real-time data from soil sensors, weather forecasts, and crop monitoring devices to determine whether the crop received enough water for optimal crop growth.

Once the data has been collected, the application's Large Language Model (LLM) combines the data and generative AI to produce predictive statistical reports to help farmers improve their crop yield per hectare and, at the same time, optimize the operating costs per hectare.

You have successfully closed your seed funding round, and now it is time to develop your software application’s prototype.

Note: This application must be a cloud-native application as it will be hosted in the cloud.

Therefore, within the context of this use case, let's examine several DevOps practices for developing and deploying cloud-native applications.

1. Infrastructure-as-Code (IaC)

In IaC, infrastructure is managed and provisioned through code instead of manually. Using configuration files, you can edit and distribute configurations more easily. Furthermore, it eliminates the guesswork from infrastructure provisioning and prevents undocumented, ad-hoc configuration changes.

Using IaC, the DevOps team defines and manages the cloud infrastructure needed to host this application. They create configuration files that specify the required resources, networking settings, and security policies, making infrastructure provisioning consistent and reproducible.

2. Microservices Architecture

The DevOps team designs this application using a microservices architecture, which ensures modularity and scalability. Individual microservices handle data collection, analysis, reporting, and user interface. This architecture also includes a vector database containing a proprietary Large Language Model and a database storing the collected data.

3. Continuous Integration/Continuous Delivery (CI/CD)

Best practices for DevOps teams include CI/CD. By automating integration and delivery, development teams can focus on meeting business requirements while ensuring code quality and security.

With this coding philosophy and set of practices, development teams can frequently implement small code changes and check them into a version control repository, where they are automatically built, packaged, tested, and deployed to selected environments, including development, quality assurance, and production.

In our scenario, the DevOps team sets up a CI/CD pipeline to automate the integration and deployment of code changes. Whenever developers commit code to the version control repository, this pipeline is automatically triggered, integrating and testing the code changes and deploying the code to predefined environments, like development, quality assurance, staging, and production.

4. Containerization

Much has been written about containerization, its principles, and its practice, including in this text. Therefore, let us take a closer look at the role of DevOps in our use case. Each microservice is containerized using containerization software like Docker, allowing the DevOps team to package the application and its dependencies into lightweight, portable containers. This ensures consistency and enables smooth deployment across different platforms and environments.

5. Container Orchestration

The DevOps team uses a container orchestration platform like Kubernetes to automate the deployment, networking, and scaling of the containers. Kubernetes ensures the platform is highly available by handling the scaling, security, and resources based on demand.

6. Monitoring and Observability

The Google Cloud Architecture Center describes monitoring and observability as “tooling or a technical solution” that allows DevOps teams to monitor (or “watch and understand the state of systems”) and observe or to “actively debug systems.”

Monitoring and observability metrics should report on and monitor the following:

  • Report on the overall health of the system
  • Report on the system state as experienced by customers
  • Monitor for critical business and systems metrics
  • Provide DevOps with the ability to understand and debug systems in production 
  • Discover and identify unknown unknowns
  • Trace, understand and diagnose infrastructure problems in production

Our AgriTech system includes monitoring and observability features to track the performance of the application and infrastructure. DevOps engineers set up monitoring dashboards and alerting systems to promptly detect and respond to any anomalies.

7. Collaboration and Communication

Agricultural experts, developers, and operations (DevOps) experts collaborate cross-functionally to meet the needs of farmers and agronomists. Regular meetings, stand-ups, and communication channels facilitate effective collaboration.

8. Security and Compliance

Recent data breaches and ongoing cyber threats underscore the importance of adopting continuous security and compliance measures.

Therefore, in our scenario, the DevOps team integrates security practices into the CI/CD pipeline to scan for vulnerabilities and ensure the end-to-end pipeline is continually secure. They also conduct regular security assessments and compliance checks to safeguard sensitive data and protect against cyber threats.

In Conclusion

As highlighted throughout this article, DevOps and cloud-native go hand in hand. They are deeply interconnected because DevOps practices provide the necessary tools, processes, and cultural values to effectively support the development, deployment, and scaling of cloud-native applications. Their symbiotic relationship fosters collaboration, automation, and CI/CD (continuous integration, continuous deployment), enabling organizations to develop and operate resilient, scalable, highly available cloud-native applications.

Moreover, as described in our AgriTech use case, a DevOps culture centered around collaboration, automation, continuous improvement, and delivering value to customers quickly and reliably forms an integral part of cloud-native application development. Organizations can break down barriers, increase efficiencies, and achieve better outcomes in their software development and operations efforts by promoting a DevOps culture.

Read More

© 2025 Fiorano Software and Affiliates. All Rights Reserved. Privacy Statement | Terms of Use