7 min Devops

What is DevOps, and how does the model evolve in the cloud?

What is DevOps, and how does the model evolve in the cloud?

DevOps is an amalgamation of traditional Development and Operations teams. Especially in the cloud, however, the DevOps model is evolving. More and more tasks are being automated, creating more time to focus on applications and features that make the difference.

We sat down with Sebastien Stormacq, AWS Technical Evangelist at Amazon Web Services (AWS). He talks to large companies and their developers on a daily basis. He discusses their needs, how they experience application development in today’s world, what tools they find important, what they are still missing, and which obstacles they face in the development of applications and infrastructure.

Stormacq’s role is to advise developers on a variety of AWS and third-party tools to eliminate or alleviate challenges. In some cases, he’s able to provide feedback to AWS’ development teams and improve certain services. In any case, Stormacq stands at the centre of the world of DevOps — and, as such, knows better than anyone how the model is evolving.

Tip: AWS is replacing more and more Intel Xeon chips with self-made ARM chips

Merging Developers and Operations

We asked him about the success of the DevOps model. Stormacq states that the merging of Developers and Operations was inevitable. Despite the introduction of microservices, applications are becoming more and more complex. Applications use an increasing amount of libraries, consisting of increasingly numerous lines of code. Previously, the operational aspect of app deployment was eagerly tossed over to Operations, providing an installation manual at the most. That model is no longer tenable. According to Stormacq, cloud development companies with separate Developer and Operations teams are almost impossible to find.

Aside from the fact that the merger was inevitable, Stormacq says it offers much more choice. Because companies now work with DevOps teams, they can determine what infrastructure should look like at the early stages of application design. Through programming, teams can build and configure complete infrastructures. Additionally, most organizations automate the entire CI/CD pipeline to allow application deployment with the push of a single button. Operations teams simply don’t have to be involved.

More Development, less Operations

We’ve noticed that while the tasks of developers rose dramatically, the tasks of professionals in Operations were automated or shifted to developers. Stormacq recognizes the trend, but emphasizes that developers are perfectly capable of performing Operations tasks.

AWS has more or less catered to the latter with its Cloud Development Kit (CDK). The CDK allows developers to build and compile a complete infrastructure in their favourite language. For this purpose, AWS supports JavaScript, Python, Java and C#. Furthermore, AWS supports development with virtually any IDE, increasing the availability of code completion, Syntax highlighting and compiler verification. This obviously holds true for Cloud9, AWS’ own IDE, but also Visual Studio Code, IntelliJ, JetBrains and a few others.

Everything is more developer-driven

Of course, when talking to AWS, the example of Amazon comes up quickly. Amazon embraced the DevOps principle early on. It transformed the entire organization because of the belief in more innovation.

Amazon works with so-called pizza teams. Each team must be able to eat one or two pizzas. Mind you, this refers to American pizzas, so the teams can still contain up to 16 people. The team bears full responsibility for the service it develops. Full responsibility concerns not only development, but also infrastructure rigging, maintenance, monitoring, alerting, automated troubleshooting and ticket creation. Teams are thus responsible for the complete DevOps journey.

Hence, automating as much as possible is desirable. Many DevOps teams take advantage of automation. The aim is to spend as much time as possible on improving and optimizing applications for the customer — and as little time as possible on checking and rechecking Operations tasks.

Are we not asking too much of Developers?

When considering the changes of development in recent years, the amount of new, additional responsibilities is striking. Developers no longer just develop applications. They program code for the infrastructure, take application security into account, test the application and apply data science and management. Moreover, there are compliance requirements and demands for optimized user experiences. Everything’s shifting towards the developer’s plate.

We asked Stormacq if organizations aren’t asking too much of developers. In principle, he says, they are. However, he adds: there are lots of specializations emerging. There used to be many full-stack developers for both the front-end and back-end. Now, skillsets are decentralized. For companies, it’s important to keep a close eye on what specializations a DevOps team requires.

Ultimately, the latter is comparable to building a house. You need a lot of construction workers and tools. In terms of tools, the cloud provides a huge assortment. AWS alone has over 200 cloud services. However, tools aren’t enough. You need different specialists as well. Like a construction project requires painters, plasterers, plumbers and electricians, a DevOps project requires specialists in infrastructure, security, data analytics, automation and even governance. Make sure you have the right mix in your DevOps team.

Automating also means unburdening developers

Furthermore, companies do well to give their developers the freedom to use tools that can automate tasks or support application development in other ways. While many companies have already automated the CI/CD pipeline, they can gain much more in terms of automation.

For example, AWS has services that can actively scan for security vulnerabilities and bugs. The service can handle large codebases and extract errors when deemed necessary. There are also services to keep track of dependencies and to ensure that only stable and secure versions are put into production. More and more developers are using all kinds of libraries to base their applications on. At the same time, these libraries are an increasingly popular target for cybercriminals, as illustrated by the recent Log4j dilemma. By putting bugs and backdoors in libraries, applications become susceptible to attacks. Finally, there’s been a sharp increase in the use of machine learning and data science. Here, too, you will see more and more automation.

The more tasks organizations wish to automate, the more the developer can focus on improving application features and customer requirements. Boring, repetitive tasks should be automated first. That is where organizations can benefit most.

In addition to AWS’ solutions, there are external services for applying automation in the DevOps model. For example, in terms of application security, a company can make use of Snyk or Micro Focus.

Low-code has potential, but not in DevOps teams

Finally, we asked Stormacq about AWS’ ambitions in the area of low-code. AWS recently took a step with a workflow editor for AWS Lambda. The editor allows you to build serverless services via a drag-and-drop interface. Stormacq says that management often discusses low-code and no-code. According to him, there’s enormous potential. Anyone with decent Excel knowledge can make their work faster and better with low-code or no-code.

However, he says, low-code and no-code do not play a role in DevOps teams. He sees low-code and no-code as basic solutions for reporting or quickly creating forms. DevOps teams at large organizations often work on very complex applications — the type that’s currently irreplaceable by low-code. Nevertheless, he is personally excited about the workflow editor of AWS Lambda, as it allows you to quickly build serverless applications.

DevOps moves towards more automation and specialization

We can confidently conclude that the DevOps model is increasingly embraced in organizations — especially organizations that actively engage in the cloud. Stormacq doesn’t see the DevOps model coming to an end yet. At this time, there’s no new model ready to take over. However, he does expect much more automation to be applied in the coming years, making developers’ lives easier in the process. He also thinks that there will be more specializations among developers. Ultimately, applications will become more and more complex. To put it simply, that requires more craftsmanship. A house isn’t built on the back of a single handyman. An application or infrastructure isn’t either.

Tip: AWS emphasises the importance of a Well Architected Framework