Developments at IAM Cloud
Technology is an ever-changing beast and it takes a dedicated team to keep up with the changes. That’s exactly what we do here, every day at IAM Cloud. We’re working on revamping and reworking all of our products to keep things as secure, smooth and user-friendly for you and your organisation.
As you will see in our blog, we have been releasing a number of upgrades for our Cloud Drive Mapper product recently, such as our 2.3 release, but you might wonder what we're up-to over on the IAM Cloud SSO side of our company. Wonder no more...
Redesign of Single Sign On
Well, one of the biggest changes to our current product line up is a redesign of our hugely popular Single Sign On service. Currently, our SSO service is one single application (with calls to various API services and so on) with all the front-end and server-side logic rolled into one.
This can introduce several issues, such as:
- Deployments and releases take longer
- Testing is more difficult
- Performance optimisation is more difficult
- It is harder to take advantage of modern browser environments
- Redesigning any part of it is tricky because of the tightly-coupled nature of components
Part of my role in IAM Cloud is to redesign and develop a new front-end visual interface to our products, starting with our SSO service.
A modern design
Whilst our user interface is by no means old and tired, it doesn’t embrace the new layout techniques, support features introduced by modern browsers, and it could do with a refreshed look and feel.
By removing the dependency on the server application, we are free to rebuilt a fresh, new design for the SSO app, including the use of modern CSS frameworks such as Bulma.
Better testing separation
Unit and integration testing is at the heart of successful applications and modern development practices. Our applications are well-tested and robust, but because of the tightly-coupled nature of front and back ends, our applications also take longer to test.
For example, if you change a server-side component, we currently must test everything. In an ideal world, the front-end should have its own unit tests, testing framework, and responsibility for reporting on whether it is ship-shape.
We have integrated our new interface with its own testing library so that we can monitor issues and catch them beforethey affect end users; especially important is that this is now done in isolation to the server side and database applications.
Quicker feature releases and bug fixes
At IAM Cloud, we work very hard to fix issues as soon as they appear and build features that our clients love. Again, by separating out our front and server concerns, we can focus on developing new areas of functionality, new features for our clients and deploy them to their respective parts of the application.
Currently, our resources are focussed entirely on back end development. With our new front-end team working on purely user interface development, we can make bit strides in tackling new features on bothsides of the coin.
As a bonus, when we develop a new feature or squash a bug, our deployments can be made much more quickly by using continuous integration and continuous delivery to push out updates to onlythe part of app that has been changed. For example, if we’ve altered how something looks or works in the interface, we can build and deploy onlythat part of the interface, without the entire app being redeployed.
As a Microsoft partner, it’s perhaps unsurprising that our core platform and products are built with Microsoft technologies: a tech stack built upon C#, SQL server, ASP.Net, to name a few. There are many ways to investigate performance optimisation and make improvements to this tech stack, including a huge array of best practices and solutions already available and well-established.
The difficulty, is in being able to separate out optimisation for each concern: the front end and the back end. Each requires its own approach and sometimes these can be wildly different.
What’s more, by approaching optimisation and performance improvements in this dual-pronged way, means that bottlenecks and blocks are much easier to track down and deal with.
The bottom line to you as an organisation and your users is that you will be using a much faster, slicker application that is even more highly optimised than ever.