There is an upward trend in the adoption of IoT devices, microservices, and backend services (MBaaS or BaaS) and they are no longer just industry buzz words. But how does each one relate to the other, and why do we believe their convergence is fueling the next wave of digital transformation?
- With increasing complexity of apps, demand for rapid updates, and higher number of app services being deployed in clouds, more industries are moving towards microservices based architectures
- With need to create many more robust, secure and sophisticated enterprise apps with increasingly less budget and time, companies are selecting BaaS or MBaaS as their underlying mobility stack
- With billions of web-connected devices expected to interact with each other and apps in a meaningful way, the Internet of Things (IoT) paradigm shift is driving higher demand for apps and backend services
There’s no doubt smartphones and tablets have made us app-centric in nature. We now look towards apps to pretty much perform every task from banking to shopping, fitness to productivity, to time tracking to child care. However, over a period of time these apps have grown in complexity. Pick a consumer app like Starbucks and see the number of things you can do – view menu items, locations, payment, rewards and more. Or pick an enterprise productivity app, say sales team enablement and look at the range of tasks you can do – from opportunity updates to prospect meeting coordination to customer reports and more. It’s not uncommon to find apps which are a collection of several small services or tasks performed in perfect coordination. This leads to the idea of microservices and the architectural ideology behind it (a quick Google search can make you microservice expert in a day!)
How does IoT relate to microservices? You are talking about a plethora of devices interacting with us and with each other efficiently. You need the technology behind this interaction to be scalable, manageable and rapidly upgradable. Microservices not only provide that scalability and manageability but also provide shared governance of those devices with the help of APIs. APIs work as the glue that ties all these services together. Let’s take a real IoT example (refer to the picture below):
You should be able to control home based IoT devices such as your refrigerator, washing machine, and microwave via apps on your phone, tablet or wearables. You expect to perform operations such as device registration, operating the device, receiving timely notifications, and submitting a customer care ticket if you encounter an issue. Each of these tasks can be segmented into services of their own, which could be developed, deployed and invoked separately by your mobile devices. But, that’s where the challenge starts: there might not be a common language between these services, IoT devices and your app.
That’s where APIs come into picture. You do not want to expose the complexity behind the systems on these devices or appliances, you want to govern the way these services interact and you want a common language of communication. This leads to the creation and management of APIs (typically REST) on top of these services. We have seen tremendous growth in the space of API creation and management in recent years: Amazon being the latest to jump on the bandwagon with their announcement of a hosted API Gateway.
So, how do you make these APIs easily accessible and consumable on mobile apps? How do you transform and orchestrate the data to and from these APIs? How do you add an additional layer of security? How do you connect to 3rd party systems and most importantly how do you drive acceleration in mobile app development?
BaaS technology serves as the bridge between APIs, data and your apps.
In our example, a BaaS provides the middle tier platform which connects to the API Gateway over REST to invoke microservices, transform data, provide any required authentication and authorization, invoke 3rd party services like push notifications, collect analytics, and provide logging and reporting. In addition, it also provides cross-platform client side SDKs to support faster UI development of mobile and web apps.
At AnyPresence we have been experiencing the demand for, and championing, this convergence for some time with our platform offerings. We believe BaaS, microservices and IoT are required for digital transformation within enterprises. Customers in financial services, manufacturing and healthcare industries have proven this further. Additionally, our JustAPIs solution enables you to easily create REST APIs, governed by any API management layer, and define business logic for IoT microservices.
The next blog in this series will introduce a best practice architecture for digital transformation and dive deeper into the crucial aspects of this convergence for successful implementation.