Is Platform Engineering the new DevOps?

Posted by Tracy Bannon on Sunday, June 11, 2023

Is โ€œ๐—ฃ๐—น๐—ฎ๐˜๐—ณ๐—ผ๐—ฟ๐—บ ๐—˜๐—ป๐—ด๐—ถ๐—ป๐—ฒ๐—ฒ๐—ฟ๐—ถ๐—ป๐—ด ๐—ถ๐˜€ ๐˜๐—ต๐—ฒ ๐—ป๐—ฒ๐˜„ ๐——๐—ฒ๐˜ƒ๐—ข๐—ฝ๐˜€โ€? Not exactly, no. It is another evolutionary technique to drive quality, security, and time to delivery all while improving developer efficiency. Iโ€™ve been noodling on how darned similar the intent of Platform Engineering compared to Framework Architecture from 15 + years ago.

Quite a bit of my recent work is on defining reference architecture (RA)for digital platforms and am seeing some comparisons folks will appreciate. Letโ€™s start with two simplified definitions:

๐—™๐—ฟ๐—ฎ๐—บ๐—ฒ๐˜„๐—ผ๐—ฟ๐—ธ : A reusable components, modules, and capabilities that provides a structure for developing software. It can include libraries and reusable code, predefined classes and functions. ๐—ฃ๐—น๐—ฎ๐˜๐—ณ๐—ผ๐—ฟ๐—บ: A comprehensive set of software technologies and services that provide the foundation on which other apps, processes, or technologies are developed and run.

๐—ฆ๐—ถ๐—บ๐—ถ๐—น๐—ฎ๐—ฟ๐—ถ๐˜๐—ถ๐—ฒ๐˜€: ๐Ÿญ - Purpose: Both frameworks and platforms are designed to simplify and streamline the software development process, acting as a foundation on which software can be built.

๐Ÿฎ - Abstraction: Both provide a level of abstraction, helping developers focus on solving business problems rather than getting entangled in low-level details.

๐Ÿฏ - Modularity: They both encourage modular architecture, promoting code reuse, flexibility, and maintainability.

๐Ÿฐ - Standards: Frameworks and platforms often define a set of standards or conventions that guide development and ensure consistency across the software built on top of them.

๐——๐—ถ๐—ณ๐—ณ๐—ฒ๐—ฟ๐—ฒ๐—ป๐—ฐ๐—ฒ๐˜€ ๐Ÿญ - Flexibility vs. Control: Frameworks offer more flexibility as they are less prescriptive, while platforms offer more control by specifying more about the structure, technology stack, and sometimes even the design patterns that should be used.

๐Ÿฎ -Scalability: Platforms usually provide built-in scalability and resilience features that might be absent or need to be manually implemented in frameworks.

๐Ÿฏ - Integration: Platforms often offer out-of-the-box integrations with other systems, services, and platforms, which may need to be built manually when using frameworks.

Frameworks still have a purposes; Platforms are an incredible evolution. DevOps and DevSecOps are enhanced via platforms.

Of course, every business/mission has ๐™ช๐™ฃ๐™ž๐™ฆ๐™ช๐™š ๐™˜๐™ค๐™ฃ๐™ฉ๐™š๐™ญ๐™ฉ. Understanding similarities /differences improve informed decisions for your specific needs. The choice always depends on the requirements of your mission, the skills of your team, and the problems youโ€™re trying to solve. (Oh, remember to log your architectural decision records!)

#SomethingToNoodleOn #SoftwareArchitecture #FrameworkDesign #PlatformEngineering #DevSecOps

(Image by Julien Juanola on Unsplash)