

DevOps Journeys - Guest blog with George Mamalakis

Guest blog with George Mamalakis
"The implementation of dedicated security platforms enables consistent control implementation across multiple teams and projects."
This insight from George Mamalakis lays the foundation for our latest guest blog, where we explore the transformative impact of AIOps on traditional DevOps practices, the indispensable role of platform engineering in enhancing developer efficiency, and the nuanced strategies for balancing self-service models with robust governance and security.
Additionally, George examines the challenges of ensuring compliance in dynamic cloud environments, integrating GreenOps for sustainable tech practices, and fostering cultural and technological shifts that are redefining the future of DevOps.
With the growing adoption of AI and machine learning in DevOps, how do you see AIOps transforming traditional practices, and how are you incorporating these technologies into your processes?
AIOps is a very new topic and due to its intricacies (GPU's, stateful issues, etc) it's still at its infant stage. We're expecting to see many changes in the next few years both in automating AI pipelines as well as in post processing their results. In terms of how AIOps can transform the DevOps process itself, due to being able to analyse large amounts of data, it can help to identify patterns and anomalies, allowing teams to quickly identify and resolve issues before they become major problems.
Additionally, machine learning algorithms can be used to predict future issues and prevent them from occurring in the first place..
How are you leveraging platform engineering to enhance developer experience and streamline operations? What challenges and benefits have you encountered in implementing this approach?
Platform engineers, strictly speaking, essentially build the tooling that's mostly used by DevOps engineers to streamline CI/CD processes, and so without them, DevOps cannot be really a thing. However, in smaller companies, there's a bigger overlapping of DevOps and Platform engineers where engineers have to fit both roles.
For a company to implement their own DevOps tools they have to have solid reasons to do so, like scale, not wanting to depend on vendors/FOOS-projects, etc. This of course comes with the great cost of having to maintain their own platforms, something which is not affordable by all kinds of companies.
With the increasing emphasis on developer productivity and autonomous teams, how do you balance self-service models with governance and security requirements?
So long as there is enough context within the different orgs of a company about the high level goals/requirements, and so long as teams can communicate information easily and openly, then best practices or requirements about security/privacy/governance/etc can be communicated by making sure that the right connections exist among the different teams. This certainly needs a healthy, skilled and informed management hierarchy accompanying and backing up the senior engineers.
As the need for continuous compliance grows, how are companies integrating security into their CI/CD pipelines, and what strategies are they using to ensure compliance in dynamic cloud environments?
Compliance is a very complex process, which is not a goal, but an ongoing process. Companies adopt DevSecOps to embed security checks during the development lifecycle (automating security scans, vulnerability assessment, etc). In dynamic environments, a way to help security compliance is to decouple security from the development process, by building security platforms which allow strategies like Infrastructure as Code (IaC) and policy-as-code to be implemented.
In the era of GitOps and Infrastructure as Code (IaC), how do you ensure best practices for version control, automation, and consistency across environments?
First all infrastructure code should be stored in a version control system, secondly automation (Terraform, CloudFormation, CI/CD pipelines, etc) should be used wherever possible to reduce the risk of human error and increase efficiency and lastly consistency across environments can be achieved by using a single source of truth for infrastructure code and ensuring that all environments are built and configured using the same code. The latter can help to prevent configuration drift and ensure that all environments are consistent and up-to-date.
As sustainability becomes increasingly important in tech, how are you integrating GreenOps practices into your DevOps workflows? What strategies are you using to optimise energy efficiency and reduce environmental impact while maintaining high performance?
To cater for GreenOps on needs to:
(a) monitor and measure their energy consumption in order to be able to understand and assess their energy footprint,
(b) Use energy-efficient infrastructure (eg cloud computing for sharing physical resources, and virtualization/containerization for multiple applications running on the same physical server),
(c) Implement sustainable coding practices (efficient algorithms, code optimisation wrt performance, reducing server requests, etc),
(d) use renewable energy sources (solar, wind, hydroelectric power, etc),
(e) encourage remote work, which reduces carbon footprint.
What are some of the most common reasons DevOps initiatives fail, and what lessons have you learned from these failures that could help others avoid similar pitfalls?
If I were to identify the three main reasons for DevOps initiatives to fail, these would be:
a) Budgeting: DevOps is a non-trivial, complex process that needs to be budgeted properly.
b) Insufficient skills: Many people think that learning a tool or two is sufficient for devops. Unfortunately this is not the case. A DevOps engineer needs to be able to write new software if needed and not just rely on existing software to be successful.
c) Cultural reasons. No matter how skilled your DevOps engineers are, if the company doesn't grow a DevOps culture and sticks on per-team responsibilities, then the initiative will probably fail.
Looking ahead, how do you envision the future of DevOps evolving over the next few years? What emerging technologies, practices, or cultural shifts do you believe will have the biggest impact on the way we approach DevOps?
Firstly, I believe that the increasing adoption of cloud-native technologies such as serverless computing, containers, and microservices will continue to shape the way we approach software development and deployment.
Secondly, I predict that the rise of artificial intelligence (AI) and machine learning (ML) will have a significant impact on DevOps practices, both by freeing up developers from repetitive and time-consuming tasks and for improving accuracy and efficiency of testing and debugging; all of these result in faster and more reliable software releases.
Lastly, I believe that cultural shifts towards greater collaboration and transparency will also play a key role in shaping the future of DevOps. As software development becomes increasingly complex and interconnected, it is essential that teams work together effectively to share knowledge, skills, and resources. This requires a culture of openness, trust, and continuous learning, where everyone is empowered to contribute and innovate.
If you could automate one aspect of your job or daily routine - no matter how mundane or outrageous - what would it be and why?
I'd automate the process of identifying bugs in my production systems and then the process of finding the root cause behind it. No matter how interesting/challenging it is to find the root of the problem, it is yet the most critical part which affects the system's future stability, so it's by design a source of stress. Removing this stress would be awesome, don't you think?
To hear George's insights compared with 7 other industry leaders, download DevOps Journeys 4.0 today. DevOps Journeys provides a roadmap to navigate evolving challenges and stay ahead of the curve.
Whether you’re advancing your DevOps skills or initiating digital transformation, this resource is invaluable for every DevOps enthusiast
Latest opportunities
Infrastructure Engineer
I’m sure by now Artificial intelligence has been crossed off your 2025 buzzword bingo sheet.
Site Reliability Engineer
Time to enhance your scope; broaden your horizon by delving into site reliability engineering.
Senior Kubernetes Consultant
You’re a Kubernetes expert thriving on designing, deploying, and managing large-scale containerised environments.