Many years ago, when I was an entrepreneur, we had developed a mobile app. It was a visual storytelling and networking platform that allowed users to tell visual stories using the photographs that they had taken using their mobile phones. They could share these stories with their friends on social media and also follow others, get others to follow them and form groups. The technologies involved in building this app was mobile, social and cloud. We had used the SDKs available for developing the app along with cloud hosting infrastructure to set up the databases and the mobile backend.
What we did not have at that time was a platform-as-a-service that would have helped us do all this and more in a much shorter time. At that time it had taken us more than eight months to fully develop the app to our liking and test it satisfactorily before we could launch it on the app stores. Today, with a platform such as IBM’s Bluemix we could have done the same thing in less than two months! It may sound incredible, but it is true.
So, what is Bluemix?
Bluemix is an open cloud platform that gives mobile and web developers access to IBM software for integration, security, transactions, and other key functions, as well as making available modules developed by the community of business partners. It is built on the Cloud Foundry open source technology. Bluemix also provides Mobile Backend as a Service (MBaaS) capabilities. The whole idea of the platform is to provide a smooth and simple way of building and delivering an application by providing services that are ready for immediate use.
Bluemix offers cloud deployments for both large enterprises as well as small businesses and startups. All service instances provided are managed by IBM. You need to register on the platform and you will get one bill for only what you choose to use. This is a platform that is ideally suited for startups and small entrepreneurs who have budget constraints and who are looking for an environment that not only provides various services on demand but also the underlying infrastructure and development and testing environment. Developers with a minimal amount of programming knowledge can quickly build and deploy applications in this environment.
It is free for anyone to register and you will be charged only when you start utilizing the computing and data environment and will be charged only for what you use.
You can access Bluemix at https://console.bluemix.net/
Bluemix offers a variety of services. These services are categorized as Boilerplates, APIs, Application Services, Blockchain, Cloud Foundry Apps, Data & Analytics, DevOps, Finance, Integrate, Internet of Things, Network, OpenWhisk, Security, Storage, Watson, Web and Mobile
Shown below are some screenshots of the catalog section in Bluemix.
Each of these categories have many modules available under them. The detailed list and descriptions of each can be found in the documentation that is available on the Bluemix platform.
To get a developer started and off the ground easily, the boilerplates are a useful place to start. A boilerplate is a container for an application and its associated runtime environment along with predefined services for a particular domain. The main advantage of using a boilerplate is that you can quickly put together an application and be up and running in a short time. The list of boiler plates offered by bluemix is shown in the figure below.
There is a flexibility of developing and running your app in an environment of your choosing. The runtime services can provide the environment in which your app will run, for example you can run an app in in Liberty for Java, Node.js, .NET, PHP, Python, Ruby.
There are multiple options when it comes to development on the bluemix platform. Bluemix supports a few different approaches for developing applications and running them in Bluemix. The approaches are functionally equivalent and work equally well, so developers can choose the method with which they are comfortable. They can use a starter, a runtime starter, such as the WebSphere Liberty profile or the Software Development Kit (SDK) for Node.js. A boilerplate starter the developer can run an application by specifying only minimal information. The Eclipse integrated development environment (IDE) can be used to work with Bluemix applications. The Cloud Foundry cf command-line interface (CLI) tool can be used to work with Bluemix services and applications on your local system.
The DevOps services offers tooling for rapid development, testing and continuous deployment and is well suited for the times when you need to quickly deploy and keep up a continuous improvement cycle.
The Bluemix platform is equally useful for large enterprises as well as small businesses and the startup community. It is advantageous for a startup to adopt such a platform given the nature of the way a startup functions. There is a lot of ideation and innovation that goes on while moving a product from the conceptual to the final finished product. There are multiple iterations and experimentation that takes place and an environment that allows you to rapidly experiment and try out innovative ideas is a great advantage, as it allows you to save time in prototyping using traditional methods. In a startup speed is a critical factor and you need to be able to go from idea to your first MVP (minimum viable product) at the earliest.
Here is a short video on building a mobile app using the Bluemix platform. There are more videos on Bluemix and its use on the Bluemix Channel on YouTube.
For those who are interested in more information on the Bluemix platform, you can find it here.
Like I had said in the beginning of this post, if I had had a platform such as Bluemix to build on, our app would have been built much faster, would have had many more features, simply because we could have tried out all the ideas we had and prototyped a lot quicker, and just the number of services available in the bluemix catalog would have given us many more ideas that we could have built on. Today, a large number of startups are already using the platform, and so if you are a startup, or have plans on one, you could consider a platform as a service like Bluemix to build your product on.