Hi, I’m Sabrine. I got a few questions to you expe...
# general
s
Hi, I’m Sabrine. I got a few questions to you experts 😊. I’m currently doing my internship and have a few questions regarding the IDP I have to design. 1. What are the best open-source platform orchestrators? Are they fully open-source? 2. Are there links to some best practices or how to’s to design and create IDP’s? Or any links that can help me in the future? 3. What’s the best way to make a GAP analysis (IST/SOLL model with the GAP) about a currently running project (platform) at a company? Thank you in advance.
k
#1: crossplane is free, but I wouldn't call it the best 🙂 I was building large-scale platforms since 2020, and there were no orchestrators back then - so we were creating our own ( python in one company... jenkins in other 😄 ) #2: designing & creating is tricky part, because not many people approach IDP starting with... functional analysis & strategy. Platform is just another software product, it should be treated the same way as Online Banking or Ecommerce. What I do is analyse how the developers are working currently, what are their struggles - than design what platform should do, and only then design the platform itself. More about it here: https://khalasa.com/2024/01/how-to-approach-internal-developer-platform-delivery/ #3: Value Stream Mapping can be a nice start - to check how onboarding, new environment provisioning, releases etc looks like
s
Thank you @Krzysztof H. for your reply! Is crossplane the only totally open source platform orchestrator? And since you said you wouldn't call it the best, are there platform orchestrators you would recommend and why? I appreciate your help and thank you for the link.
k
It's my personal dislike here with crossplane, in my opinion it's overcomplicated for the cases I had 🙂 for me it was faster to create a simple python or jenkins workflow reacting on a YAML file. But, there will be people who argue that, and I agree - it's just another tool. Maybe it's because I am used to the once we have created by ourselves. I would experiment with Azure DevOps capabilities if you are learning PE. In my opinion it's easier to see something which is (again, in my opinion) already done pretty well
Humanitec also has some demo to play with
s
My current knowledge about this topic is very minor still, but I appreciate your help. 😊The company uses Azure DevOps in their current projects, but can that be sufficient to use as Platform Orchestrator as well? I expected it to be “just” pipelines like they use in the projects themselves. If it’s possible, then it would be great since they use a lot of Azure components already with some tools from the CNCF landscape. And if possible I wish to design and make a MVP that won’t necessarily makes changes to their work. Is that possible or is it always needed to make changes?
c
Hey Sabrine! First of all - best of luck for your first platform design! The question should probably not be “what are the best OSS orchestrators?” but rather “what capabilities does my platform need and will an orchestrator actually help with that?“. If you can answer with “yes”, you probably met some questions and criteria while getting there, that help you choose an orchestrator from the list of possibilities. Crossplane can probably be used to build something like an orchestrator, but on its own - it is no orchestrator at all. In their own words “Crossplane is a universal control plane” and that is what it is 🙂 The only OSS orchestrator I know of is Kratix but I can’t tell if it’s fully OSS or if there are any caveats. I am sure that @Abby Bangser can chime in and help on that 🤙 In general you could get some inspirations from Internal Developer Platform | Internal Developer Platform and also the Platform Tooling Landscape. You could also take a look at the reference architectures that Humanitec provides - they include a non-OSS orchestrator and possibly some other non-OSS components but are built to be modified as you want - so you can simply swap out the logos you don’t like for others, but have a working frame for an IDP that you can also actually try out. The reference architectures themselves are OSS and published as such at GitHub - Humanitec Architecture (github.com). If you want to drink a cup of coffee virtually with me and chat on platform design, drop me a DM. blob waver
a
blob waver thanks for the ping @Clemens Jütte! And yes, Kratix is a fully open source framework. The bits that are unlocked with enterprise are ease of use options. For example auto-population of Backstage and other front end options. Or auto management of secrets via integrations like Vault and sealed secrets. So nothing that can’t be done with the OSS framework + a bit of elbow grease 😄
s
Thank you @Clemens Jütte, I really appreciate the detailed information. Your explanation and links help a lot 😊. I will try to do more research on this and probably reach out again if I need any help.
That’s good to hear, but are there any limitations at all with the open source kratix orchestrator except the ease of use? And could I still use the backstage portal with the open source kratix and set up the management of secrets or any rbac myself @Abby Bangser? Excuse me if some questions aren’t logical nor smart but I’m willing to learn. 🙂
l
KusionStack are also an open source platform orchestrator I believe. @Sabrine Bouchmal Have you ever looked at them @Clemens Jütte? Just added to the tooling landscape recently. I’ve not had a chance to deep dive yet.
s
Thank you for adding that to my options. @Luca Galante
c
Haven't tried them, so can't tell how they are @Luca Galante . Last time I looked they were more of an iPaaS than an orchestrator, but that might've changed.
a
@Sabrine Bouchmal, no limitations at all! Our backstage integration that comes with enterprise is a combination of a front and backend backstage plugin that exposed all lifecycle actions (create, read, update, delete) for Promise resources as well as a rbac/component yaml generator. As I said, a bit of elbow grease and you can do that stuff too to whatever level you want. One of the reason we see organisations jumping on the enterprise version is to offload the creation of these types of integrations and the long term maintenance of them.