Top misconceptions about platform engineering (and what to do about them)


While it’s often said that “time is money” when it comes to business, that phrase is now applicable to software development.

Staying competitive in today’s world means staying current. Whether large or small, organizations need the ability to respond quickly to changing marketing conditions, business needs, security requirements, and more. And they can’t do that with a software development and deployment infrastructure that is slow to respond.

At the same time, many organizations are adopting multiple cloud environments as well as edge use cases which create a more complex management requirement. This is making it harder than ever to streamline application development and deployment. Choices for software development, deployment, management, optimization and security tools have never been broader, and technology workers are dispersed across the globe. In short, modern operating patterns require teams to support an increasingly complex technology landscape across clouds – all of which means it can take longer to develop and deploy applications than the ideal. 

That’s where platform engineering comes in. To support today’s modern, more complex IT environments, many organizations are evaluating—or implementing—the concept of platform engineering. Platform engineering aims to automate everything in the software delivery pipeline. It attempts to standardize and automate the deployment of applications across private and public clouds.

Traditionally, software developers have adopted a technology stack at the team or project level tied to their specific build environment. The downside is that having that level of flexibility across dozens or hundreds of developers and hundreds or thousands of applications quickly becomes overly complex and challenging to maintain. Instead, with platform engineering, software developers have access to abstracted services that can be rapidly deployed across multiple environments as needed.

While the appeal of platform engineering is clear, there are some common misconceptions, including: 

  • It’s easy. There are many smart developers operating in IT organizations these days. And many of them may already be heading down the platform engineering road. But unfortunately, accounting for all the complexities of the development and deployment environments and deciding precisely what services to create and support isn’t easy, even for the most sophisticated IT organizations. Platform engineering also is a new approach for most organizations, especially larger ones, which means this may be an ideal time to bring in or consult with outside resources who have on-the-ground experience in orchestrating this type of engineered platform.
  • All you need is a tool. Since platform engineering involves a lot of tools, some companies jump to the conclusion that all they need is another one. But that’s not the case. Deploying platform engineering will undoubtedly involve a lot of tools and services, but it isn’t as simple as selecting a platform engineering tool and calling it a day. Platform engineering requires thoughtfulness to minimize the complexity.
  • It’s a technology problem. Some companies hop on the platform engineering bandwagon by hiring intelligent technologists to launch into implementing a solution in an attempt to quickly reap the benefits. Unfortunately, it doesn’t work that way. Organizations will need smart technologists, but more importantly, they need to understand this is not a technology problem. It’s a cultural problem. Organizations hoping to take advantage of platform engineering need to focus on their development and deployment culture and processes just as much as the supporting technologies. 
  • You don’t need documentation. Platform engineering needs to be managed as an ongoing process that will expand with time. From the start, organizations should document their approach and methods. Additionally, because platform engineering is based on the premise of limiting choices available to developers in exchange for faster and more efficient application lifecycle processes, companies must make tradeoffs. As such, it’s essential to capture the decisions associated with those tradeoffs, and any other choices that go into the platform engineering strategy, so these can be updated or referenced in the future if the environment or cultural conditions change. 
  • You can do it yourself. Some organizations may be able to do it themselves, but in most cases, the better approach is to work with others who have already gone through the process and understand the complexities associated with the change management, personnel and tools needed to pay off the promise of platform engineering.

Platform engineering streamlines the development and deployment of environments by heavily leveraging repeatable automation patterns and common abstraction tooling, allowing application developers to focus on actual development of their product. It is the next wave of digital lifecycle operations that can leverage and extend existing operating patterns such as CI/CD, DevOps, GitOps, and ClickOps to provide a consistent way for an organization to develop, build, test, deploy, observe, and iterate its business applications, all while ensuring a consistent approach to application lifecycle across the digital estate.

Every organization that is developing software should evaluate the true potential of platform engineering and make it a part of its IT plans. Time invested in tackling this strategically today can reap great rewards in the long run.



Source link