It is likely that all large companies are already utilizing microservices as part of their business strategies. But microservices — small, loosely coupled services that make up a larger application — are essential for businesses of all sizes.
Unlike monolithic architectures, which contain all functionality and code within a large and complex application, microservices are discreet pieces of code that autonomously deliver on the various components of an application.
Richard Menear, CEO of cyber security specialists, Burning Tree, talks about how microservices are essential for businesses of all sizes and how this architecture is fast becoming a valuable way for organizations to scale their technology and make it more agile.
The benefits of microservices
The microservice architecture (MSA) is highly maintainable, testable and independently deployable — enabling reliable, rapid and frequent delivery of large, complex applications. It also allows an organization to evolve its technology stack in a way that is rapid, agile and flexible.
Because they are based around independent units, microservices are more cost-effective and easier to create, update, scale and support than their monolithic counterparts. MSA applications can, therefore, deliver three key benefits: development agility, deployment flexibility and precise scalability.
When updating a monolithic application, IT teams might have to relaunch it in its entirety. However, with a microservices architecture, they can deploy and selectively work with specific components of the applications. Equally, separate teams can tackle different components simultaneously. Each service can also be tested individually without disrupting other services.
These benefits are hugely advantageous for businesses looking to improve their productivity or speed up the development of applications. This is particularly true for those organizations with distributed teams working across various time zones or different mandates.
From a customer-centric view, MSA can not only minimize disruptions to the customer experience, but it can also deliver functionality, content, products and services rapidly. With more effective traceability as a customer accesses the various microservices, it is now possible to deliver a very personal experience across channels (web, mobile, contact center and in-store/branch) more effectively. This is leading to better conversion rates, increased sales, a better understanding of the customer and relationships. And in turn, the knowledge that the customer is who they claim to provide better security, less fraud, improved compliance and automation.
Microservices and identity management
As with any other application architecture, it is essential to consider the security implications that go hand in hand with them. When applied to identity management, microservices break up monolithic identity and access management (IAM) applications into smaller services — providing them to a variety of other applications and users as needed.
However, whilst microservices architecture offers several benefits, it can also complicate traditional security patterns. Due to their distributed nature, if not designed correctly, microservices-based applications have unique challenges that could make authentication and authorization far more complex.
Policies must be applied to all requests, and each individual service requires a token for authentication and authorization support to grant secure access to customers, other microservices and third-party applications. If not designed and developed with identity and access in mind, it can create difficulties with security and control — particularly when it comes to permissions, data exposure, logging and monitoring.
These challenges can then translate to a security breach, fraud, regulatory fines, downtime and disruption, which leads to a poor overall user experience and loss of revenue.
Delivering effective CIAM in a microservices architecture
There are various ways organizations looking to adopt microservices architecture can implement strong and frictionless customer identity and access management (CIAM) practices.
Establish a unifying, secure point of access
Deploying policy changes to each individual microservice is a time-consuming and arduous task that negates the efficiency benefits of MSA. What’s more, it would make it difficult to guarantee that all updates were deployed properly, leaving organizations open to security breaches.
Businesses should, therefore, consider how access to microservices are managed — for example, by using an API gateway to provide a secure, common access point as a primary system for end-user requests. Federated identity management (FIM) and virtualization together with the implementation of a global unique identifier (GUiD) will enable organizations to represent a consolidated customer view whilst managing distinct business units, products and services. An administrative interface can also help manage users, applications, devices and APIs from one central location.
Choose a suitable authentication interface
The authentication interface itself also plays a big part in securing microservice-based applications. IAM processes need to be both secure and straightforward to accommodate large numbers of users and applications requesting access to each microservice.
Streamlined authentication tools such as single sign-on (SSO) allow users to access all the services they need by logging in just once. Adaptive multi-factor authentication (MFA) then creates an additional layer of security by evaluating the risk and context of the access request.
Take a token-based approach
Token-based architectures provide agility and isolate microservices from the complexities of client authentication processes. For instance, the OAuth 2.0 framework validates tokens via an AS endpoint or using the signature provided in a JWT (JSON Web Token) to assess and verify a user’s identity. JWT is a safe, open-standard method for user authentication, and these tokens can help determine which microservices the user has access to (and to what level).
Microservices architecture is fast becoming a valuable way for organizations to scale their technology and make it more agile. However, for MSA to be secure and successful in equal parts, security measures must be defined to enable applications to be customer-centric. Strong and frictionless CIAM processes will add an extra layer of authentication and authorization that secures companies’ data — and that of their customers — without compromising the customer experience.
Richard Menear, CEO, Burning Tree