Federation in application development
Federation generally means ‘an organization or group within which smaller divisions have some degree of internal autonomy’. As businesses are finding new ways to reach the customer in innovative ways, federated development helps in developing the products and take them to the market in a record-breaking time. The internal autonomy of the different teams gives more freedom to specialize in an area where they excel and also come up with effective ways of solving the problems.
Federation helps the enterprises go lean; build a very robust product; build a focus-driven product development team.
The majority of today’s work in the application development that are federated would fall under one of the below categories -
- Identity federation — Identity verification is the first step that a user would be presented in any of the applications in most cases. Gone are the days where the user has to login to each app whenever they have to use it. SSO has enabled login once and use every app without having to worry about providing the credentials in every single app. Implementing the frictionless login user experience has been made fairly simple with Identity federation. Apart from SSO, the federation also saves lots of time for the development team by avoiding them to code and manage the same login module in every app and enables cross-domain identity sharing by relying on a trusted third party identity management provider.
- Frontend federation — Any data presented to the user either visually or non-visually constitutes the frontend. We can see many no code or zero code platforms being promoted by many vendors. What exactly are zero code platforms? They are nothing but pre-built boilerplate components enabling in faster development of the application. So basically, the actual app that has to be built from ground zero is delegated to platforms and tools. These tools are IDE’s that help in assembling different prebuilt components to build a module. Micro frontends that are used in many modern-day web and mobile solutions are good examples of frontend federations. Webpack 5 module federation is another example of frontend federation.
- Backend federation — Starting from serverless cloud to managed cloud offerings to business APIs, cloud providers have started absorbing the majority of the backend application development. What started as infrastructure federation a decade back, has grown into active backend solution offerings in different form factors. For instance, the evolution of microservices has resulted in federated microservices. In computer science, Separation of Concerns (SoC) is nothing but separating different sections to handle different concerns. Backend federation is mainly designed around the principles of SoC. One thing to notice though, there are systems needed in place to actively monitor all the federated systems utilized by the application.
- Operations federation — Process and operations are the two core pillars of successful application development. There are many teams involved in successful application development. All these different teams have a specific skill set and they excel in those. Digital transformation has provided tools to manage the process and operations for each of these teams to correlate and accomplish tasks with less friction. Also, the tools have almost faded the line between business and IT. The process federation helps the enterprises to focus on areas like design thinking, enterprise architecture, overall solution design, etc.
Please share your comments below.
Originally published at http://shankarkumarasamy.blog on January 29, 2021.