What we're developing at IAM Cloud

By Rob Kendal April Thursday, 2019 dev, tech No Comments

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.

Ultimately, we’ll be decoupling the front-end user interface from the server-side application and employing a more JAMStack approach (JavaScript, API’s, Markup). This will give us a number of benefits over our current approach.

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.

Screenshot_2019-04-10 React App

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.

Performance improvements

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.

However, by decoupling the front-end and building our new user interface with JavaScript technologies like React JSwe open up a new world of performance opportunities, including CDN delivery, front-end specific caching, and compression, minification and bundling using Webpack.

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.

Topics: dev, tech

Subscribe to Email Updates