Should Platform Engineering even exist?
Josef Langerman
Academic | Digital Transformation Expert | Experienced CIO and CTO | Executive Coach to Boards and Executive Committees
Platform Engineering is becoming a hot topic, especially in large organizations in South Africa. When talking to CIOs and other technology executives, it regularly comes up on their radar. The question is whether management teams should gird their loins for another wave of transformational change or if it is just a fad that will pass.
?Last week, Prof Olawande Daramola from the Informatics Department at the University of Pretoria and I talked to a couple of our industry partners, in this case BSG and Standard Bank Group to get their views on it.
?The first question was: “What is Platform Engineering?”. The view that bubbled to the top was that platform engineering is not about delivering more features but enabling feature teams to deliver features quicker in a scalable and reliable way. This is a mouthful, but what it means is that platform engineering is about making delivery reliable and scalable. Platform Engineering is all about the non-functionals. Or as somebody else mentioned “Platform Engineering is about technical enabling features rather than end-user/customer features.” Typically, a platform team will provide the monitoring, alerting, deployment pipelines, common and re-usable components, development patterns, cloud migration strategies and many other services to feature teams. Feature teams therefore can sharpen their focus on delivering what the customer wants and the platform team ensures that it scales reliably. Reliability is in all probability the number one non-functional requirement in Platform Engineering.
?All this makes life easier for developers as fewer specialist skills are needed in feature teams. Anybody close to the coalface will tell you to be a security expert, a resilience guru, a cloud ninja and a top-notch developer all in one is not simple. Platform Engineering helps in the sense that not all these skills need to be present in every team but can be codified in the patterns and workflows of a platform of an organization.
?There are technologies, tools or approaches that make Platform Engineering different from feature engineering. APIs are a big one, as it allow feature teams to interact with the platform in a pre-determined way. InnerSourcing is another approach where teams have access to each other’s code. This could be a game changer, but unfortunately, very few organizations do it well. Infrastructure as Code (IaC), containerization, continuous Integration (CI) and continuous development (CD) pipelines, observability patterns, platform analytics, microservices, DevSecOps, elastic scaling, fault tolerance, open standards, etc. are all techniques that characterize platform engineering. Some disagree with this and argue that all these techniques are just a set of practices that can be applied to engineering platforms as it does to engineering systems and applications. And the word “Mindset” to this list of features and you are just talking about DevOps.
领英推荐
?Platform Engineering is not without its issues though. Security is a primary concern as there is more sharing of code. Feature teams are not sure how things look like under the hood, in this case the platform they build on. Communication between the different platform teams also creates friction. Overgeneralization can also make you lose your competitive edge. Massive dependency injections can also cause catastrophic failure if any dependency fails.
?As always, another big issue is corporate politics. Different functions compete for enablers on a shared platform and these resources are generally limited.? There is also a tension between finding funding for things that don’t make money (the non-functionals) and relentless feature development aimed at drawing more customers and revenue.
?The keen reader at this point will ask, how is this in any way different to DevOps or even System Team or Enabling team concepts from scaling agile and team topology thinking? In essence, it is not. There is nothing new under the sun. What is heartening though is that there is an evolution of these concepts. Essentially, we build on the past until a paradigm shift happens. Perhaps Platform Engineering is not a new paradigm, but a gentle evolution of the concepts of large-scale agile and DevOps applied to the world of Platform Businesses. Platform Engineering is DevOps on steroids. With all this in mind is there anything that makes Platform Engineering different to Software Engineering done right?
Thanks to David Preece , Robbi Laurenson , Tyrelle Chetty and Shane Posthumus from BSG and Standard Bank Group who made this discussion possible.
CEO & Founder
1 年Nice one! Thanks for sharing Josef ??
Digital Transformation Consulting Expert and Coach | Innovator's DNA, GenAI soul seeker
1 年"Perhaps Platform Engineering is not a new paradigm, but a gentle evolution of the concepts of large-scale agile and DevOps applied to the world of Platform Businesses." I'd say that this is very true and really like the reference to platform businesses as this is in my mind the general direction "evolution" is heading towards. Another interesting follow-up on this post would be to look at it from an AI lens, there are lots of work happening in this space to alleviate the inornate amount of platform engineering knowledge and expertise one would need, just to be on par. Using AI and Machine learning to detect and predict security vulnerabilities and events and using generative AI to improve developer "flow", quality and "better code" re-use are just two worth mentioning. Platform engineering will no doubt be infused with AI. Good article, thx for sharing.
Agile Coach at Discovery Limited
1 年Great article. "Nothing new under the sun comment got me there"
Chief Information Officer : Workflow at FNB
1 年Thank you for this great article
7xSalesforce Certified | IBM Certified | AWS Certified | Solution Architecture | Corporate MC
1 年Thank you Prof