Cloud computing has evolved beyond mere infrastructure and hosting. Specialized tools such as pipelines, queues, and notifications have become increasingly prevalent. The number of cloud services used to build an application has rapidly increased, while also moving "up the stack" and becoming an integral part of the application's functionality.
While feature-rich cloud services have enabled engineering teams to build rapidly, their experiences have largely been isolated, despite their configurations being tightly coupled. This has left developers overwhelmed with the cloud, fighting through consoles and configuration, with no way to have a unified experience or automate daily workflows. We found ourselves navigating through endless screens for day to day operations. Even worse, we sometimes made costly mistakes by accidentally operating on the wrong resource.
Overwhelmed with managing all the services we use, we realized that we were spending more time navigating than actually operating. It was a never-ending cycle of clicks to find the endpoint of a pipeline, secrets of a service, load balancer associated with a cluster, its scale settings, and its network configuration. We had to open multiple tabs and consoles, comb through config settings, and had no ability to shortcut or save the process.
Our initial solution was to create a Notion page with deep links to essential resources, organized by microservice or project. This allowed us to navigate to related resources easily. However, we still had to go through the same set of clicks repeatedly to access information such as environment variables or deployment statuses. Additionally, we wished we could save and run common workflows within this view to update things like scaling settings.
To manage this complexity, we created our own ops console tailored to our developer experience needs. This allowed us to map related resources, centralize key information, and streamline daily workflows. Initially, the first version hardcoded a bunch of resources and views, but every time we added another project, we had to start from scratch. This realization prompted us to build an Ops Console framework that enables developers, regardless of frontend experience, to create their own ops console in just a few minutes.
We're thrilled to open-source the Ops Console, a framework that delivers a dashboard and workflow engine so developers can organize resources in sensible ways, view key service metadata in one place and automate cloud workflows. With a low-code, widget-based approach, developers can design custom dashboards and workflows and even build their own custom widgets.
What problems is the Ops Console intended to solve?