Is Backstage Right for Your Organization?

shani-shoham
shani-shoham

Is Backstage Right for Your Organization?

Platform engineering is one of the key trends in the infrastructure and developer productivity domain. In fact, according to New Stack’s 2023 annual reader survey, platform engineering ranked fourth in what developers, operations engineers, software architects, DevOps teams, and IT managers wanted to learn about in the new year. 

Like DevOps, the term platform engineering is overloaded. The scope of platform engineering often varies widely between organizations with some having a dedicated team, whereas others spread the responsibilities across multiple domains from SRE to developer productivity teams. But at its core, platform engineering aims to accomplish a few things:

  • Centralize the knowledge base: Tribal knowledge is often distributed or hidden in many different places ranging from documentation in the README and wikis to private Slack channels. Besides documentation, it is hard to keep track of what services exist as the organization grows. Platform engineering aims to provide a view of all internal knowledge in a single place. This can include a service catalog as well as a knowledge graph of all related documentation. 
  • Promote standardization and collaboration: Along with centralizing bespoke knowledge, platform engineering also provides standards and guidelines for various teams to follow. This may include providing templates such as cookiecutter or Terraform modules that bake in best practices within the organization.
  • Enable self-service: Finally, platform engineering aims to reduce the toil on internal teams by enabling product teams and developers to write, test, and deploy their software quickly without having to consult internal infrastructure teams. This can significantly reduce development times and improve developer productivity. 

What is Backstage

Open-sourced by Spotify in 2020, Backstage is one of the most popular tools in the platform engineering space. It is a highly-configurable developer portal that leverages plugins to centralize the fragmented internal ecosystem. 

Its core features include:

  • Software Catalog: a catalog of all services running inside your organization for centralized service discovery and management
  • Software Templates: code snippets and templates to share reusable component across your organization
  • TechDocs: Spotify’s internal documentation management system
  • Plugins: a growing list of open-source plugins to interact with popular third-party software ranging from cloud providers to Kubernetes. 

With respect to the goals of platform engineering, Backstage checks all the boxes. Software Catalog and TechDocs help centralize the knowledge base, and Software Templates along with plugins establish standardization and promote self-service. As a Cloud Native Computing Foundation (CNCF) incubation project, Backstage is becoming a de facto standard, backed by years of internal use at Spotify. 

What Backstage is Not

Despite Backstage’s popularity, it is also largely misunderstood. Far too often, organizations are looking for a ready-made and sometimes no-code developer portal that will “just work” upon installation. But Backstage is closer to a framework or a tool to build custom developer portals than a product in it of itself. Simply installing Backstage will not provide a fully featured developer portal. 

To really reap the benefits of Backstage, the different services must first be configured into what Backstage calls “Apps”. Besides the Software Catalog, Software Templates, and TechDocs that come natively integrated with Backstage, plugins need to be either created or imported to feed Backstage with information. Obviously using Backstage comes with some learning curve and for organizations looking for a more curated experience would fare better with a hosted service. 

Also, maintaining Backstage is not a trivial matter either. While Backstage provides a superior experience in keeping the chaos that is your growing organization in order, updates are not automatic, and more importantly, the search engine is not context-aware. In other words, Backstage can only surface information that is indexed in the traditional search engine manner. Asking generic questions that may not be indexed will yield no or unhelpful results.  

Kubiya: A Modern Alternative to Backstage by Spotify

While Backstage is a battle-tested solution that has worked for Spotify, it has a non-negligible learning curve and requires a significant setup effort for many organizations. In contrast, an ideal developer platform solution would be lightweight while not sacrificing the robust features of Backstage and also fit into the natural workflow of developers. 

Kubiya takes a more modern approach to platform engineering by leveraging large language models (LLMs) to provide a more natural, chat-like engagement to surface information. Behind the scene, Kubiya understands the context of the user’s conversation, compares that to embeddings in a vector database that includes custom workflows, APIs, and knowledge entries that can trigger actions, query for information, or point to documentation. It also integrates with existing tools such as version control, orchestration tools, CI/CD, cloud, monitoring, ticketing and others via predefined action stores, which are serverless Python functions that map an API or SDK to an action in Kubiya. These actions are all controlled via an RBAC mechanism to ensure only approved users can trigger the relevant actions (including an approval flow for temporary or permanent access). And best of all, it exists in Slack where developers are already interacting with platform engineering teams for the normal, day-to-day workflow.  

Let’s look at some example workflows in Kubiya. A developer may ask a “how-to” type question such as “How do I upload a workflow in Kubiya”. Alternatively, developers can invoke commands like “Restart K8s services within ArgoCD” all without leaving Slack. 

Restart Kubernetes deployment using ArgoCD

When the prompt is too generic or if Kubiya lacks contextual knowledge, it can prompt the user for more information to collaboratively complete an ambiguous task:

Creating a new Kubernetes deployment with additional context

For DevOps teams who want to create their own custom workflows Kubiya can create those in minutes using generative AI:

Creating new workflows using generative AI

Also, Kubiya provides platform engineering teams a way to define templates for reusable workflows. Once the template is set, Kubiya can guide users when asked about a related task. Let’s take for example the ability the update an ansible configuration file using a simple workflow:

[example workflow screenshot] 

This conversational approach is a superior user experience than dealing with CLI apps or template engines that often forces users to download a new tool and leave their workspace (e.g. Slack, Teams, etc). 

Bottom Line

Backstage is no doubt a powerful tool that is used by thousands of organizations today. It paved the path for platform engineering as a discipline and helped teams think about their internal platform as a product. However, Backstage is not a cure-all solution. It has a non-negligible learning curve and maintenance burden that teams need to factor into their consideration. More importantly, it is a more limited framework for building developer portals without artificial intelligence. 

On the other hand, Kubiya leverages modern advances in artificial intelligence into the platform engineering domain. Without ever leaving the chat interface of choice, developers can ask Kubiya for information about their services and products, as well as automate their workflows by invoking a pre-defined template. 

Want to try it out yourself? Click here

shani-shoham
shani-shoham