#3 Making a Tech platform… Future!

Clement Hussenot-Desenonges
10 min readJan 1, 2023

--

The past is like a story that has already happened, the present is what’s happening right now, and the future is all the things that haven’t happened yet, like all the fun adventures and exciting things we’ll do tomorrow!

So read this article where I share my ideas about the probable future of technical platforms… still hungover, It’s January 1st!

I’m Clement Hussenot, passionate technophile… I was a Site Reliability Engineer, then Platform Engineering Manager at ManoMano. After talking to you about the backstage of the ManoMano technical platform. I’m tying to guess here what such platform could become in the future… I hope it looks like what you are planning for yours too. ;)

Probable future…

It is not possible for anyone to accurately predict the future of technology with certainty. Technology is constantly evolving and changing, and it is often difficult to predict how it will develop and be used in the future. That being said, there are some trends and emerging technologies that experts and analysts are keeping an eye on, which can give us some idea of what the future of technology might look like.

For example, there are currently many researchers and companies working on developing new technologies such as artificial intelligence, quantum computing, and renewable energy sources, which could have significant impacts on how we live and work in the future.

Ultimately, the future of technology will depend on the continued development and innovation of these and other technologies, as well as on the needs and desires of the people who use them. What does that mean for people like me?

What should we work on next?

Enough to give it wings?

To please Gartner trends… we could say that AI engineering and hyper-automation are two emerging technologies that are expected to have a significant impact in the coming years… Gartner is a well-respected advisory company that provides analysis on technology trends. However, it’s important to keep in mind that trends or predictions may not always match your own perspective or experience. It is always a good idea to do your own research. It is also important to remember that no one can predict the future with total accuracy, so predictions should be considered educated guesses rather than certainties. Don’t believe what I’m about to say just below this line… Let’s try to guess what is happening?

If you have not read my previous articles about how we built the technical platform at ManoMano, I invite you to do so.

What predictions for the platform engineering field in 2023?

It is difficult to predict specific trends for the platform engineering field in 2023 with certainty, as the field is constantly evolving and subject to many factors that can change unexpectedly. However, some possible trends and developments that could impact platform engineering in the coming years might include:

  1. Continued growth and evolution of cloud computing and the use of cloud-based platforms — Cloud adoption statistics (2022)
  2. An increasing focus on automation and the use of tools to streamline platform development and management. (Hyper-automation)
  3. A growing demand for expertise in containerization and container orchestration technologies or serverless.
  4. An emphasis on security and compliance in the development, continuous integration and operation of platforms.
  5. An increase in the use of artificial intelligence (AI) and machine learning in the development and operation of platforms (AIOps, AI Engineering).

Keep in mind that these are just a few possible trends, and that the platform engineering field is likely to continue evolving in ways that are difficult to predict.

Good… What should we work on next?!

AI engineering involves the design and development of AI systems and applications, while hyper-automation involves the use of advanced technologies such as AI, machine learning to automate processes and tasks that were previously performed by human operators.

Both AI engineering and hyper-automation have the potential to be game changers in the next years, as they have the ability to drive significant improvements in productivity, efficiency, and accuracy across a wide range of applications. For example, AI engineering can be used to develop intelligent systems that can automate complex decision-making tasks as the mitigation of a production incident, while hyper-automation can be used to automate repetitive and labor-intensive processes like the management of disaster recovery plans (DRP), freeing up humans to focus on more creative and value-added work.

The necessary step in my opinion to move forward is to reach a certain observability maturity. Product engineers must practice “observability driven development”. Without this it will be extremely difficult to move on. The data must also be there, correctly collected and of good quality, which is a difficult exercise… No possible training of models without good data!

What do we need to move on to this next level?

Since a level of observability of the platforms is necessary, it is important to give extra budgets to the platform teams to create the necessary models and datasets to reach the above listed predictions.

To prepare for this upcoming revolution, organizations should consider the following steps:

  • Develop a clear vision for leveraging AI engineering and hyper-automation. This should include identifying the specific problems and opportunities that these technologies can address, by looking at the different parts of your platform now.
  • Defining the goals and objectives that the platform engineers hope to achieve with AI and hyper-automation.
  • Invest in the necessary skills and capabilities to support the development and deployment of AI engineering and hyper-automation technologies. This may include hiring or training AI engineers, hyper-automation experts and site reliability engineers, as well as implementing the tools and platforms needed to support these technologies.

To go further and get inspired…

  • Create a culture that supports AI engineering and hyper-automation. This may involve fostering a culture of innovation & learning internally and outside the organization.
  • Develop partnerships and collaborations in the AI engineering and hyper-automation space. This can help to accelerate deployment of these technologies.

Kickoff, where to start?

Start experimenting with AI and automation technologies now to gain experience and learn about their capabilities and limitations. This can be done through small-scale pilot projects or proof-of-concepts (PoC) that explore specific use cases and evaluate the potential benefits of these technologies.

As I have already explained, observability is key, and so team autonomy to move to the next stage. It is important that your engineers are already in an observability driven development mode of thinking, so that what AI will produce remains resilient. We don’t want to create a AI generated mess…

AI and automation for what purpose?

Resilience engineering is a discipline that focuses on the ability of systems and organizations to adapt and respond effectively to unexpected challenges and disruptions. While it is not a solution to all the concerns of platform engineers, it can be a valuable tool for addressing many of the challenges that they face. Automation and artificial intelligence can bring a lot to monitor and understand in real time the behavior of the platform and react accordingly. AI can bring the necessary reactivity to make our systems even more resilient.

Is it scalable, performant and secure?

