5 predictions for 2020 software architecture trends
The future of microservices development will take a page from the past -- namely, Windows application development -- and be more transparent. Microservices trends hitting their stride in 2020 include frameworks, cloud adoption and associated tooling, and critical need for observability.
In 2020, developers can expect frameworks to evolve for web services -- particularly microservices -- to make them faster, lighter and easier to develop. It's an industry maturation analogous to how the Visual Basic programming language changed Windows development. Before Visual Basic came out in the 1990s, it was incredibly difficult to make a Windows application. You had to type up all the code that would create the window and manually wire all of the events from the OS to the application. In the near future, expect a framework for web services and microservices to evolve to offer development out-of-the-box capabilities, implementing the service design patterns and code automatically.
Developers will increasingly move away from locally hosted applications and shift into the cloud. Cloud vendors are following this microservices trend, offering all the tooling to build cloud applications natively. Microsoft can even directly integrate tooling with its own programming languages. And companies will get serious about implementing working service buses that actually do manage to manage the functionality.
The other piece that will matter in the future of microservices is observability, where the application is designed to expose information about its performance and availability. Observability means app support can track all system calls and service interactions in the case of a failure, to determine where things went wrong. Application teams need to get that data to solve problems. Companies will recognize how important observability is for distributed, microservices-based architectures, but there's a problem.
For every service call you make, heavy observability tools, such as Cisco AppDynamics and others, make multiple calls internally to track everything the application just did. Those multiple extra calls made for each regular service call drain a lot of processing power, essentially adding another set of middleware that monitors every transaction and stores the information for use later.
IT organizations will get ahead with microservices if they figure out how to best implement observability. Should they turn on observability for only problematic web services, rather than the entire stack? Should they have a fully observable deployment and deal with the increased cloud costs to run it? Or should observability features only get turned on for specific kinds of services, such as those that manage e-commerce purchases?
Many companies will install observability tools that slow down their entire architecture. But simply turning off the tools to save processing power is a waste of money and leaves you back where you started without proper microservice monitoring. Developers should focus on a strategy to implement observability tools without creating performance problems in 2020.
Matthew Heusser is managing director and principal consultant at Excelon Development.