The game-changing advent of ChatGPT has ushered in an era of greater interest and investment in artificial intelligence (AI). Many companies are seeking increased productivity and financial benefits by integrating AI into their products and development lifecycles. As AI reshapes all aspects of the software industry, platform engineering will be no exception. Platform engineering seeks to provide self-service solutions for development teams. The chief goal of platform engineering is to accelerate the delivery of software products while increasing their quality, security, and reliability. When deployed correctly, AI can enhance these benefits. For example, AI can automate software testing, code deployment, and infrastructure provisioning. With AI-powered intelligent automation, platform engineers can automate repetitive tasks and processes, allowing them to focus on more strategic and complex work.
Why is platform engineering important?
A platform is a software and hardware system that supports and services the software development lifecycle. In the developing field of platform engineering, a team of engineers develops, deploys, and manages platforms, bridging the gap between developers and system engineers. While there are commercially available platform solutions, platform engineering appeals to many organizations because it provides custom, self-service platforming tools for software engineers. The platform engineering paradigm involves the shift to cloud-native technologies, reducing the reliance on hardware.
In order to be successful, a platform engineering team requires technical ability, a deep understanding of the organization’s needs, and strong communication skills with stakeholders. The resulting platforms are tailored to an organization’s specific needs. They are often faster, easier to use, and more secure than commercial software platforms. Because platform engineering can smooth the experience of developers while accelerating the pace of applications development, Gartner estimates that by 2026, 80 percent of software companies will employ teams of platform engineers.
What is an internal development platform?
Platform engineering teams work to create internal development platforms (IDPs) by combining tools to create the ideal platform for a specific development team. The goal of an IDP is to lighten the workload of developers by relieving them of unimportant decisions and helping them manage resources. Unlike internet-facing or externally facing platforms, IDPs are intended for internal use only and, depending on the team’s needs, their features can vary widely. IDPs are designed to integrate seamlessly with a company’s existing technologies and workflow. They can also help add automation to software development workflows, allowing developers to automate tasks such as spinning up environments, merges, and deployment.
Potential uses of AI in platform engineering
The integration of AI into platform engineering is still new, but the shift is underway, along with the larger transition to AI for machine operations, or AIOps. AIOps uses machine learning (ML) and AI to automate and enhance development operations (DevOps) tasks. Another crucial aspect of AIOps is the gathering and analysis of the data generated by the development process to make data-driven decisions and continuous system improvements.
In platform engineering, AI can help automate routine tasks such as managing merge and code changes, testing software, and managing security. ML can also be used for intelligent monitoring systems. In an intelligent monitoring system, performance data is gathered throughout a system’s operation and analyzed, allowing improperly functioning or resource-draining systems or parts of systems to be identified and addressed. This can reduce resource use and prevent failures and downtime. Similarly, ML can monitor hardware operations and predict when parts require maintenance or replacement.
Large language models have already been harnessed to assist and work alongside software developers. Tools such as GitHub’s Copilot respond to prompts with suggestions based on a library of open-source code samples. Similar AI-powered digital “assistants” could help platform engineers by providing them with information and suggestions as they code. While these tools are similar to high-profile language models like ChatGPT, they are trained on domain-specific data and designed for precise use cases. For example, Kubiya, a Sunnyvale-based AI company, has already introduced a generative AI tool to aid platform engineers with tasks such as operations troubleshooting and workflow generation. These tools are likely to increase in number and availability. AI tools can reduce the time developers spend looking for information, prevent common errors, and increase productivity, further enhancing the benefits of platform engineering for developers and companies.
Limitations of AI in platform engineering
While AI has the potential to assist platform and developer teams with a variety of tasks, it comes with certain inherent limitations. AI’s problem-solving knowledge is restricted by the historical data from which it draws. As a result, AI does not deal well with unexpected or unprecedented situations. Nor can it develop novel, “outside-the-box” solutions to problems. For example, AI is limited to analyzing data from previous database failures when troubleshooting a database. While AI helps identify hardware issues, it lacks the capacity to make repairs without human assistance. Additionally, the presence of AI in platform engineering is still new and limited by the availability of training data. These constraints mean that AI tools are best utilized to complement developers’ skills.
How platform engineers can adapt to the age of AI
Platform engineering is a constantly developing field, and the advent of AI will likely accelerate the pace of change. Engineers can prepare for and adapt to the coming shifts by keeping up to date with developments in AI, including the increasing number of available AI tools and their applications for platform engineering. While AI’s deployment in platform engineering is still in the early stages, it will likely accelerate in the coming years. IBM has already developed a tool for using AI in platform engineering, and other companies are likely to follow. Instead of worrying that AI will displace their jobs, platform engineers can become more efficient and productive by familiarizing themselves with how AI can be harnessed. Adapting to the AI revolution will require engineers to be flexible and learn new skills. It also has the potential to alleviate the tedious and repetitive parts of their jobs, freeing them to focus on the more exciting and innovative tasks of platform engineering.
About the Author
Manish Sharma is a lead systems and DevOps engineer with more than 18 years of experience planning and delivering large projects, solving complex problems, and producing technical results under pressure in a hybrid cloud software development environment. He has extensive experience in scripting/tool building, task automation, release management and CI/CD using a broad range of technologies including Jenkins, Chef, Terraform, Powershell, Python, AWS, and SQL Server. Mr. Sharma has a bachelor’s degree in computer science from GNDU University in India.
Sign up for the free insideBIGDATA newsletter.
Join us on Twitter: https://twitter.com/InsideBigData1
Join us on LinkedIn: https://www.linkedin.com/company/insidebigdata/
Join us on Facebook: https://www.facebook.com/insideBIGDATANOW