By Michael Kieran – Community and Social Marketing
No matter what features you build into an enterprise data storage system, some customers will always want to push the envelope – to create workflows unique to their requirements, or write scripts that automate time-consuming manual operations. But doing so requires a set of programming “hooks” – an application programming interface (API) that used the REpresentation State Transfer protocol. In other words, a REST API.
The REST API Nimble released this week as part of our OS2.3 upgrade was designed and built based on input from customers, our sales teams, and people throughout engineering, customer support, sales, product management and other parts of the company. All contributed suggestions and ideas on what kind of automation framework would be most useful to our end customers and technology integration partners.
But an API framework is just one component in a complex ecosystem, and to make it really useful developers need a ton of other code, such as specific API calls, SDKs (software developer kits), sample workflow automations, and more. In the Nimble spirit of doing things, engineering lead Asha Ramakrishna stepped forward to spearhead a grassroots community of people who put together a company-wide “RESTathon” – a hackathon focused on writing the additional pieces of code necessary to connect the API with the rest of our software infrastructure.
For two full days, more than 80 people from throughout the organization recently got together in our all-hands area and created something that would otherwise have been impossible. According to Ms. Ramakrishna, the event “was really about bringing together a number of cross-functional teams, working together to achieve a common goal. The most important result we saw was that people were really having fun working together and learning from each other.”
A rigorous training agenda was central to the hackathon’s success, Ms. Ramakrishna said. “We started by providing everyone with detailed training sessions on API frameworks, best practices for API development, and quality assurance / unit testing standards. It really helped to have everyone start with a solid refresher in the core technologies and processes.”
There were also sessions on how to best document the API (presented by people from the tech pubs team) and on the development and functional test of common automation use cases, based on feedback from customers, field personnel and customer support. Then people broke into small groups to tackle various aspects of design, coding, testing and documentation. It was a remarkable sight: small groups of people hunched over their laptops, working silently or whispering among themselves. Given Nimble’s democratic culture, it wasn’t surprising to see a number of VPs, directors, and engineering leaders all contributing to the coding efforts, and it looked like they were really enjoying themselves.
After two rather tiring days, the hackathon participants wrapped up with a lengthy list of accomplishments, including:
- more than 50 APIs developed, documented, and unit tested (including Fibre Channel APIs);
- testing for automated workflows and role-based access control;
- numerous API feature extensions in the Java SDK and the C++ Windows SDK;
- migrating a number of GUI (graphics user interface) and CLI (command line interface) calls from SOAP to REST;
- stress-testing the REST server; and
- automating several useful customer workflows in perl, shell, and powershell scripts.
We’ll be making these available soon to customers, resellers, and technology partners via the NimbleConnect community.