Over the last year I’ve had the opportunity to hear about lots of new and exciting products in the network and virtualization world. The one clear takeaway from all of these meetings has been that the vendors are putting a lot of their focus into ensuring their product can be automated. While I agree that any new product on the market needs to have a robust interface, I’m also sort of shocked at the way many vendors are approaching this. Before I go further, let me clarify two points. First, when I say ‘interface’ I’m purposefully being generic. An interface can be a user interface, it could be a REST interface, a Python interface, etc. Basically, its any means in which I, or something else, can interact with the product. Secondly, I’ll be the first person to tell you that any new product I look at should have a usable REST API interface. Why do I want REST? Simple, because I know that’s something that most automation tools or orchestrators can consume.
So what’s driving this? Why are we all of a sudden consumed with the need to automate everything? When you boil it all down I think the problems we are trying to solve with automation in the IT space are really related to timing. We all want to be one of the top cloud providers and be able to automagically provision services with the click of a button. I don’t want to have to loop in 3 teams just to get a VM built. I want it now and I want it to just work. What does this mean? It means that any products I use to build my offering need the ability to be controlled by a higher level automation tool.
So now that we know the problem, how do we solve it? We automate! This is where I begin to struggle with some vendors approaches. In order to automate a product, I need to understand how it works. I think that’s fair. How can you automate something that you don’t understand? When I’m evaluating a product, I want to learn how to use it without automating it. That is, I don’t want to have to ‘run a script’ or ‘just make these REST calls’ in order to use it. I want a normal user interface that works and that I can use to test and get a base understanding of the technology. If you don’t have a user interface that I can use, then I can’t figure out how the product works, and I cant explain to the automation guys how to automate it.
Now – I’ll state this again. I’m a huge fan of automation. Also – I realize that the times are changing and that all areas of IT should be looking at things from more of a DevOps angle. However, I still see the need for specialized individuals to evaluate products that are in the specialized areas and I believe I should be able to do that without needing to know Python or be able to make REST calls. Those should come after the fact in my opinion.
What do you guys think? Do you need/want a normal user interface anymore? Or are you only interested in using some of these new products through an orchestration tool?