Microservices: The future of government IT
- By Pete Eichorn
- Mar 27, 2017
Government agencies are under pressure to make digital services faster and more user friendly, matching the standards set in the private sector. To keep pace with expectations, IT teams find themselves in a mode of nearly continuous improvement. The delivery of better, faster functionality is achievable with microservices. These little workhorses promise to change government IT in a big way.
What are microservices?
Microservices represent a more flexible, agile approach to developing digital government services. Think of traditional programming architecture as a monolith -- a single, rigid structure that houses agency services. There’s a lot of code to maintain, and developers can’t change a portion of the structure without disrupting the rest of it -- or even bringing it down entirely.
As an example, let’s say the address verification functionality of a digital government service must be enhanced. With traditional programming, that part of the system can’t be fixed without affecting the whole.
Microservices change that scenario.
A microservice is a small, specialized component service that requires a shorter build time and less coding. Microservices can communicate with each other through an application programming interface. Because they operate independently, they can be maintained without disrupting the rest of the domain. In other words, developers can fix that address verification function without disturbing anything else.
Built for speed and agility
Microservices call for a different approach to technical design and development. By separating a whole service into its distinct microservices, agencies can more quickly create and launch core functions, knowing they can easily go back in to enhance and expand them.
Once built, microservices can be assembled into new applications without reinventing the wheel. Code can be shared and repurposed. It’s akin to recycling for developers, and it brings efficiency to the process of creating and maintaining digital services.
By giving developers the ability to repurpose code regardless of the language it was written in, code reuse speeds development across teams and services. Naturally, this calls for a willingness to share application and technical roadmaps among teams and agencies.
Agencies can use microservices to improve the constituent experience, too. For one thing, establishing a consistent look and functionality across multiple services creates familiarity and confidence.
Microservices also make it easier to adjust services’ features and performance based on user feedback. Government developers can introduce a 1.0 version, seek input from constituents and quickly enhance the service based on users’ responses.
This continuous improvement cycle also reduces technical debt, the library of custom code that accumulates over time in traditional monolithic applications and that eventually must be “paid off” when future updates are made.
Microservices minimize the technical debt problem because they can be updated one at a time without affecting other parts of the service. Further, because they are small and easily understood, they can be maintained not only by the original developers, but also by new team members.
Making the move to microservices
As with any change, it’s best to have a vision and plan in place and to start small in the early phases of a changeover to microservices. IT managers should introduce the concept, find interested developers, set achievable objectives and set up experiments that will test results.
Other ways to learn and prepare for the change:
- Evaluate how microservices might help achieve desired business outcomes. Remember, microservices aren’t appropriate for every situation.
- Bring in outside experts for hands-on exercises that build knowledge.
- Evaluate options for microservices, from refactoring existing monolithic applications into smaller services to developing new applications exclusively with microservices.
- Talk with other agencies and technology companies to look for APIs and microservices that can be implemented.
- Develop governance across teams to support the coordinated business and technical planning required to effectively deliver microservices.
Change is never easy, but when it comes with the internal and external advantages of microservices, it’s time to make the move.
Pete Eichorn is director of technology at NIC Inc.