Every cloud-based application needs an user authentication and authorization system. We call the system we developed anÂ User Management System (UMS) and it is also known asÂ Identity & Access Management (IAM).
Identity and access are the keys to monetization of your service or your application. What should be your strategy – do you build your UMSÂ from scratch? Do you start with open-source? Do you use a hosted services such as Okta or Stormpath? What is the right choice for you? There are many questions to address, here areÂ factors to consider while deciding on your IAM strategy:
- Â Enhanced Monetization: A UMS or IAMÂ solution is critical to monetize applications. It is directly tied to licensing and subscription revenue. A strong and secure system needs to be in place that authenticates users uniquely, and grants access to features that the user has paid for. Most solutions in the open source domain or hosted support this. However as more applications are added to the suite being offered to the customer base, and each application has more features added – it opens up huge opportunities to monetize them. Imagine you are building a location-based tracking system and you have customers who are willing to pay for real time tracking but not historical – and another customer who is willing to pay for both – this is a great example of being able to have fine grained access control in order to monetize.
- Security and Control: Given the importance of USM / IAM – it makes business sense to integrate it closely with your cloud application. Typically every time you create or develop an application you build an authentication system again or use a hosted service. What really is needed is a balance – the ability to share IAMÂ as a service across multiple applications and being able to control/integrate the system within your cloud infrastructure.
- Cost: Is the cost of the system going to go up as your application scales? If you have a hosted service – you may end up paying a cut for every user and still lack control of the user data it being in another cloud system.
- Insights: How do you get insights on how your apps and services are being used? A good UMS or IAM will provide you with the ability of keep track of user and administrative activity.
Movinture had developed its IAM/UMS microservice to support itsÂ own applications. We have addressed number of challenges that are faced by all cloud application developers leading usÂ to productize our UMS. We are going to make it available as one-time royalty free license made available with source.
Our UMS/IAM is developed in Node.js and uses MongoDB for storing the data. It is self-contained microservice that can be scaled with your user base. It has well defined interface that allows you to integrate it with your apps supporting authentication and multi-tenant authorization. It is highly secure – supports TLS1.2. It is extensible to meet your specific needs – we can do it for you or you can extend it yourself since you would have the rights and the source to do it. Bottom line it will meet your objectives without sacrificing the degree of control or security you would want. You can learn more about it here.