The growing importance of security and privacy is a fact. As platform engineering becomes increasingly critical to the operation of businesses and organizations, the need for strong security and privacy practices is becoming more important. This includes the development of new security technologies and practices, as well as the integration of security and privacy considerations into the design and management of platforms.
New practices like Security Chaos Engineering are interesting to follow, and it is clear that AI can handle a relatively large portion of the threats detected in the future… leaving complex analysis to human operators.

Scalability and performance is becoming paramount for our technical platforms. As platforms become larger and more complex, there is a growing demand for tools and techniques that can help teams build and manage scalable, high-performance systems. This includes the development of new platform architectures and technologies, as well as the adoption of new operations practices to support continuous improvement and innovation.

These trends are expected to have a major impact on the field of platform engineering in the coming years, and organizations that are able to adapt and respond to these trends will be well positioned to succeed in the rapidly changing digital landscape.

Nothing possible without observability

Building systems that are more transparent, understandable, and resilient to gain valuable insights and knowledge that can help AI deliver better outcomes.

Observability-driven development is a software development methodology that focuses on building systems that are easy to monitor, diagnose, and troubleshoot. This approach emphasizes the importance of visibility and transparency in software development, and encourages developers to think about how their systems will be observed and understood by others.

By adopting observability-driven development, developers can gain a deeper understanding of their systems, and can learn more about how they work and how they behave in different scenarios. This can help developers to identify potential issues and problems early on, and to take corrective action before those issues become more serious.

What is currently valid for developers may very well become valid for AI-driven operators. Build transparent and observable systems can make it easier for AI to monitor, diagnose, and troubleshoot those systems. This can be especially important in complex and distributed systems, like multipart graphs with thousands of connections, where it can be challenging to understand the interactions and dependencies between different components and services. With this complexity we need to industrialize the diagnostic methods and subsequently the responses.

Where does AI have to work?

The «unknown unknowns» are a type of engineering problem that refers to issues or failures that are not immediately apparent, and that require exploration and investigation to identify and understand. These types of problems are often open-ended, and can take a significant amount of time and effort to fix. This is clearly where AI can help with in the way we operate technical platforms.

Because unknown unknowns are not immediately obvious, they can be difficult to identify and diagnose. This can make them challenging to address, and can require engineers to use their skills, knowledge, and creativity to explore the systems and identify potential solutions.

In many cases, unknown unknowns can have a major impact on the stability and reliability of production systems. As a result, it is important for engineers to prioritize their time and efforts on addressing these types of problems. By spending time on exploring and identifying unknown unknowns, engineers can help to reduce the likelihood and impact of failures and disruptions, and can contribute to the overall stability and reliability of the technical platform. This is why providing AI assistance to engineers, a kind of intelligent co-pilot to help them in diagnosis, exploration, and mitigation recommendations can be very useful. There are great opportunities for those who will find the right formulas!

The problem of ownership, technical debt, attrition…

In a company with hyper-growth and a lot of software engineers, it is difficult to manage the governance of the deployed services properly. The applications operation and life-cycle must be followed by the product teams, but the level of knowledge required can quickly seem unmanageable… technology evolving soooooo fast!

In this context, it is important for services to have known owners, rather than just operators. A service owner is someone who is responsible for the overall design, development, and management of a service or component within a technical platform. This can include tasks such as defining the service’s goals and requirements, creating and maintaining the service’s architecture and design, and ensuring that the service is stable, reliable… resilient!

Having service owners is important because it ensures that services are developed and managed with a clear vision and direction, and that they are aligned with the overall goals and objectives of the platform. Service owners can provide guidance and oversight to the teams that are responsible for building and maintaining the service, and can ensure that the service is designed and implemented in a way that is consistent with the platform’s overall architecture and design.

Additionally, service owners should care about observability before writing a single line of code. By focusing on observability from the start of a service’s development, service owners can ensure that the service is designed and implemented in a way that enables teams to effectively monitor and diagnose potential issues and failures. If there is a team change or an incident during night. People on duty can understand more easily the phenomena in progress.

What if we can get this maintenance to be managed directly by our future platforms? And that they are able wit AI to take care of the services as well as the teams that own them?

What if we don’t do anything more & the platform does everything!

It is possible that in the future, artificial intelligence and machine learning technologies will advance to the point where software becomes context-aware and self-healing. This would involve the development of AI and machine learning algorithms that are able to understand the context and intent behind software, and that are able to automatically diagnose and fix issues and problems that may arise.

However, it is important to note that this is likely to be a distant future scenario, and it is not something that is likely to happen in the near term. Developing AI and machine learning algorithms that are able to understand the original intent behind software and fix problems is a complex task that will require significant advances in research.

Additionally, it is worth noting that even if such technology were to be developed, it is not clear that it would be desirable or practical to use it in all cases. There may be situations where the complexity and interdependence of systems makes it impractical to use AI and machine learning to automatically diagnose and fix problems. A need for arbitration and validation will remain.

AI and machine learning could someday be used to create context-aware and self-healing software. It is extremely motivating to work on creating these wonderful assistants of the future.

Creativity

Creativity is a key component of innovation, as it involves the generation of new ideas and approaches. The future is closely linked to innovation, as it involves envisioning and planning for what is to come. By considering and planning for the future, organizations can be better prepared to adapt to changing circumstances and take advantage of new opportunities. So go ahead, create the best team, plans and try the future!

You found this article helpful or interesting, please consider sharing it with your friends or colleagues, or contacting the author to learn more.
I would love to hear from you! — Clement Hussenot

To continue reading…

--

--

Clement Hussenot-Desenonges

Over 15 years experience designing resilient & scalable infras, I worked for several startups... and hope you'll enjoy my ideas and point of view on Tech.