As a “technology first” mindset gains traction across industries — government included — many organizations are making a profound change in how they build and deliver services. IT teams are moving away from developing software as a single, unified, monolithic product and are instead turning to platform development supported by microservices, small software components that can both operate independently and work together as needed.
Adoption of this microservices architecture approach is good news. Government CIOs want to put flexible, state-of-the-art technologies in users’ hands quickly, and microservices provide an adaptable, agile approach to development that allows government IT organizations to move fast and deliver scalable and robust services to citizens and businesses.
The digital ecosystem age
Government, like other industries, has entered the “digital ecosystem” age. Gartner defines a digital ecosystem as “an interdependent group of actors (enterprises, people, things) sharing standardized digital platforms to achieve a mutually beneficial purpose.” In other words, it includes all the interactions and interconnections we make, every day, to accomplish common purposes. Platforms using microservices are a dynamic part of the digital ecosystem.
Platforms are systems that support multiple applications. Microservices work like building blocks, dividing platforms into the smallest possible components.
Each unit can operate on its own or in tandem with other microservices, across multiple platforms. Each has an exclusive function it performs over and over. For example, a microservice might be designed to solely verify addresses or create PDFs, regardless of which platform draws upon it. Any developer can call up these tiny, manageable units and use them as part of any application.
Good for citizens, good for government
Following in the footsteps of digital ecosystem pioneers like Amazon, PayPal, eBay and Netflix, government leaders can gain internal benefits — and better serve constituents — using microservices architecture. For example:
Increased productivity and speed
Citizens have come to expect the same responsiveness from government digital services as they do from commercial organizations. Microservices deliver by helping IT teams iterate faster. The small, modular units in microservices architecture allow IT teams to work independently on different elements of an application. Each service can be tested individually and deployed when it is ready, rather than one team having to complete its work before another team can begin.
Flexibility and scalability
Monolithic architecture can require deep understanding of the entire code base even to make minor program changes. But using microservices for continuous development and deployment of large, complex applications removes the need to create an entirely new application release to implement small modifications. Microservices’ independent operating nature means any one of them can be removed, changed or replaced without compromising the integrity of the whole platform.
Each microservice can be written in a different programming language and still peacefully coexist with other existing infrastructure. Because developers can scale microservices separately from each other, they can easily and quickly expand, contract or integrate services and applications.
Microservices architecture inherently places the focus on building functionality that aligns with business goals. Once they are in place, microservices make it easy for government IT teams to build, modify or enhance services based on constituent needs — and the more government services continually improve, the more agencies can expect user engagement to grow.
Microservices also can be accessed and reused across multiple agencies within a government organization, reducing infrastructure costs and resources and increasing speed to deliver new capabilities.
Constituent-driven service delivery
Traditional development is still relevant in some instances and often can be combined with platform building blocks as well. However, government agencies increasingly are exploring software development using microservices architecture.
Governments also may use platforms created by third parties, configuring the microservices that support a platform to build applications tailored to their constituents’ needs.
An example is Gov2Go , an NIC platform now available in all 50 states, with 20 percent of those states deploying custom services on the platform. Built using microservices and APIs, which allow microservices to interact with each other, Gov2Go learns about a person’s civic responsibilities based on information the constituent shares, tracks those interactions, notifies the user about upcoming renewals or payments and offers thumbprint payment login and simple one-click payments to complete the transaction.
Government, like all industries, increasingly will be called upon to interoperate in the digital ecosystem. Platforms supported by microservices architecture simplify that task by providing standardization, ease of integration and consistency. Implemented effectively, platforms allow government to meet citizens’ needs with robust and scalable services across a diverse technology network.