A Representational State Transfer or RESTful API uses standard web methods (e.g. HTTP GET/POST for CRUD operations), conventions (e.g. URIs to select represented resources, HTTP response codes as return codes, cookies for session authentication tokens) and data structures (JSON, XML) to allow applications to operate or interoperate programmatically over the network.
During the previous decade, RESTful APIs became the de facto standard for providing web services, e.g. social media integration, weather and map data for mobile apps. The advantage of these kinds of web APIs is that applications remain loosely coupled, with distributed components communicating via the well understood, firewall friendly lingua franca of HTTP(S).
This decade, cloud computing has leveraged RESTful APIs to manage virtual infrastructure, e.g. create, reboot or destroy virtual machines in Amazon EC2, allowing VMs to be controlled programmatically through common scripting languages such as Python, Ruby and Perl – ubiquitous in web programming and well equipped with supporting libraries. This has helped solve the problem of managing a dynamic estate of infrastructure at scale, and given rise to the DevOps movement.
Today, developer-friendly hardware vendors are starting to integrate RESTful APIs into their physical infrastructure. In that spirit, Opengear have firmware version 4.0 and the upcoming, all new Lighthouse version 5 – incorporating the initial release of our very own RESTful API!
Opengear’s RESTful API serves two main purposes:
First, the API forms the primary interface by which Lighthouse 5 accomplishes central management, such as node enrollment and config synchronization. API engines run on both Lighthouse and Opengear’s manager, gateway and console server appliances, enabling north- and southbound communications and operations.
Second, our users can leverage these open, documented APIs to easily extend and integrate Opengear and out-of-band management features into their own applications and systems, including network device provisioning and management, orchestration and automation, monitoring and telemetry, inventory management and auditing, validation and burn-in testing – and most exciting of all – those new applications no-one’s thought of yet!
Over the coming months, we’ll be working hard to broaden the functionality of both our Lighthouse and appliance APIs to build a true first-order interface. Our goal is simple – if you can do it using the CLI or browser GUI, you can do it using the API.