One of the great challenges of SDN – that many in my view underplay – is the change in paradigm from having a vendor deliver your network (hardware + software), to having (potentially) an ecosystem deliver your network – and this ecosystem may require you to develop software to perform network tasks or to integrate various SDN components together. This was recognized quite astutely by consultant Jim Metzler, which I discussed in one of my earlier blogs. “Applications can dynamically request services from the network” is what the SDN evangelists will tell you. Jim astutely asked “How exactly do they do that?”. Well ….. the true answer is that either (i) you need to buy [new] apps that do this off the shelf, as it were, or [more likely today] (ii) you need to modify your apps or develop new apps to do this.
So are you ready for procuring apps and/or developing software in your network design team now? Don’t worry if you say “no”. Let me first tell you a few customer reactions to this topic, and then let me update you on Cisco Services can help you develop new SDN apps that solve your specific network challenges.
A View on SDN App Development Readiness
A few months ago, I attended a senior level meeting with some of our major customers. SDN and Cisco ONE were hot topics of interest. I asked “How many of you, in your network design and operations teams, have the combination of software development [Java, Python etc] and networking skills required to develop, integrate and enhance SDN apps?”. No-one raised their hands.
Along a similar vein, I attended an SDN conference back in December 2013. The moderator was asking for questions for the panel. I asked him to ask the following question to the audience – “how many of you [in the audience] have the necessary Dev Ops and software development skills in your networking teams to adopt SDN in place today?” There were around 400 people in the audience. OK, let’s assume 50% were vendors and consultants. So that leaves say 200 people as the target for my question. Say that for every end user company represented, they had 2 attendees at this conference, so that represents 100 companies who may actually be interested in deploying SDN. So how many people put up their hands to my question? Two. Two people out of around 400 attendees, which as I say I rationalise at around 2 companies out of 100. 2% from this audience have the software skills today to successfully tackle the software development challenges in an SDN deployment.
Let me make some clarifications on the above two observations (and I’d call them anecdotal evidence – certainly not a formal statistical analysis). First, bear in mind here I am talking about readiness to develop SDN apps. not commenting on the general appetite for DevOps: I full recognize and applaud the broader and rapidly growing adoption of DevOps in Enterprise IT for example. Secondly, I am stressing that success in SDN requires the combination of software development and networking skills – a combination that the above examples show is still rarer than the industry needs to take SDN to the mainstream.
Let me give you some additional context to my assertion here. I have worked for over 20 years in software development and product management of software products. I have seen many developers who had no real grasp on networking (me included back then!). I have seen (and developed!) network management products that I now realise were little more than glorified “MIB browser” GUIs. They really weren’t much help in managing (and in particular troubleshooting) real networks. Unfortunately that is an industry challenge – and is one of the major reasons for the prevalence of CLI-based management in networking today: many network management apps, candidly, are not up to the job. I was lucky enough to be part of a team in Cisco who started to change that. We had our software engineers trained in networking – and that’s when the magic started to happen (in fact we went on to develop a multiple award winning product, the first award winner in our part of Cisco at that time).
How Cisco Services Can Help You Develop SDN Applications with Cisco ONE
Given the above challenges, then, how are Cisco set-up to help you deliver the software development “magic” to your SDN plans?
Cisco Services offer you the following services to help you here:
(1) Cisco Assessment Service for ONE, and
(2) Cisco Design and Deployment Services for ONE Applications
(3) Cisco onePK Developer Network (part of the Cisco Developer Network)
These services help you (respectively) prepare for, and design, develop and deliver, application development for SDN using Cisco ONE technologies.
The Cisco ONE Assessment Service will examine your infrastructure, security, operations and applications development environment and processes and give you clear recommendations on best practices to transition – for use cases appropriate to your business challenges -- to SDN using Cisco ONE.
The Cisco ONE Application Development Service will help you customize existing Cisco ONE applications according to your requirements. It can also help you development brand new applications to your specific requirements. Ultimately, you may have very specific needs and requirements for network programmability. You may wish to gather and analyze network intelligence in a specific way. You may wish to change network routing behaviour.
You may wish to integrate your provisioning OSS with Cisco devices directly using the Cisco onePK API. You may have a software development or “DevOps” team in-house. Alternatively you may intend to engage a particular ISV (Independent Software Developer) or Systems Integrator (SI) for your SDN app needs. Both may need help in developing Cisco ONE applications. Another option is to engage Cisco Services experts to develop a Cisco ONE application to your particular specification. To meet this variety of requirements, the Cisco ONE Application Design and Deployment Service will solve your expertise requirements. Here we can develop apps to your requirements and your team’s capabilities. We can develop the application for you, or we can guide your team and/or your SI/ISV as you develop and test your ONE application.
Why Cisco Services for ONE Applications Development?
Developing SDN and Cisco ONE-based applications requires specialist skillsets, coupled with an appropriate software development process and environment. It’s one thing to have software engineers available in your team – which as I’ve shown above, many network teams do not. However it’s another challenge to hire and develop software engineers to be the kind of networking experts you need to exploit the potential of SDN and Cisco ONE. And to do that in a safe, fully tested manner that does not impact your existing network.
In our Cisco Services teams, we’ve been hiring and re-training our consultants to help you on Cisco ONE. Additionally, since as a company we have more software engineers in house than hardware engineers, we have aligned some our internal software experts into Cisco Services.
These software services capabilities are a key aspect you should assess in all of your potential SDN partners. You may find– particularly in smaller companies (and there are many of these suggesting they can provide you with SDN technologies) – that some of your potential partners do not have the people experts and services to help you exploit and design and develop with their technologies. IDC in particular have recognized the need for professional services as being essential to SDN success. Other major market research organizations unfortunately have not. While they advocate that you consider some of the SDN startups, they at the same time are failing to point out that evaluating the consultancy services – including SDN software development services and technical support services of your potential partners -- should be a key part of your evaluation.
With Cisco Services, you need not worry! With our servies for Cisco ONE, we are ready and waiting to help you develop applications that will help you realise the promise of SDN and Cisco ONE. What are you waiting for – get in touch!