Slackbot
10/07/2023, 8:08 PMLou Bichard
10/08/2023, 6:15 AMSo how does the ‘platform’ concept above apply to the ‘Platform’ part of IDP?These are two entirely different concepts based on the same name. Platform in engineering is about enabling teams, it’s an internal structure and approach. Platform business models for multi-sided markets are a different thing. I’d not confuse the two, too much. What are you trying to explore and/or achieve?
Grzegorz Wojciechowski
10/08/2023, 7:11 AMAnshul Garg
10/08/2023, 1:41 PMGrzegorz Wojciechowski
10/09/2023, 7:18 AMAnshul Garg
10/09/2023, 8:17 AMLou Bichard
10/09/2023, 8:25 AMWith my initial post, I wondered if IDP architecture and processes could enable a community of internal users (beyond the PE team) to extend platform capabilities (users who have appropriate skills and are willing to do so).Hrm, this conversation now kind of reminds me of inner source culture, e.g. the gig marketplace pattern. There’s a set of patterns in this online book that might be inspriation.
Grzegorz Wojciechowski
10/09/2023, 11:19 AMAnshul Garg
10/09/2023, 2:35 PMAbby Bangser
10/09/2023, 3:17 PMThese are two entirely different concepts based on the same name. Platform in engineering is about enabling teams, it’s an internal structure and approach.I think we already have a lot of examples in this thread as to how we could enable this in internal platforms but many implementations aren’t there yet. Thank you to @Anshul Garg for the shout out because he is exactly right that this ecosystem is one of the big deliverables that can be achieved with a platform framework like what we are building with Kratix.io Frameworks create a way to enable the three sides of platform ecosystems that you mentioned. Consistent interfaces for users, plugin points for 3rd parties and ease of creation when it comes to builders.
I wondered if IDP architecture and processes could enable a community of internal users (beyond the PE team) to extend platform capabilities (users who have appropriate skills and are willing to do so)Yes, I hope so! We are building Kratix to be a tool implementation to support the ecosystem and interactions models defined by Team Topologies. To not only enable inner sourcing in concept (PR culture etc) but through purpose built features / hook in points. Our key domain object is a Promise which is an encapsulation of how to deliver anything “as a service”. These are built to be composable and extensible. E.g. you may have a Postgres Promise that can then be independently requested or provided as a part of the larger “demo app” Promise or even larger “production environment” Promise. You can also have a more “advanced” version where you enable access to all the bells and whistles or extend that to abstract it into an “easy” version of postgres where you just enable configuration of size. Access to these Promises can be widely available or controlled through RBAC (e.g. you may only enable access to the “advanced” versions after verifying a certain level of skill by the requesting users. Within a Promise there is an idea of Workflows, basically the actions executed when customising, deploying and managing that service. These actions are currently containers so are independently composable and extensible. For example you may want to codify PCI compliance reporting or cost analysis into their own single containers which then can be included in many Promises. We are currently working with organisations where their specialists are generating either workflow containers or complete Promises which can then enable the entire organisation to leverage their knowledge / specialty without asking them to learn it all.
Abby Bangser
10/09/2023, 3:18 PMPavel Goultiaev
10/09/2023, 3:30 PMGrzegorz Wojciechowski
10/09/2023, 10:29 PMAbby Bangser
10/10/2023, 10:14 AMIn other words which IDP’s, PE or Team Topologies principles are design drivers for frameworks like Kratix.io?I think I mentioned earlier, we are fundamentally driven by Platform as a Product, Platform Engineering as a core competency and Team Topologies. But how? • Platform as a Product: Products need to be evolved and personalised. A framework can/should enable an organisation to build API first enabling refinement and diversity of interfaces (customers are already using backstage, port, custom UIs, simple yaml files, and slack). In addition, it is built with composability in mind, enabling stacking of low level implementations into higher level abstractions, sometimes simply removing some of the options to enforce company defaults. • Platform Engineering as a core competency: So many of IDP related products today are focused on application developer experiences (or end user experiences). We need more tools and frameworks for platform builders and focuses on the experience of building platform offerings which we believe in turn enables those platform builders to iterate on and build the best user experiences for their context • Team Topologies principles: If TT is about leveraging different team focuses and inter-team interaction patterns to enable faster delivery flow. Then what we need from our tools is to support the evolution of offerings from collaboration through to “as a service” scaling (where necessary) while enabling enabling and complicated subsystem teams to provide their offerings where the stream aligned teams can most benefit from them. Hopefully that helps to understand what I am thinking, and that clearly influences Kratix, but honestly, I want to hear who else is building tools with these (and other!) principles in mind that focus on the product, the builders and the ecosystem around internal tooling.
Lou Bichard
10/10/2023, 10:25 AMA framework can/should enable an organisation to build API firstGenerally, I agree. Not sure if API is the only abstraction that’s useful / needed. For instance templates and patterns are a big part here, which maybe aren’t considered APIs in the traditional sense, but are certainly abstractions. Very few tools out there enable the platform engineering model right now. Most tools in platform are shifted right. IDP, backstage, most security tools are focussed on ingesting existing data and systems, not bringing collaboration forward.
So many of IDP related products today are focused on application developer experiences (or end user experiences). We need more tools and frameworks for platform buildersStrongly agree. This was the final note in my discussion with @Saim Safdar yesterday talking about platform as a product.
If TT is about leveraging different team focuses and inter-team interaction patterns to enable faster delivery flow. Then what we need from our tools is to support the evolution of offerings from collaboration through to “as a service”I believe another industry anti-pattern is the obsession with making multiple disciplines (devops, devsecops…) as the same job roles as the only way to find and foster collaboration between areas. This is not the case. I believe tools should embrace different personas and teams and then enable them with interfaces and tools that make sense for their individual piece of the puzzle.