Using PaaS to Understand the Value of Services
September 4, 2015 § Leave a comment
Like Randy and Russell, I recently had the opportunity to join a Bluemix Bootcamp at Galvanize in San Francisco. Some of the topics we covered included extreme programming, IBM Design Thinking, and obviously, Bluemix. One of my favorite topics in this class was node red which is a GUI based drag and drop framework involving nodes and flows. This is a built in boiler plate in Bluemix and basically you can think of it as snippets of code (in nodes) which are connected by lines (flows) which indicate how information passes from one element to the next (see image below for a sample app). This style of developing code made sense to me as I was able to design each node as an object containing basic functionality and reuse it in multiple applications. You still need some coding background to develop robust functionality, but for the most part it was a better way to be introduced (or re-introduced) to code rather than using a text editor.
Related to the overall theme of the class, I enjoyed using the services within Bluemix because it was so simple to increase the capabilities of your code. As an example, one of the apps we built in the class was a basic application which analyzed the sentiment of WordPress commenters (don’t worry, not implemented on this site… yet). Since my application did not initially contain a database element, I assumed that a fair bit of coding would be required to set up a database within Bluemix and then connect it to my application. Instead, I was presently surprised that it took one drag and drop and three clicks; since Cloudant is already built in to Bluemix, I dragged the node into my application space, clicked it to edit, and another click to save the information. Within seconds, data from WordPress was being saved into the Cloudant database I had set up just minutes before (in the image below, my service was the Cloudant database I set up and the database field is where I entered the name of my new database where I wanted this information inserted).
Platforms like Bluemix are always marketed for the ability to help enterprises innovate, but I didn’t appreciate how easy it can be to prototype new ideas until I had this hands on experience. As an example, by the fifth day of the class, we had a 4 hour hackathon where the following applications were built (or very close to being completely built) and presented:
- An image uploading service which uses Cloudant to store the image and a Watson service to identify element of the picture
- A calorie counting application which allows user to select what they ate from a sample menu and receive a text message containing their total calorie counts
- A question and answer service which users could use to ask basic health questions and receive answers (powered by Watson).
I have always understood that using Platforms as a Service (PaaSs) means not having to worry about infrastructure and therefore one can focus on developing, but I think the greater value was the third party services and tools which are supported by the platform. As these services accomplish basic tasks and you are simply bringing them together to accomplish something greater, it becomes easier to think in terms of composable development. From a Bluemix perspective, services meant using built in Watson capabilities or Twilio to send and receive text messages, but third party APIs are also important (note I’m using the terms API and service interchangeably based on the idea that all APIs are services, but not all services are APIs – for more information on this specifically see this link)
From an enterprise perspective, the main point becomes how are key internal services being exposed to their developers so they can create innovative applications? As an example, if a bank has a rewards system for their customers, the service used to manage and use points could be published so that developers could create mobile peer to peer payment apps (i.e. pay a friend with points). There are obviously many things to think about before internal services are opened up for use (security will be the primary concern), but from my experience this week, I feel that exposing these capabilities is key in allowing the greatest innovation.
As more companies adopt PaaSs, I think the quality and quantity of services available for use will determine the value this technology brings from an innovation standpoint.