As we head into 2021, we at DevOps.com wanted to highlight the most popular articles of the year. Here is the seventh in our Best of 2021 series.
As society continues to recover from the global COVID-19 pandemic and some semblance of a normal return, technology continues to move forward. The pandemic has certainly changed what the natural means and the adaptation of people, processes, and technologies all have evolved to meet those challenges. The narrative that the pandemic has transformed your organization holds true for many practitioners. As 2022 approaches, DevOps is on the cusp of pre-evolving models maturing and focusing on engineering efficiency. Here are five DevOps developments you should keep an eye on moving forward.
Engineering competency front and center
Engineering competence is a particularly comprehensive term. At the foundational level, engineering competence focuses on making someone (for example, an engineer) more productive. There are many disciplines that intersect, from organizational design to engineering/developer experience. Engineering competence is increasingly critical to today’s organizations. The pandemic has had two major impacts on the technology sector in terms of resources and employment. The first, at the beginning of the epidemic, was the unprecedented and unexpected availability of resources; Physical locations were closed due to the medical severity of the pandemic and the “bus exposure” factor was at play in real life. Secondly, during the recovery period, the “Great Resignation” began, and with it, the struggle for resources increasingly intensified. Both mean that the availability of resources, especially increasing resources, is scarce.
Spotify’s engineering resource tribes/guilds model is a promising development. People can move around frequently, which reduces the drudgery of engineering resources and allows engineering resources to not only intensify more quickly but also increase engagement and retention. The industry continues to move toward standardization in areas that were normally dedicated, such as the release process, and I think we’ll see that continue to evolve as well.
Git is everywhere
Leverage a source code management (SCM) solution used to be reserved for software engineers. But with the spreadsomething as a symbol“Touching multiple levels of technology stack from networking, storage, and ultimately, development pipeline, the march of process-focused engineers who embrace many traits of software engineers continues. It becomes redundant in your infrastructure stack with more temporary infrastructure/that can Getting rid of them is the norm.Keeping and packaging many of the ‘something as code’ source control configurations is a natural area of development.
Building on source control, there are package managers – Docker logs, Helm schema repositories, etc. – for more deployable stuff; However, bringing these artifacts into production is a process. As Git becomes ubiquitous across the tech landscape, this leads to continued GitOps adoption. Since Weaveworks wrote the essential piece in 2017 defining the GitOps model, leveraging GitOps is seen as a viable model for many organizations five years later, especially when starting with Greenfield initiatives.
Kubernetes no longer bleeds edge
In 2022, Kubernetes will celebrate the eighth birthday of its first GitHub commitment. Taking the memory tech path, eight years before Kubernetes (in 2006), VMware was still a private company and it would be a few years before vSphere was released (remember how it felt to run a workload on a virtual machine in 2014?). The Kubernetes ecosystem is still moving fast, but putting workloads on Kubernetes is not a new concept anymore. As the application infrastructure and architecture have adopted the Kubernetes method (in other words, being inefficient and ephemeral), there is a maturity around running an adequate workload on Kubernetes.
Kubernetes by design is highly pluggable. If you don’t like the opinion or implementation of something within Kubernetes, you can replace that opinion. Don’t like the way Kubernetes handles incoming traffic? Then choose from the many access controls available today. This is just one example of dozens of pluggable areas. For this reason, Kubernetes is viewed as a dynamic and non-static resource. Using Kubernetes requires trial and error, and making your cluster robust, efficient, and reliable is an ongoing journey that requires constant iteration.
The authors can be the implementers
There is no doubt that in the modern software suite we are overwhelmed with data. The soup of metrics, continuous science, and exploration of observability (metrics, tracking, logs) gives us a lot to work with. Making decisions, even automated ones, based on that data is still critical. With the advent of Site Reliability Engineering (SRE) practices, reacting or anticipating spikes in usage, failures and even security-related elements is on par with the course of modern teams.
These decisions can be authored into policies that certain platforms understand, such as cloud resource automatic scaling rules or something like the Open Policy Agent in the Kubernetes ecosystem. With so many elements shifting to the left towards the development team, finding the right resource, skill set, or organizational knowledge to compose these rules can involve the input of multiple teams. because of the rise”something as a symbolRegardless of whether the author of these rules is a software engineer, DevOps engineer, platform engineer, or anyone in between, this author has the ability to duty.
Shifting to the left…but complexity shifting to the left, too
The old adage is that complexity is like a counter: you can change the complexity, but it never goes away. With the movement left to devolve responsibility to development teams, this also means that the associated complexity shifts to development teams. Modern platform architecture teams provide the infrastructure (Kubernetes compatible clusters) to the teams and any workload that runs on those clusters is up to the development team that owns them. Development teams usually focus on features and functionality. Managing so many non-functional requirements – and even those of basic infrastructure such as networks – can be a burden; Think about how your organization deals with the service network.
If you’re a DevOps or a platform engineer, making your internal customers – your development teams – successful is a great goal to work towards. Crucial to this is the dissemination of experience. This could be in the form of automation and education. A common practice in the DevSecOps movement is to perform some kind of scanning step as part of the build or deployment process, post internals regarding how the scan is done, what happens if something is found, etc. Journey and having a good developer experience built on clarity and stability are important.
Evolution in 2022
Even with all the challenges, bumps, and knowledge that the past year has given us, technology continues to evolve, advance, and even reduce entry barriers to become ever more inclusive. Focusing on improving engineering efficiency and reducing drudgery will allow for more participation and lower barriers to entry.