Why APIs matter in the world of virtualisation

The All Things API series is tailored to capture thought-provoking ideas and commentary from today’s visionaries, tech leaders, geeks, evangelists and the like. Day-in and -out, we have the pleasure of meeting with subject-matter experts within the community, ranging from developers at Fortune 100 companies to API & developer evangelists writing their own path.

On November 7th, I sat down and chatted with an interesting expert in the realm of APIs: John Kirby, ViaWest API expert and Director of Software Architecture. Kirby has been in the software development field for over 25 years, and when he’s not on the slopes skiing beautiful Colorado or riding his bike, he helps his team focus on the big picture of how the enterprise’s next generation of virtualization can become more agile and responsive to customer needs.

Q: In your own words, how would you describe ViaWest?
ViaWest provides colocation, managed services and cloud computing solutions across North America. We’re a Software-as-a-Service (SaaS), Infrastructure-as-a-Service (IaaS), and cloud provider across API enabled platforms. We are seeing IaaS become more software driven and virtualized, including the network component. The glue that pulls everything together is the API. This requires your environments to act like their “heads-are-on-swivel” in the sense that as you’re building an eco-system, you need a way manage and have components communicate through all layers and directions of the platform. For example, a data center has all sorts of different colocation and cloud platforms. It is the APIs that allow those technologies to communicate and exchange data with each other.

When expanding our solutions, we always take a close look at what we need to build, what we need to buy and who to partner with for services and infrastructure. We’re definitely cognizant of how cooperative and flexible the vendor’s solutions are. For example, if the vendor isn’t built on APIs and only has command line solution, it’s very difficult to integrate into the ecosystem.

What we’re developing with Cloud Elements, is what we’re considering to be our core API set. This core API set will enable our solutions to integrate with other vendor platforms. We can use the Lego as an analogy – you take the Legos and stack them all together to come up with something new and interesting. APIs are the backbone and the glue that brings infrastructure, platform, and cross-platform systems together.

Q: How would you describe your product development strategy?
Part of what we have to move towards in terms of product development is following a DevOps model, taking into consideration developer best practices (e.g. agile) and bring it onto the operational side. It’s no longer just a practice of building and making a product, and then tossing it over the wall to ops to maintain and install.

When you look at rolling out something to the software development side, it has to be an integrated and coordinated approach with operations. Our product strategy is to be well architected, designed and constructed, and to not differentiate between software development and ops. Everything we build/buy and maintain is API driven and software driven.

That also means that our team’s skill set is evolving – people are thinking like developers, and how they write applications, even if they’re not in development. We had that abstraction [differentiation between development and ops] in the hardware space. No longer are we building to the command-line; how we develop and how we operationalize is becoming increasingly programmatic.

Q: What advice would you offer to those just getting started?
You have developers that have been stereotyped into how they operate, and there can be some cultural differences between where you’re leading your company and where you’ve come from. Consider that there are somewhat orthodoxical views to operations, such as ops is responsible for keeping the lights on, writing script, etc. The challenge is to harmonize these skill sets.

Also, recognize that there are different personalities, different skill-sets, and that you can provide training to get your operational people the skill-sets they need. So when you’re ready to automate, instead of using Perl script with embedded complicated business logic, you’re calling an API.

My advice: simplify and do more. Find the parodies between how your development software code is written and tested, and how to now include managed and operational workflow. Be cognizant of both sides. You’ll be asking people to act more like a developer, with the discipline of operations. It will take training, socializing, and putting together the right architecture and tools to foster that. And if you’re still operating at a command-line, with not much of a reason to change, my advice is to change to a DevOps approach.

Q: How would you describe the value you delivering to your customers?
ViaWest has a really good relationship with our customers. We’re responsive, collaborative, and easily distinguished from other service providers. We work with customers to troubleshoot problems and get to real solutions.

Sometimes customer support takes up a lot of clock time, that doesn’t scale well as a business, especially if you have a ton of manual steps. Our product strategy moving forward is to get the best of breed tools so that our team can quickly troubleshoot and easily configure the changes that are required. If something does go wrong, there are better ways to solve issues. We’re aiming to have better metrics to monitor and better practices to mediate.

Point being, if you can automate or anticipate problems, you can be more proactive and have the ability to quickly scale and offer more products.

Q: Where is Cloud Elements involved in your product development strategy?
Cloud Elements is working with us on a hybrid portal project. We’re building a framework for leveraging APIs, creating reusable components for future products. Collaboratively, we’re focused on better velocity, better consistency, and better automation.

We have a limited staff for homegrown solutions, and look to companies like Cloud Elements for help and input to strategic solutions. If our partners’ products and solutions have a good API, then likely it’s a good fit. On the other hand, if you partner with a company that has a great solution but provides a black box, then you don’t know what you’re getting into.

Personally, I like the “gray box”. I know what we’re getting, but there’s opportunity to iterate, evolve and build a solution on top of it with their technology. Of course our partners need to have an API, otherwise it’s very difficult to integrate. We also look for a Service Oriented Architecture (SOA) approach in order to scale. Doesn’t help if someone is building something that’s vertically based and doesn’t scale. I prefer the “horizontal” which helps our development support our 27+ data center wide configurations.

Q: When considering “All Things API”, what resonates with you?
An API is a great way of exposing functionality and consuming data in an abstract way. How I use an API should be really simple. I should just know the API contract to send it a request and the data that’s coming back is easy to understand and well formed. When I hear “All Things API” I first consider what does the API allow me to do? Then what is the underlying API response data structure (how will I use the data?), and finally how do I get access to the data via the API? With that said I also want to know that security and scalability will be provided not at the expense of making the API too complicated to use.

Q: What’s the long term product strategy for ViaWest?
We’re taking a hybrid approach, bringing together colocation, cloud and a client’s on-premise environment. Customers can, and might want to be in all three. The idea is to make sure they can move all (or parts) of their enterprise between the colocated, cloud and on-premise environments. For example, a customer may have mainframes onprem, the website is in the cloud, and their back office systems are colocated. And it doesn’t end there. ViaWest will help provide automated management and provisioning through tool APIs, allowing for a holistic and seamless experience for the customer.

Do you agree with John Kirby’s comments about APIs? Let us know in the comments.