Platform Engineering Teams
In a previous post, Google Cloud addressed several common misconceptions regarding platform engineering, including what it is and isn’t, as well as how you’re already doing essential platform engineering duties. Five additional fallacies about platforms this time about their construction, functionality, and shortcomings will be addressed by Google Cloud in this section.
Platform engineering replaces infrastructure teams
You can have the greatest developer platform in the world, but it won’t matter since it still relies on intricate infrastructure that needs constant care from knowledgeable experts. The infrastructure must be designed, overseen, scaled, troubleshooted, and optimised by someone, after all. You can attempt all you want, but that infrastructure will still fail just like it did before platform engineering was established. A frequent error is to anticipate a completely new Platform engineering teams to compensate for the loss of the infrastructure team after eliminating it.
Platform Engineers
Platform engineers should consider joining infrastructure teams since they already have the knowledge and experience necessary to undertake these duties. You increase your chances of converting your present system into a workable, engineering platform by assembling a Platform engineering teams with institutional understanding of the underlying infrastructure.
On the other hand, because platform engineering focuses more on platform development and less on manual, repetitive chores, it alters how infrastructure specialists anticipate and address errors. As a result, platform engineering modifies rather than completely replaces infrastructure work. To allow developers to choose which golden routes to use when deploying their apps, you still need to create a self-service catalogue.
Google Platform engineering Team
It’s imperative to document and improve that catalogue, support it internally, and provide it to junior engineers. Additionally, current tenants must be made aware of platform enhancements. New problems are always arising from scale and security. Any IT department would be incredibly fortunate to have infrastructure specialists on staff. Any organisation hoping to thrive with software delivery must enable these experts to codify their knowledge into a platform.
Finally, there are still some components on even the most developed platforms that cannot be automated; they will continue to be managed by infrastructure specialists. It’s acceptable because they have firsthand experience with this task and can thus more effectively prioritise the things that should be added to the platform engineering product backlog. Although cloud providers grow their products and new systems go online and develop, the platform never ends.
Platform engineering will drastically change employment expenses
Bringing the most skilled DevOps professionals from within an organisation into the new framework is a part of creating a platform engineering teams. By leveraging self-service automation and golden pathways, they and the company are able to more effectively implement DevOps concepts with fewer personnel.
People often worry that building a platform engineering teams will take a large number of extra staff members. Although a platform engineering teams does require staff, the operations and software engineering teams already in place may be able to provide such personnel. With the platform that results, profits from shared services should eventually more than cover its costs. Stated differently, the team responsible for platform engineering can be funded by teams already employed by the company. Google SRE’s history of sublinear scaling is one model to take into account. In this model, the platform engineering teams in charge of guaranteeing availability establish goals to increase their headcount at a slower rate than the system itself.
A countertrend would be to anticipate a decrease in operations personnel or developers right away when using platform engineering. Because they already know your business’s requirements and are highly experienced with the underlying infrastructure whether it’s exposed directly or through a platform retraining current personnel tends to perform effectively. As a matter of fact, Google Cloud notes that teams who implement platform engineering discover that, thanks to the availability of a platform, the same people can accomplish more work.
Platform engineering boosts productivity and lowers overhead when used properly:
- By automating infrastructure, configuration, and deployment processes, manual labour is decreased.
- Since operations personnel must intervene less frequently under the self-service approach, bottlenecks are reduced.
- Streamlining workflows enables teams to accomplish more with the same amount of resources or possibly even less.
Although there can be a temporary hiring or upskilling requirement, the shift to platform engineering eventually unlocks long-term efficiency by implementing platform skills throughout the entire organisation.
Platform engineering will swiftly fix main concerns
Wishing for a quick cure is nearly always unrealistic in any complex context. Timelines for change must take into consideration the restrictions of your organisation and the speed at which pertinent solutions may be gathered. Change takes time.
It is also necessary to customise platform engineering to match the unique requirements of your company; there is no one-size-fits-all method. Building out a minimal viable platform (MVP), beginning with a portion of your user base, and establishing a quick feedback loop, however, can enable you to see results more quickly.
To bootstrap a platform engineering teams, it can be helpful to start with some pre-made MVPs. However, it’s crucial to avoid thinking that you can “buy your way out of this” by adopting a fully-built platform, and voila! becoming better right away. The best course of action in this case is investment, investigation, and reflection. You may develop a platform iteratively and rapidly begin offering value by beginning with an MVP and adding features in response to early users’ comments. With a five-year plan, don’t try to create the ideal platform.
All things considered, platform engineering is a journey that calls for golden path engineering, tooling to alleviate friction in the development process, and a mental shift in both development and operations to embrace the platform. To get it perfect, all of it takes time.
Apply platform engineering to all apps
To reduce the cognitive load on development and operations teams, platform engineers proactively assess, identify, and take targeted action against jobs or processes that fall into this category. All of the duties and procedures that are involved in a software delivery organisation are not covered by that.
Platform engineering should therefore be used in applications where the operations team is always at odds with the developers or when the latter is overwhelmed by the complexity of the infrastructure. Using a “golden path” strategy can simplify development and administration in certain circumstances. Standardised configurations, deployment automation, and appropriate cloud service selection are usually required for this.
Prioritise abstracting the most labor-intensive and frequently utilised items first; that is, services that require a significant cognitive burden. The platform’s advantages can be experienced sooner if these systems are given priority.
Cloud Platform Engineering
Provide guidance and justifications for your decisions, as well as useful defaults and guidance from your abstractions. When necessary, it is strongly recommended to have “break-glass” procedures for exiting the platform. Consider constructing a foundation for depth rather than breadth, at least in the early stages. Prioritise new use cases after completing and automating common use cases to the best of your ability.
Commence with a smaller, less significant service to your company. To optimise gains over time, one antipattern is to start with the “biggest bang” application. Because platform engineering teams haven’t had time to gain trust in your new platform or because it doesn’t currently have the necessary features, this is probably going to fail. Start with less complex, smaller services instead.
Upon platform adoption, a platform engineering teams is not required to install all services. Though there will always be “strays” that could need a different strategy, you can try to embrace a significant portion of them. It is not necessary to worry too much about that as long as the conversation takes place and is recorded for future review.
Platform engineering applies to all cloud services
Google Cloud are frequently asked, “Does this cloud service map to platform engineering?” by folks who are just starting out in platform engineering. Platform engineering is not the same as adopting a cloud service. This misinterpretation raises questions about the true nature of platform engineering and impedes successful deployment. The way you incorporate a cloud service into your developer experience via the platform is more important than the type of cloud service you utilise using platform engineering.
Your platform engineering next steps
Platform engineering is a novel technique to manage software development and IT infrastructure, as you have discovered throughout this blog. Through the provision of self-service tools and platforms, the abstraction of intricate infrastructure elements, and the automation of repetitive operations, it seeks to optimise the software development process. To guarantee the greatest advantage for platform engineering teams, it is important to take this into consideration independently even while it builds upon current methods like automation and the DevOps.
Principal conclusions
- Specialising in large-scale software development, Platform Engineering is a logical progression of DevOps.
- It needs to be approached specifically to match the demands of your organisation; there is no one-size-fits-all answer.
- Build a platform that actually benefits your engineers and company by starting small with a minimal viable product, giving high-value jobs top priority, and iterating based on user feedback.