Conf42 Platform Engineering 2025 - Online

- premiere 5PM GMT

AI for Platform Engineering: Practical Strategies to Elevate Developer Experience

Video size:

Abstract

We’ll explore tangible strategies and direct applications to reduce developer cognitive load, shift from reactive to predictive operations, and boost overall efficiency. Discover how AI into platform tooling, with actionable examples you can apply immediately to deliver an exceptional DevX.

Summary

Transcript

This transcript was autogenerated. To make changes, submit a PR.
Hello everyone. I'm Michel Moto, but everyone call me Mitch. I'm a developer advocate at me platform, and today I will talk about platform engineering and AI and cognitive lots. I started to work at 2004 and I become a developer guy in 2015. I love to share knowledge about platform engineer, developer experience in cloud native, but also about sustainability. I'm one of the organizer of cloud Native Days, Italy, a conference related to cloud native topic here in Italy. And I founded a couple of community. I co-founded a couple of community one, it's developer life, it's Italian community to help people to join in our field. And the second one, it's Green of Italia, a community related to green software. I'm ACF Ambassador and. Advisory board member of Dev Network. I talk about these kind of topics because it's part of my daily work, but also a passion. I love to help people to reduce the complexity and also improve the developer experience. And I think that better developer experience can create happier and more productive developer. I want to start with this chart. The first date in this chart, it's the 2004. I started to work in 2004 and when I started to work, my profession was webmaster. I'm not know if it's an international world, but at the end it's a person that can create application website on internet to create the application you need just to know a language like PHP. HTML and CSS and after that you need just to create your software drag and drop your folder from local to the server and you are deploy at your application. Online was very different. During the time there are complexity to manage all the staff increase, and our ability to manage the complexity is low than the complexity. This is why in the last 15, 20 years, there is a lot of new job position and job roles because the before in 2004. You need just to know a language and you can do all the stuff by yourself today. You need the other people to manage the design, to manage the front end, the backend, but also the cloud, the automation, the pipeline, the testing, and so on. I love this sentence, but I think that is not true. At the end I think that Kubernetes, of course it's complex, but it's not too hard to understand because at the end it's just a tool. The real complexity to create application today. It's for example, the scalability that we want to have, the distribution, but also the data that we use, the integration, the interoperability, the user experience. But also the security and the privacy and the AI and machine learning now and so on. If we look in the cloud native, we can sort this maybe, it's the CNCF landscape at the end. It's chart with a lot of different technology inside. When you want to create a new cloud native application, you can find a lot of open source project in this landscape and you can choose it to create stuff. Just an example, if you want to have a new a PA gateway, you can go here in the right session and you can find 20 different API gateway. Of course, it's not easier. For you understand. The different between 20 different project. And for this season, you need to study. After that, you need to choose. And after you choose our right project, you need to improve your knowledge about the tool. If you want to create an application today, you need to know a lot of different tool and you need to have a lot of different knowledge. In the left side, in the list, I put also the automation and the SCI and CD tools. Some of you can say that is not a tool to improve the complexity, and I agree with you. But of course if you want to have automation or continuous integration and delivery in your project, you need to know new tools, understand it, and after that use it. It's part of the cognitive law. When we talk about cognitive load, we talk about the mental effort required to process information and complete that task. There is three different type of cognitive load. The first of one, it's intrinsic. It's at the end that not really complex of a task. Some tasks are hard. You need to have knowledge to do that, and that's it. You can reduce without any kind of trick, this kind of cognitive load. Of course, if you study, you improve your knowledge, you can reduce using structured learning, but in other case, it's part of the work. The second one, it's related to the cognitive law that you use to improve yourself. For example, effort that you use to learn and understand better a task or to learn new stuff. To complete that task and this kind of cognitive load can be good because I improve yourself. For example, if we talk about CICD, that we look in the previous slide if you want to know how to create a pipeline and manage all the automation, your application. This load can be a German load and this could because you after study can understand new tools exp explore new stuff and expand your knowledge. The last one, it's all the cognitive law, not related to your knowledge and the tools and let me say new tools that you want to learn, but it's related to unnecessary effort. For example, coset by port tools, ENT processes, and so on. Of course systems are not intuitive or process with. Too many step or unclear workflow or tools with operate UI or a lot of information, unclear docs can increase this kind of cognitive loans. And our goal is try to reduce this kind of cognitive load because it's the only one that we can improve without any kind of fish. Just to do a very clear example. As a developer, you need a new environment. 20 years ago, you can create by yourself and with a drag and drop, you can upload your project and your done. Today you need to ask, in the majority of the case in a structured companies to our colleagues in ops team, for example, and it can it have the permission and the knowledge to create the environment for you. After the request, the ops guy can create the resource configuration. The configuration of environments, for example, variable seeker and so on, create the right network, set up the security set up and many others. After that, it can provide to you analysis and you can out your application, but sometimes is not the upper in the same team or in the same desk or in the same room. You need to ask this kind of with a request on Jira, Asana and other system. And of course the answer is not very fast because the ops team, maybe in the meantime other stuff do, can be on vacation and so on. And of course this is, it's part of a poor. Develop experience. For this reason, we can introduce the platform engineering. When we talk about platform engineering, we can say that it's a software engineering discipline focused on the development of self service, tool chain service and processes. It's based on these six keywords, let me say. The first one, it's try to centralize all the stuff. For example, manage all the project and all the source of your project in a single place. The second one, it's try to automate create automation about all the stuff, industrialize and automate the entire DevOp cycle. The third one, it's simplicity. Try to solve complex task and integration, for example, with the cloud in a very simple way. And the four, the efficiency. Try to avoid bottleneck to organization like the stuff that we saw before. But also try to improve the quality because of course if you put in your application completely automation, you can insert in the pipeline, for example, quality check and also order stuff that can provide to you a good and improve the quality of your software. But all this stuff need to be self-service. The developers need to use all the stuff in our cell service mode. At the end, the idea about platform engineering is try to reduce the complexity of your application because in this way you can have the ability to manage it. When we look at platform engineering, the majority of the people looks just at the internal developer portal and the orchestrator just for the infrastructure. But I think that it's more than that. For example, in the left side, you have your internal developer portal with a new I-O-C-L-I or API or maybe ai with a different feature like the software catalog store scorecard dashboard, and so on. In the middle you have the platform orchestrator that can help the people that use the internal developer portal to manage the right side. In the right side. We have in the bottom, of course, the infrastructure can be, for example, cloud services, but also AI provider. And the infrastructure platform can be, for example, Kubernetes, but also container managed services or functions or so on, and the DevOps platform. In the DevOps platform you have, for example, GI, but also pipeline, the tracing, the monitoring, the testing and so on. But I think that there are very interesting part on these images. The yellow part, the application assets and possibility. For example, the poss ability to have out of the box API gateways or a API portal or Evans portal system to manage a automatization and authentication, but also microservices, a PI or Evan or cast. Software or marketplace, let me say software catalog or marketplace, but also system to create and manage microphone and so on. Of course, the data, it's a very important part, and have a data control plane can be good with system like fast data, but also data catalog. Also, crowd systems can be very good to improve the velocity and reduce the cognitive loan. And of course the AI. When we talk about ai, for sure, we talk about LLM, but also speech, ai, multimodal and other system like the AI agent to manage all the stuff that you can need. This kind of architecture that we saw in the previous slide can open a new, very powerful concept. The concept of circular economy. They, it's very simple. Let's imagine a team that need microservices to make payments. Of course there is no microservices around and they start to develop the system from zero at the end of the development cycle. They have a system based on talker, for example, to create a manage payment. You can call API, this API can get, I don't know, the credit number the card credit number and after that he can make payments. After that, he, they do the work in this way. If another team need to create the same system, they need to start from zero. But if they create a good documentation, they can be create a general software that can be reused. They can put this service in a marketplace or software catalog. Another team that need the same stuff can get this component and use it without use effort. Of course, sometimes the new team need to. Change stuff, add new possibility, add new functionality. And of course, if the functionality it's related to the payment, they can change the code, update the documentation, and release a new version, for example, to support PayPal. But if they need another functionality, like a system to create invoice after the payments, they can get the payment system from the team one. After that, create the system to create invoice and put together and use it. Another team, of course, can get only the payment system, the invoice system, but or get some stuff and after that, create new stuff or improve the stuff that already used exist. Of course, this kind of circular economy can be very good for your developer because the this kind of system can reduce a lot of the community load inside your team because they don't need. To create from zero each time the stuff, but they can use and reuse stuff created by orders. Of course. To do this, they need to have a good documentation and a good product. Okay. Of course, when we talk about ai, we need to talk about some stuff that can help the developer to reduce the cognitive load using the ai. Of course we look a lot around and there is a lot of different tools that can improve the ai, but for example. AI assisted devs can reduce the manual task and all your developer to have a focus on their creativity. If an AI can manage some task for your developer, simple task, can repetitive task. The developer are free to create other stuff. For example, in this kind of of AI example, we can talk also about code generation and debugging. The developer can use a tool to create code for computation or debugging and to reduce the cognitive load. But another important stuff, it's related to let me say documentation. Okay. For example, a developer can ask to AI to have information about functionality, documentation, and so on. Of course, this kind of system can be created by a rag power AI system, and we call it conversational dev device. If you have all this stuff in your system all interconnected, you can have assist devs in real time using conversational direct. DDI is if a developer need to make some manual task, he can ask to an AI and AI can do the task for your developer, or if a developer have problems with some stuff, can ask to the AI and so on. When we imagine this kind of plaque for my image, this kind of very simple draw. In the top, we have the platform. In the right we have the AI. In the left, we have the person that want to use this kind of of system. In this example for example we can talk about a couple of different stuff. The first one, it's if a developer need to have information he can ask to ai r inside the AI Iraq you have for example, LLM, but also all the documentation related to your application and your platform. And of course the AI have context about your technology, your feature, and so on. And he can. The AI cannot answer to your developer. Of course, we can add to the AI in the rug also the logs in the specific configuration of your platform. Of course, if we have all the configuration and all the stuff centralized and in the platform, we can provide all this configuration to the ai and with the documentation the AI can understand. What your platform do and all the stuff related to your platform. Just an example, if you provide all the documentation with all the code error about your services to the ai, and after that you provide all the logs to the ai. A developer can ask, you can find in the logs of my platform any warning or any error, and of course they, I can say yes or no. If yes, you can ask, okay which kind of error or warning you find in the logs and how I can resolve it. If you think about that, you can think that the AI have all the information about the Earth that happens. About why it happened because in the documentation you have all the information and can be a very good system to reduce a lot the cognitive load of your teams. Just a practical team. Of course, this is a theoretical talks. I'm hope that you enjoy it. But of course you, we need to understand how we can start with platform engineer and ai. The first one, it's the first question that you need to do. It's why why you need to adopting a platform or why you need to adopt. AI platform of course, which kind of problem you want to solve, what problem you want to solve. Of course, if you work in a very large company, you have different business unit. Different business unit have different problems, and of course you can start to solve all the problem together. You need to choose the a couple. You need to create priority and choose the problem that you want to solve in this case, for example what capability should my platform have in the beginning can be a good question, and of course how this kind of change can impact your business. Of course, you need to understand if you already have metrics. Choose metrics to use and of course, try to understand if your platform, initiative and AI initiative can improve your metrics. When we talk about metrics as suggestion that I get from Graziano cast is try to not define at all the metrics because, for sure if you write code, if you have a company, you already have the metrics. For example, in the case that we saw in the beginning of this presentation, a metrics can be if a developer need a new environment, how many minutes, hours, days. He need to wait a new environment. That can be a good metrics and you don't need to define new metrics. It's perfect for you if you define that. The reason to adopt the platform initiative can be create the environment very fast. And the first stuff, it's permitted developer to have. Self service platform to create a new environment. This is, its geometric of course. When you start this kind of initiative, you need also to talk with all interesting people to understand. All the company that can have benefit from your initiative. And of course you need to find methods that can be used by the world company. It's just not deployment frequency. You need to find the right way to use the right metrics. And of course you need to evaluate the progress of this metrics during the time because sometimes new technologies can improve in the phos period the productivity and reduce the cognitive load. But in the long run adding new functionality and modify out this kind of new technology work, that metrics during the long time can be less than the beginning. Of course, your goal, it's try to look at the metrics during the long run. And try to look the metrics for the technical part, but also identify business value because, the business is part of our job in any case. Okay. A couple of general suggestions. Try to invest time to sell service experience for developers related to platform, but also to ai. Try to align your technology closely with business objective. I know sometime it's hard because if you are a tech person, you look at tech part. If you're a business person, you look at the business part. But the best companies work. When tech and business align it, try to support the change because the people, not all the people are ready to change, and sometimes you need to be patient and try to create tutors and guidance to help these people to change with you. In any case, it's related to platform ai, but also if you don't use this kind of technology I think that the, one of the majority stuff, it's try to include the collaboration because when the people work together, you can avoid common pit fails and try to create, solution that the people can enjoy using, because I think that the most important part, if you look at developer experience, if you look at platform engineer, but also if you look at ai, the first goal, it's try to create a good ecosystem to the developer and try to improve. The quality of the tool that the developer use to create stuff. Of course there is a lot of resources. The first one is the platform model. Maybe you know it, there is link here if you don't know nothing about platform by suggesting it's starting from here. But another very interesting to blog post. It's this expanding that all of the platform engineering. You can find the link here. I use a lot of ideas about this blog post in this talks. But in the blog post, you can find a lot of good information. And that's it. Here you can find my, for me, if you want to leave a feedback I love read it and try to improve for the future. Of course, if you have any suggestion to improve the talk or to add new part, please let me know. You can feel free to add me on LinkedIn and Social Network. You can find me as a Mission Mohabi or Mitch Moha or on GitHub. If you have any question, I here for you. Thank you and bye-bye.
...

Michel Murabito

Developer Advocate @ Mia-Platform

Michel Murabito's LinkedIn account



Join the community!

Learn for free, join the best tech learning community

Newsletter
$ 0 /mo

Event notifications, weekly newsletter

Access to all content