This was co-authored by Satyam Zode and Akash Srivastava from MayaData.
“We believe that the best way to deliver storage and related services to containerized and cloud-native environments is with containerized and cloud-native architectures. This approach results in far greater "data agility" than prior methods.” --MayaData engineers
Their product MayaOnline makes it easy to visualize and manage storage in a Cloud Native world. Weave Scope makes it easy for operators to observe what’s happening in their cluster. So it made sense to add support for volume objects and snapshot/clone operations to Weave Scope. The MayaData team contributed this to Scope (we previously blogged about this).
Meeting the MayaData team IRL
At the beginning of this year, Daniel Holbach, Community Manager in Weaveworks’ Developer Experience team fled the German winter, traveled to India and caught up with the MayaData team in Bangalore.
Everyone had worked together online, but spending time face to face quickly sped up the conversation. It became clear that there was quite a bit of feedback given about Weaveworks technologies. , The MayaData team not only used Scope but it turns out they were also making use of Cortex and Flux for some internal workloads as well.
LTR: Daniel, Akash Srivastava (engineer at MayaData), Satyam Zode (engineer at MayaData, Weave Scope maintainer) during one of the many breaks to go and explore what the Indian cuisine has to offer.
“We had a great brainstorming session with Daniel on how we can improve Weave Scope and make Scope better for users. Weave Scope has the potential to bring novice Kubernetes users onboard and we have seen many of our customers at MayaData using Scope to understand Kubernetes paradigm. ”Akash Srivastava
“I very much appreciated the hospitality of everyone at MayaData and enjoyed the time greatly. In many of the lunch breaks we discussed ideas and challenges and were able to push quite a few things forward. Particularly Satyam and Akash are very dedicated, very open to feedback and looking for ways to make the lives of devs and ops easier. I’m very glad they’re around and part of the Scope community as well.” Daniel Holbach
Weave Scope community contributed improvements and updates
Since the 1.10.0 release of Weave Scope, MayaData listened to customer and community feedback and started work on quite a few updates and fixes in Scope.
The Weave Scope team meets every two weeks, and in one of the meetings, Satyam and Akash demonstrated all the things they had been working on. Check out the meeting of the Scope team to see a quick demo.
UI features and enhancements
Among the new features and enhancements were these UI related bits:
- Better way to handle many namespaces/labels (original fix, refinements).
As the number of namespace increases, the view became cluttered and all of the namespaces were not visible. To overcome this, Yu Cao (from IBM) and Rahul came up with the idea of expanding the topology option on hover when the topology list exceeds the max width.
- Break out storage related objects into their own topology.
Right now, volumes are shown in Pods topology which makes it cluttered. The idea is to have a separate topology/sub-topology which will only provide the storage view (Stateful applications and their volume details).
- Visualize pods that are offline or in a problematic state. Scope should be able to show the problematic pods distinctly.
Scope operations improvements
Other helpful changes to day-to-day Scope operations were also made:
- Adding a “kubectl describe” view for all Kubernetes objects.
Scope can fetch and visualize various Kubernetes resources and the controls to perform Kubernetes actions such as Scale up, Scale Down. A new control was added to all Kubernetes resources that perform a `kubectl describe` operation. Users can now describe any Kubernetes components from Scope.
- Support for Kubernetes Jobs
- A confirmation dialog for the ‘delete’ action.
Sometimes Pods were deleted when a user mistakenly clicked on the delete control. Deleting a resource should not be that simple. Hence, we’ve now included a confirmation dialog for any delete action. (Filip Barl from Weaveworks implemented this based on feedback and ideas from MayaData users.)
Some of the above already landed in git, and some features are still being polished and should land in the next few releases of Weave Scope.
Thanks a lot everyone for pushing Weave Scope forward and making it cover more and more use cases!