My first Cisco Spark project - Phase 1: Ups and Downs and the PaaS Challenge

After working approximately some time on my private Cisco Spark App, which combines the Cisco Openvuln API with the Cisco Spark API, I had several ups and downs during working on the code. During the first days I focused on Openvuln API and to understand OAuth.

The first versions of the program is running on my laptop and was just for verification of the functions of the Openvuln API and to get my first experiences with OAuth. I used the Client Credential Grant of OAuth for the first programs, but the final goal is to create a web application using the Authorisation Code Grant. The topic web application was also part of one of the downs I experienced.



Ups:
- I get the Client Grant based OAuth authentication working to send requests to the Cisco Openvuln API. Based on the fact that I had no experience with OAuth and not much experience with programming, that was a real highlight for me after I get that running

- I get the get the Cisco Spark API training labs running and get an understanding of the API including the requirements for webhooks. To get an understanding for webhooks and how they are working and to get them working in some tests and labs was also a great experience.

- I can send the output of the Cisco Openvuln API to a Cisco Spark room with my main account. That was my absolute highlight of the first phase after I get after some hours of coding the first outputs of the OpenVuln API posted to my Cisco Spark room. It is also a good example how simple and fast you can make the first progress with the Spark APIs.


Downs:
- For using the webhooks from Cisco Spark API you have to provide a URL for you app, to receive the messages directly from the Cisco Spark platform. That's also the reason why I decided to create at the end a web application instead of normal client application on my laptop. I don't want to run a server at home which stays always on to use the functionality, that's the reason why I started searching a cloud-based alternative. On the search of a working solution I checked in detail the available cloud-based infrastructure services of Amazon, Microsoft and Cisco.
I decided to use Amazon Web Services for hosting the web application. The main reason was the packages Amazon provides for developers, starting from a one-year trial (with some limitations) and the option to create scalable hosts which can grow with the application.
The Microsoft 170 Dollar voucher for trial was not so interesting for me, because I had no feeling how much value these voucher means.So Microsoft was out very fast.
I also tried to get some Infrastructure-as-a-Service resources on the Cisco Intercloud, but I only found offers for companies and not for individuals. I hope that Cisco will extend these offers in the future to make it easier for developers to start their development for Cisco focused apps directly on the Cisco Intercloud and not on 3rd-parties or competitors infrastructure.

- Finding all documentations of the APIs is sometimes a real challenge. I know that the APIs are brand new but for some informations you have do search three different sources to get the required information. For example for the Openvuln API there are the Cisco Devnet Community, Cisco Devnet and the Cisco API Console with different kind of informations. I really hope that Cisco will provide in the future one location to consolidate these information.

Conclusion:
There is still lots of work to include all the ideas I have still in mind for the application. But, like in many cases the journey is the final goal. I already get a complete new understanding of the benefits of PaaS and the cloud infrastructure offers of Microsoft and Amazon and their benefits. With a deeper understanding and a larger overview of the Cisco APIs I'm also getting some more ideas how to improve the daily work inside my organisation. After the first time of working on my app, my programming skills are becoming better and I get the opinion that scripting is getting more important for UC engineers to make their daily work easier.
I really hope that Cisco will bring some more sessions and labs to programming and APIs in the Unified Communications Partner events like Partner VT. With some more focus in these events it should be easier to spread the knowledge about APIs and the ways to use them to a broad range of engineers and finally to the partner organisations.
And the most important thing, Cisco has really to make it easier for individual developers to get access to the Cisco Intercloud services. As long as the Intercloud is just for companies and not for individuals Amazon Web Services or Microsoft Azure will still get more business from innovative start-ups. Which developer or start-up will move their services from AWS or Azure to Intercloud if they are happy with the service of the original IaaS/PaaS provider? I really hope Cisco will change their strategy in that point.




Comments

Popular posts from this blog

How to - Install Python and Paramiko in offline Windows environment (Optimized Method)

How to - Removing CTL and ITL from 7900-series phones via SSH

How to - Install Python 3.4 and Paramiko in offline Windows environment