Introducing Stratos UI: An Open Source Management UI for Cloud Foundry
In case you missed it, last week at SUSECON, SUSE previewed SUSE Cloud Application Platform – a new offering for software development and operations teams. At the heart of this platform is SUSE’s Cloud Foundry implementation.
The purpose of this blog is to introduce you to another part of SUSE’s Cloud Application Platform – Stratos UI. What is it? Glad you asked. Put simply, Stratos UI is a modern, web-based management application for Cloud Foundry aimed at fulfilling the needs of both developers and administrators. Of course, being SUSE, its Open Source, so you can go check it out on GitHub for yourself – https://github.com/SUSE/stratos-ui.
What’s so good about this thing?
We’re biased, of course, but here goes:
- It has a great user experience. Our UX team and our engineering teams have designed and built a UI that we think is beautifully clean and modern.
- It supports multiple Cloud Foundry clusters. You can register and connect multiple Cloud Foundry clusters to the UI and view applications in all of those together as well as easily manage an individual Cloud Foundry.
- Its built to extend. We’ve tried hard to design the UI to be easily extended and customized to meet your needs. Add new components, switch out components, change the look and feel or change localisation strings – all with ease.
- It will work with any Cloud Foundry distribution. We use the public Cloud Foundry API and endpoints.
- Its open source. We’ve put it out there and we’re looking for help. We want others to use it and we’d love others to contribute to its development. We have a team that are actively developing it at SUSE.
Yeah, but what does it do?
Stratos UI is broadly split into three high level views represented in the top-level side navigation menu:
- Applications – Allows users to view applications in their Cloud Foundry cluster(s) and drill down to view the detail for an individual application
- Cloud Foundry – Allows users to view the detail for an individual Cloud Foundry cluster
- Endpoints – Allows administrators and users to add Cloud Foundry clusters with the UI and to connect to them
Users must login to the UI first – we authenticate using the Cloud Foundry User Account and Authentication (UAA) Server.
Administrators can register endpoints (Cloud Foundry clusters) with Stratos UI. Users are then able to connect to those endpoints with their own credentials, so that they always get the correct level of access to the Cloud Foundry they are using.
Once you have one or more Cloud Foundry clusters connected, you can view their Applications together in a single view – we call this the Application Wall:
We’re showing a list view here, but we can also show applications in a grid view. The view is paginated, so if you have large numbers of applications you can page right through them all. You can also filter your view to show applications in a particular Cloud Foundry, Organisation or Space. You can find an application by name and sort the view in various ways.
From here you can also add a new (empty) application or deploy a new application right from the browser. The Deploy Application wizard will guide you through deploring an application:
You can deploy directly from GitHub, from a Git URL or from a local file archive or folder. You can drag and drop any of these onto the UI to deploy quickly. Hit “Deploy” and the UI will pull down your source code from Git, or upload the local source. We’ll then push your application to Cloud Foundry and stream back (over web sockets) the log as it deploys right into the browser.
Once you’ve got an application up and running, you can drill down and get more information with the application view:
This view shows you everything you need to know about your application and allows you to:
- Perform life-cycle actions – stop, start, restart, delete the application
- Scale the application by deploying new application instances
- Create and manage application routes
- View the application log, streamed in real time
- Create and manage service instances and bind them to the application
- View the application event log
- SSH into an application instance directly from the browser
That last one is pretty cool – we can select an application instance and get a browser-based terminal directly into the instance. The session is streamed securely over web-sockets:
So that’s the Application Wall and Applications. These views are aimed squarely at developers who just want to get on with building and deploying great applications.
The other main view we have in Stratos UI is the Cloud Foundry view. This view allows users to view and manage individual Cloud Foundry clusters:
Much like with the application view, we present summary information about the Cloud Foundry cluster and allow you to:
- View the Organisation and Space structure
- View usage and quota information
- Create and manage Organisations and Spaces
- Manage user access to Organisations and Spaces
- View cluster-level metadata, such as feature flags, build packs, stacks and security groups
You can drill down to the Space level to get more detail about a given space:
From here you can easily manage service instances and routes for a given space.
There’s a lot more to Stratos UI , but hopefully the visuals we’ve included here give you a good introduction to its capabilities.
Give it a try
We hope we’ve got you interested enough to check out Stratos UI and give it a try. Its easy to deploy and there are several environments you can deploy it in:
- Cloud Foundry, as an application. Just ‘cf push’!
- Kubernetes, using a Helm chart.
- Docker, using docker compose.
- Docker, single container deploying all components.
Check out the documentation on our GitHub repository for more information.
After you’ve given it a try , please let us know what you think, file bugs, suggest improvements or new features that you’d like to see – we’d love to get your feedback.
Maybe you can go one better? Maybe you’d like to contribute directly to the UI and help develop it? We’re looking to build a community around Stratos UI and have other companies and individuals contribute to its development. We hope you’ll join us!