The Wayback Machine - https://web.archive.org/web/20240327103226/https://thenewstack.io/microservices/
TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always
stay in-the-know by getting the most important news and exclusive content delivered
fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter
in the past. Click the button below to open the re-subscribe form
in a new tab. When you're done, simply close that tab and continue
with this form to complete your subscription.
The New Stack does not sell your information or share it with
unaffiliated third parties. By continuing, you agree to our
Terms of Use and
Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!
We’re so glad you’re here. You can expect all the best TNS content to arrive
Monday through Friday to keep you on top of the news and at the top of your game.
What’s next?
Check your inbox for a confirmation email where you can adjust your preferences
and even join additional groups.
Follow TNS on your favorite social media networks.
As a result of microservices, service development, testing, problem-solving, deployment, and updating can be done by cross-functional teams independently, leading to faster deployment and troubleshooting. Automation of manual processes and the ability to share the workload reduces the overall development lifecycle.
Application development greatly benefits from the growing popularity of microservices — a technique that involves a group of loosely coupled services. Netflix and Amazon are part of the early pioneers of microservices.
What Are Microservices?
Microservices are an architectural approach to software development based on building an application as a collection of small services. There is no standard definition for what amount of code constitutes a “small service.” Some experts say it’s about the size at which a team can query the service’s health with a single request that returns a “yes” or “no” answer. Similarly, a service is too big if it requires more than one team to manage it.
Each service has its unique and well-defined role, runs its process, and communicates via HTTP APIs or messaging. Teams can deploy, upgrade, scale, and restart each microservice independent of all the sibling services in the application. These microservices are typically orchestrated by an automated system, making it possible to have frequent updates of live applications without affecting the end-users.
Benefits of the Microservices Framework
Microservices are an evolution of a service-oriented architecture (SOA) — and some would argue that microservices are just SOA rebranded to make it hip again. Cloud-native microservices take the SOA concept to a new level, though. The difference now is that cloud infrastructure has finally caught up to the SOA concept so that loosely-coupled services (aka microservices) are now feasible to implement and manage at scale.
Here are some benefits of microservices architecture:
Enabling independent development. Microservices architecture enables small autonomous teams to independently develop, deploy, and scale their respective services. This enablement allows more developers to work on smaller codebases, lightening the workload.
Increasing development speed. Microservices parallelize development, thereby speeding up the production cycle exponentially.
Promoting continuous delivery. The adoption of microservices facilitates using DevOps, continuous integration, continuous delivery (CI/CD), and containers. There will be no need to deploy code simultaneously as developers do in a monolithic environment. This feature makes updates frequent and fast, enabling CI/CD.
Discover the Ten Commandments of Microservices
The Need for Microservices Orchestration
Microservices orchestration manages complex production processes to enable developers to operationalize containers at scale. Orchestration coordinates workload management, communication, and microservices architecture readability. Microservices orchestration ensures that there is no data loss in the process of coordination. This capability eases system development for developers and enables support teams to fix problems quickly.
Several microservices orchestration solutions are available in the market. Here are some factors to consider when deciding on an orchestrator for your microservices:
Multiplatform integration. All teams should be able to use the orchestrator at once. For example, the tool should support teams using an open-source developer platform and object programming languages.
Ease of use. Ideally, the orchestrator has a simple environment where the microservice interaction is easily visible.
Error processing. A microservices orchestrator allows developers to set up multiple retries and timeouts when a malfunction occurs.
Non-synchronized workflow support. During development, some workflows run parallelly and may not be simultaneous. An orchestrator should save current data, stabilize general performance, and simplify development.
Scalability. Unlike monolithic applications requiring multiple instances for every component, microservices allow teams to scale a part of an application independently, according to the component’s resource needs.
Here are some drawbacks of using a microservice architecture:
Complexity. With a microservices architecture, service discovery, networking, testing, and monitoring become more complex and difficult, if not impossible, to manage following reliable older systems and practices. And the problem is amplified as the number of services grows.
Excess Resource Consumption. Tools that once seemed essential, such as logging, are now racking up huge bills that can send a microservices migration into negative return on investment (ROI) territory. Although microservices support the efficient use of resources, they can also increase resource consumption as services grow. Each microservice would need its own container and instance, which may increase the CPU and storage use.
Routing Microservices. In a traditional microservices approach, teams run only the small services they need and nothing else. It’s a sleek setup, but these services are not aware of each other until you step in to orchestrate them. Orchestrating services requires time and resources beyond the engineering reach of many small to midsize organizations.
Relationship between Microservices and Containers
A microservice architecture splits applications into different services that perform specific functions. Each microservice has a unique logical function for each part of a monolithic application.
Containers are packages that contain microservices. These containers also house code, dependencies, binaries, and libraries. Container-based — and open source — systems like Docker and Kubernetes are very effective ways to develop, deploy, and manage microservices in an enterprise environment. Many mature and robust tools, platforms, and other services exist in the container space, rendering containerization a natural fit for microservices-based applications.
Why Organizations Are Embracing Microservices Solutions
A leap forward is now happening with microservices. There is a virtual tech sector land rush on, with companies feverishly producing microservices and the platforms, tools, and frameworks necessary for joining them together.
Keep up with Microservices Developments on The New Stack
It can be difficult to gauge both the best fit and ultimate longevity at this stage in the developing ecosystem around microservices. Despite the abundant potential benefits, microservices are not the right solution for every project. A well-built monolithic architecture can also scale and remains the best option in many scenarios.
Many business and process decisions are involved in transitioning to a microservices-based architecture. Still, many companies for which microservices are the best option and well worth the immediate challenge.
We monitor microservice architecture developments, new orchestration tools, and microservices frameworks at The New Stack. Be sure to bookmark this page to read the latest articles on microservices.