Like music streaming, the evolution of microservices began with distributed computing, which shifted the compute model from large, predefined systems to diverse, individual ones. This shift allowed businesses of all sizes to match technology to their unique requirements and run what they needed — versus being forced into packaged services based on what mainframe providers, such as IBM or CA Technologies, offered.
This SOA-type shift profoundly impacted businesses as it enabled flexibility while simultaneously increasing technological or process complexity and security risk.
Microservices are emerging as an expected functionality. Think Internet of Things (IoT), a network of devices communicating with each other, and edge computing. Microservices break down device transactions to the absolute minimum required in each process step.
As a result, building with microservices improves efficiency, security and upgradability, which can turn into huge value over time.
For example, by using microservices, companies can build upon existing smart LED lighting and Heating, Ventilation and Air Conditioning (HVAC) systems with the addition of inexpensive and simplistic cameras and sensors. When these devices are linked by microservices to a smart home or office, they can be programmed to adjust artificial lighting and heating/cooling based on occupancy and weather conditions.
These sensors can then monitor and adjust dynamically all on their own via packaged or custom scripts (if/then statements). For companies that have a multitude of locations and employees, this investment can mean millions of dollars per year in cost reductions, which could pay for the advancements in little time at all.
The containerized nature of microservices breaks technology and code into separate components, limiting the opportunity for broad breaches. Additionally, this separation allows for individual scripts, or lines of code, to be changed without impacting entire system stability.
The biggest challenge with microservices, however, is few people have practical knowledge and experience to employ and manage them beyond talking about vague “containerization.” Most haven’t worked or developed in these environments. Skilled architects and development staff are required to build and support them or … the leeway for failure needs to be given while staff learns by doing.
Many organizations have yet to realize the resilience and adaptive power that exist with microservices. To the decision-makers in those organizations, I suggest taking the risk, as it will eventually be well worth the effort.