Leveraging IBM BlueMix for Fun and maybe Profit :-)

In my day-to-day work, I mostly deal with IaaS cloud, but recently thought of creating a very simple application in bluemix. The idea of the app came to my mind when visiting a local shopping store in my home town who was taking home-delivery orders on phone and wished if he had a way to receive, validate and acknowledge orders automatically using SMS.

When I came back home, I thought how difficult will be to create an app to meet the shop-keeper’s requirement, without over-engineering :-).

I have known about PaaS due to my work in the Infrastructure layer and thought of trying it out to create a basic framework of creating such an application. I’m sure there might be ready made apps available for the purpose, but I wanted to try creating one on my own just to get the experience.

All I want to do is to create an application that will receive an SMS, parse it and respond back to the sender.

This is what I did

1. Created a login in IBM Bluemix (www.bluemix.net)

2. After doing a bit of research, zeroed down to use Twilio (https://www.twilio.com) as the backend to handle SMS.

3. Signed up for a ‘free’ Twilio account – https://www.twilio.com/try-twilio

4. Created a very simple application using Twilio APIs to handle and respond to SMS. Very comprehensive and easy to use documentation by Twilio folks. Details on Twilio APIs can be found here – https://www.twilio.com/docs/api

                        def hello():

                                “””Respond to incoming calls with a simple text message.”””

                                resp = twilio.twiml.Response()

                                resp.message(“Hello, This is Pradipta’s Twilio Acc”)

                                return str(resp)

Complete code is available here -https://github.com/bpradipt/hello-python

5. Pushed the application code to bluemix

$ cf push twilio-sample -m 128M -b https://github.com/joshuamckenty/heroku-buildpack-python.git

[snip]

requested state: started

instances: 1/1
usage: 128M x 1 instances
urls: twilio-sample.mybluemix.net

state since cpu memory disk

#0 running 2014-10-27 08:29:18 PM 0.0% 34.9M of 128M 95.3M of 1G

 bmix_1

6. Configured the appropriate application url in the Twilio account configuration

bmix_2

And that’s all. For testing, I just sent an SMS to the Twilio number and it responded back to me with the message – “Hello, This is Pradipta’s Twilio Acc”

Very simple and straight forward. Adding logic to handle orders and acknowledging the same should be straight forward. Bluemix and Twilio makes the job a lot lot easier.

Btw, Twilio account dashboard provides logs for all the communication and is very good for debugging purposes

bmix_3

Pradipta Kumar Banerjee

I'm a Cloud and Linux/ OpenSource enthusiast, with 16 years of industry experience at IBM. You can find more details about me here - Linkedin

You may also like...