Is AI your next Platform Engineering team member?
Grant Carver
Technical Leadership | Scaling Cloud SAAS Products, Teams, and Businesses | DevOps and Software Engineering | Musician
Platform Engineering is a practice that has shown significant benefits to businesses and their customers in accelerating delivery, and increasing quality, security, and reliability of software products. We are seeing automation and standardisation in design that simplifies the management of our complex and distributed systems. We are seeing a welcome reduction in cognitive load by abstracting away common shared services and functions that are supporting the core business logic (and unfortunately even the unwanted obfuscation of these services in the case of thick platforms - which is a different conversation).
One of the primary drivers of these results is increasing the autonomy of teams and their constituent members. Some of which is derived from the modular, componentised architecture of our software systems, and some from adjusting our ways of working to reduce interdependence. However, I would argue that the largest portion is from providing paved pathways: good documentation, formal principles and guidelines, standardisation in design and communication, templating, and automation of boilerplate tasks.
This is where I am most excited about harnessing the power of AI assistants to accelerate software engineering delivery. A significant challenge lies in presenting all the paved pathway information to engineers. A platform engineering team spends time not only building up this information knowledge-base but also on evangelising/marketing solutions and making all this information more accessible to all engineers.
How much more effective would this be if an AI assistant is able to suggest modifications whilst engineers are busy coding?
If the assistant knows the organisational standards it will be able to surface that information at the time it is needed - not after the fact at a code review stage. e.g. An engineer is designing an OpenAPI specification that doesn't align with the organisational practices for data representation receives a prompt in their IDE explaining why, with a suggested alteration to make it align to the standards. They click the Fix button and their code is updated to the suggested solution.
领英推荐
With knowledge of the base templates used in the organisation could an AI assistant automate boilerplate generation with dynamic modifications without having to implement a complex logic engine? e.g. Create a new event driven microservice using event sourcing as the datastore. (Instead of the usual NoSQL datastore). Or simplify the addition of functional patterns to an existing codebase to a simple natural language instruction? e.g. Add our standard APM agent and tracing to this microservice.
What about an engineer manually implementing a function that can be fulfilled by a shared service? Being able to stop them and direct them to the already implemented solution would save significant time and effort on reimplementing work. e.g. An engineer is building custom rule sets for a WAF is prompted to apply the organisations standard infrastructure template with custom application specific rule sets for the current tech stack.
We aren't quite there yet. We need to train these LLM's to consider the organisational practices and standards so they can be contextual. I also suspect there are going to be challenges in balancing the introduced bias between organisational practice and industry practice. However I think we are going to soon see our platform engineering teams reducing their effort on evangelising and knowledge sharing, and allowing AI assistants to step in. They can in turn increase their effort on improving the patterns, templates, libraries, and shared services.
Just as platform engineering empowers and accelerates our product engineering teams, AI is going to empower and accelerate our platform engineering teams!