I may be dating myself a bit, but to me Gizmo will always be the lovable little guy from the movie Gremlins. The New York Times recently released an open source microservices toolkit called “Gizmo” as well, though. The toolkit is built on the Go programming language and The New York Times hopes that making it open source will accelerate the pace of enhancing and expanding its capabilities.
The New York Times has released a microservices toolkit called “Gizmo”. Gizmo has been made available as open source software. It is based on the Go programming language (Golang), and provides standardized configuration and logging, and basic interfaces to simplify development of Go services—especially APIs.
The New York Times has a blog site dedicated to code and development called “Open”. A recent post there explains how The New York Times leverages the Go programming language, and the seed from which Gizmo grew.
“At The New York Times, our development teams have been adopting the Go programming language over the last three years to build better back-end services. In the past I’ve written about using Go for Elastic MapReduce streaming. I’ve also talked about using Go at GothamGo for news analysis and to improve our email and alert systems at the Golang NYC Meetup. We use Go for a wide variety of tasks, but the most common use throughout the company is for building JSON APIs.”
Gizmo is comprised of four packages designed to help developers configure and build microservice APIs and pubsub daemons. The four packages are:
- Package Config: Provides a set of common, composable elements for working with tools common to technology currently at The New York Times
- Package Server: Provides a set of interfaces that define how a server and service should look and interact with one another. Also in charge of health checks, monitoring, logging, and providing hooks for middleware handlers and registered services.
- Package Web: Small package that includes handy functions for parsing types from request queries and payloads.
- Package Pubsub: Provides high-level abstraction for building publisher and subscriber services and implementations for the messaging system in use at The New York Times.
You can check out the complete story on ContainerJournal: New York Times Releases ‘Gizmo’–an Open Source Microservices Toolkit.