The GlobalNOC Network Management Database—colloquially known as “the DB”—sits at the center of our tools and services ecosystem.
The DB is where a model of the network is maintained. From network hardware (routers, switches, line cards) and the connections between them (circuits and peerings) to access control policies, and the human and business relationships around the physical network (contact information, service ownership)—all of this and more is modeled in the GlobalNOC DB. It’s our most used, most important application.
The DB’s current web user interface (UI) is quickly approaching a decade of service—work started in May 2012, with the first production deployment following in December of that year. The current UI, and the technologies used to implement it, have served us well over the years, allowing us to quickly develop and deploy new features for our customers, and enabling the DB to scale and adapt over time, as networks have scaled and adapted.
As we all know, though, a decade is an eternity in the software and technology spaces. (In 2012, Internet2 was still using OC192 circuits!) Web application frameworks have advanced; new technologies, architectures, and standards have emerged. Browser capabilities have changed, mobile devices are the primary web client for many users, not to mention tthe security landscape has completely changed. (Who was thinking about CORS a decade ago?)
In light of all these considerations, we recently decided it was time to invest in the next generation of the GlobalNOC DB’s UI.
For the initial implementation of the next-generation UI, our software and systems engineering team decided to try a new approach. Building on our long history of providing opportunities to talented, up-and-coming developers, we created a team of student employees to act as a “strike force” to experiment with new technologies and develop new implementations of existing tools—all under the guidance of our leadership and senior engineering staff.
The student team had already established their talents by performing a complete re-implementation of the user interface of IU’s Campus Networking Portal (CNP)—a GlobalNOC-developed application used to interface with DNS, firewall policies, and other core campus network services. The entire CNP Web UI was re-implemented in about 10 weeks, using a modern REACT framework.
Building on the success of that project, the software and systems engineering leadership team decided to give the student team a shot at re-writing the GlobalNOC Database Web UI using modern technologies. They made improvements, resolved technical challenges that had emerged over time, and established new standards that we can leverage in the future as we develop new applications and continue to evolve existing ones.
Now, we’re ready to release the next-generation UI, so that people can start using it, enjoying the benefits, and giving us feedback on ways to make it even better.
So, what does it look like? And more importantly, how can you start using it?
As to the look, we hope the new GlobalNOC DB UI will seem somewhat familiar. We’re maintaining the same general layout and structure, so you’ll be able to find features in the same place you always have. As the project has evolved, the development team has started to adjust the layout and widgets, with a goal of improving the user experience—making good use of screen real-estate, improving responsiveness, and so on. Behind the scenes, a lot of effort has gone into creating reusable controls and widgets that can be shared throughout the application, and in future applications, to enable faster and more efficient development cycles.
So, what about the rollout? When considering how to approach this, we looked back on our experiences when we deployed the current UI. We heard that users wanted more opportunities to provide feedback, and there were some challenges around using the then-new UI with real, production data. This added friction to the deployment and migration process.
This time around, we wanted to do better, so we’re opting for a parallel deployment of the beta next-gen UI, alongside the current UI. Users can simply opt in and out, on the fly, at any time. And you can start using the new user interface today.
Right now, the GlobalNOC DB you are using runs both the current production and the new GlobalNOC DB UI. You can switch between the new version and the production version via the “settings” link at the bottom of every DB page. (Note that if a section of the DB hasn’t yet been implemented in the new UI, you’ll seamlessly be served the legacy UI version.) This will give you the ability to use the new GlobalNOC DB UI in your everyday workflows, and if you run into any bugs or problems, you can report the issue, and go back to the production version with minimal interruption on your work.
In closing—what would we like from you? More than anything, we’d like you to try out the new UI. Play with it, shake it down, try to use it for day-to-day work—and give us lots of feedback. The development team is going to continue its work, releasing frequently. Initially, development efforts will be focused mostly on feature parity, but we’ll be making space for new interaction models, and more general improvements to usability when we find opportunities.
The current DB UI will continue to be maintained for the foreseeable future. We know people depend on it, and we want adoption of the new UI to happen in a way that feels natural to users, and that lets people benefit from the new look, features, and functionality, without forcing sudden changes on anyone. We do hope that you’ll give the new UI a try, and that you like it as much as we do.
If you have any questions or comments on this process, please email firstname.lastname@example.org