Hello World: Operable
Hey! Who are you? What's your role at Operable?
My name is Kevin Smith and I'm co-founder and CTO at Operable. In previous lives I've built NoSQL databases, built an in-car network using Erlang for a major car maker, and built automated image processing pipelines for low Earth orbit satellites. Prior to starting Operable I was VP of Engineering at Opscode (now Chef).
Tell us a little about Operable.
Mark Imbriaco (Operable's CEO and my fellow co-founder) and I have some pretty strong ideas and opinions about SRE, operations, automation, and managing teams from our experiences at companies like Digital Ocean, Opscode, GitHub, and Heroku. Operable is our attempt to implement these ideas to make the lives of developers and SREs better.
Why did you decide to create your API, Cog?
We believe chatops -- combining collaboration and automation of operational tasks via chat -- is a transformational practice. A practice which is currently limited to a handful of savvy startups because they have relatively simple needs. Larger companies, especially enterprises, have sophisticated requirements like mandatory access controls and audit logging which aren't addressed by the current generation of solutions.
We want to address these unmet needs and bring chatops to a wider audience.
What does it do?
At its core Cog is a chatops bot like GitHub's Hubot but with three key differences:
- Cog's chat interface is heavily inspired by Unix. We believe composing sequences of commands is inherently more powerful than having a pseudo-English conversation with a poorly emulated human.
- Cog is a platform as well as a bot. It provides services which can be leveraged by chat command authors. Cog also defines a packaging format and installation process -- complete with upgrades and downgrades -- which makes managing a Cog installation a snap.
- Permissions and access controls are fundamental aspects of Cog's design. This allows administrators to express rules like "you must be in the operations group to create new EC2 instances" or "only team leads can modify PagerDuty calendars".
What are some cool ways you see people using it?
We're seeing teams use Cog in a variety of ways ranging from managing CI pipelines to automating common operations processes to building a chatops interface to their infrastructure. I think the last one is probably the coolest since it also uses Cog's permissions to restrict access based on a user's assigned role.
What was the most challenging part of developing your API?
Figuring out how to provide a shell-like experience in a chat client that also works with multiple chat providers.
What's up next for Cog?
We announced Hosted Cog at Monitorama last week so we're pretty focused on that right now. Besides Hosted Cog we're going to focus on building automated workflow solutions and several features I'd rather not mention just yet :)
APIs are like food, good at connecting people (not really related, we just like food). Any recommendations for a good place in Raleigh?
My current favorite restaurant is The Oak City Meatball Shoppe in downtown Raleigh. They have an amazing variety of delicious meatballs paired with great sauces and risottos.
That robot is so cute! Where'd he come from?
Cog is the result of a great collaboration we did with an Atlanta-based artist named Jason Thomas via our lead UX designer (who also lives in Atlanta).