bluebay2014 - Fotolia
To keep up with evolving workflows and increased data consumption, organizations are turning to microservices-based architectures to improve development speed and bring innovation to their software.
Older application-based infrastructures can begin to lose their modularity and ease of maintenance over time due to expanding infrastructure capabilities, patches, system updates and added code. This makes it harder to make smaller, more frequent changes to software and to build upon functionality for quick update cycles. Updating these aging software models is one of the benefits of microservices.
"The adoption, if done properly, can run in parallel to existing services and take far less time in development to deployment than larger services," said Calvin Brown, enterprise principal architect at Atlanta-based Kairu Consulting.
Data center admins are not usually involved in creating microservices architectures, but they must be aware of how hardware can support a successful implementation. More businesses are seeing benefits by enabling developers to write smaller services that can help them move faster.
With DevOps models that promote collaboration, testing and integration, admins and developers can reap the benefits of microservices and gain the necessary support for effective development cycles and deployment hardware.
Microservices in the on-premises data center
Microservices are applications coupled into a collection of services that implement business functionalities. To maintain certain software functions on a more regular basis, developers can break out software components -- or services -- to form a distributed system. This makes the technology a good fit for cloud-based or on-premises data center deployments because it is an architectural pattern that can be tailored to developers' needs.
Docker and automation software, which many data center admins are already familiar with, are key enablers of microservices.
"Microservices do not require gold-plated, expensive, dedicated hardware," said Ian McCarty, president and CEO of PhoenixNAP Global IT Solutions. "They can run on shared clusters on top of commodity [data center] hardware, which is easier to scale and replace."
To get a microservices application up and running, admins must use an infrastructure with a low-latency connection. Admins can turn to automation software to ease deployment, because they must deploy each application component separately -- often within containers.
"Deployment and monitoring of microservices is more difficult and expensive than a classic, monolithic system," McCarty said.
Harnessing the benefits of microservices
In addition to offering a more modular way to update software modules, microservices provide a few maintenance perks, namely a faster workflow from testing to production.
Admins see the benefits of microservices in the case of ransomware or distributed denial-of-service attacks or unexpected outages. If one function goes offline, admins can work on that issue rather than shutting down the whole system.
Microservices also improve data center scalability and resource utilization. IT admins can handle peaks in demand by scaling up the number of affected components rather than deploying replicas of the entire system.
"An organization can answer exceptional demand by deploying temporary VMs on the cloud or other data centers rather than having to own a single data center powerful enough to support the entire system during such spikes," McCarty said.
Ian McCartypresident and CEO, PhoenixNAP Global IT Solutions
For long-term maintenance, each development team can use the source code they want to solve their problem. This can lower the time and coordination needed to make changes.
"Developers can build each service on their own machines without fear of not having enough resources to run it," McCarty said.
The overall microservices architecture doesn't force IT admins down a certain path because it can adapt to multiple technologies and source codes depending on individual module needs. This requires communication between admins and developers, because admins must ensure that it is feasible to support the microservices using containers, small cloud deployments and even serverless deployments. If the hardware is not in place before developers start to code, it will delay startup time, add to configuration costs and reduce the benefits of microservices.
Furthermore, if admins use a heterogeneous environment to support microservices, it's imperative that they confirm compatibility between servers and cloud platforms to minimize downtime once the architecture is live.
Organizations must properly evaluate the uses of a microservices-based architecture before implementing the technology.
"If a traditional, monolithic application is becoming difficult to manage or update, then microservices may be a good mechanism to make the application more robust and scalable," said Jay Lyman, principal analyst at 451 Research. "If there are not issues, microservices may be unnecessary."
Plus, admins must consider how to group functions and which APIs will support the different modules. When planning services grouping, developers must ensure that components are consistent with each other, and they shouldn't group too many functions within the same module.
Data center admins need to be aware of any deployment plans. This means evaluating current server and cloud capacity, including calculating application bandwidth and storage requirements to ensure that microservices can effectively run long-term and handle fluctuations in data processing.
Adopting a microservices-based architecture
More than a third of enterprise IT decision-makers are in the stages of initial or broad production use of microservices, according to 451 Research. Within the investigative stage, 62% were actively evaluating microservices in test environments. Only 4% had no interest in adoption.
Technology giants, such as Amazon with AWS API Integration and AWS Lambda and Microsoft's Azure API Management, will drive adoption as they have invested heavily in helping customers' microservices implementations.
Even with the help of large tech organizations, IT admins must still work with developers to find the right mix of dedicated servers, cloud and containers to support more flexible software architectures and see the benefits of microservices.