Speed up IoT Development with Middlewares. Round three: IBM Bluemix

Kamil Górski

IBM_Bluemix-1

In the IoT cloud world, there are few brands that are recognisable at the beginning. IBM BlueMix is one of them. Moreover, they are one of the pioneers in IoT cloud solutions. They’ve grown to be a platform that has a breadth of functionalities that I have not seen in any competitors. The whole service is split into 12 categories which help in whole system design and navigation in created architecture.

Power of BlueMix

The real power of BlueMix is the mixins catalog. This is the source of ready to use components that can speed up your application development.

In this catalog you have readymade boilerplates and tons of tools to analyze and process data sent by devices. These tools will fulfill the needs of any project: data&analytics, visual recognitions, text-to-speech converters, translators, storage tools, custom app containers. Basically, if you think of some unusual application, it is already there. If it’s not, you can implement it by yourself and share it with others. All kinds of languages are supported - thanks to language wrappers.

Multiple of choices

All items accessed in the catalog are assigned to their own category. The Compute class is the place that gathers all calculating needs in our app.

Watson is a service that uses natural language processing and machine learning to analyze unstructured data. It can analyze tons, translate, analyze images, transcribe speech to text and much more…

In the Mobile category we can easily create a mobile app using JavaScript - the BlueMix service will generate a native code for Android and iOS platforms automatically. Data&Analytics collects tools to parse, manage and analyze data gathered by our devices. The Internet of Things category is a place where we connect our devices to BlueMix platform. In the security tab you can find a batch of implements for vulnerability advising, managing security permissions and controlling encryption keys for your apps.

There is even a DevOps category in which you can find continuous integration scripts, availability monitoring, auto-scaling and much, much more.

Naturally, among there features are integrations with outside services and APIs for accessing BlueMix. Thanks to the number of available services in BlueMix, there are tons and tons of possibilities for app creators. It covers basically all aspects that you would need for any application. Due to the size of the catalog, the first configuration might be time-consuming but it evens out eventually.

Another great element of BlueMix is the really extensive documentation and provided developer tools. There are two CLIs designed to enhance the service configuration and catalog with examples, code reference and everything you need for first-time use. There are some downsides (of course) though. The one that really brought my attention is that the navigation could be more intuitive.

Summary

Security:

Pros Cons
1. a lot of tools to enhance securit
2. user groups, permissions
3. SSL
none

Scalability:

Pros Cons
1. cloud service, scalable to any size none

Flexibility:

Pros Cons
1. can make literally everything none

Development tools (SDKs, etc):

Pros Cons
1. great number of SDKs
2. CLI tools
1. lack of SDKs for lowest level (C)

First time configuration:

Pros Cons
1. simple apps can be handled by finding right mixin or boilerplate 1. huge amount of features make first-time use a bit complicated

Documentation:

Pros Cons
1. a lot of tutorials and samples
2. extensive feature documentation
1. complicated navigation

If you'd like to learn more about ready-to-go solutions for IoT development, check Round one (Kii) and Round Two (Samsung ARTIK) of this serie.

Any ideas for the 4th round?

Kamil Górski avatar
Kamil Górski
Tags