Microservices

This is your last article/video this month!

Please log in or sign up to unlock 3 more articles/videos this month and explore our expert resources.

Automatic Summary

Decoding Microservices: The Future of Software Architecture

Welcome, I am Shika Han Jura, an engineering manager at VMWARE, presenting an informative piece on the fascinating topic of Microservices. Companies are increasingly aligning their strategic goals to be more agile, eliminate integration, enable scalable business, and to continuously deploy independent small services. By doing so, they are well-positioned to expand into new markets and implant innovation in existing ones. But how are they achieving this? Enter Microservices, a versatile solution enabling companies to move swiftly and achieve their ambitious goals.

Design and Delivery Principles: The Way Forward

In the quest for speed and scalability, certain vital design and delivery principles are guiding the development and application of architecture. These include:

  • Agility: The adoption of agile methods to ensure flexibility and responsiveness in software development.
  • Total Integration: Building comprehensive systems that eliminate the necessity for stand-alone, disconnected services.
  • Diversification of Services: Adopting an array of independent small services designed to cater to specific needs.

These principles are steering companies to enable scalable business and support innovation within rapid timelines.

The Evolution from Monolithic Applications to Microservices

Historically, monolithic applications have dominated software development for decades. These applications start small and gradually grow over time, running as a single thread or process. Changes in these systems often meant that the entire application had to be rebuilt, resulting in significant downtime and operational upheaval.

The era dominated by monolithic applications gradually gave way to service-oriented architecture patterns (SOAs). These SOAs were improved versions of monoliths, but they were not without their drawbacks. Some of these challenges included complicated scaling processes and limited knowledge about the entire application among the development team.

Now as we move into the future, the industry has embraced microservices, small autonomous services that work together, modeled around a business domain. In the context of microservices, ‘small’ refers to the amount of time required to change a module, ideally less than four weeks.

Principles of Microservices

Microservices are underpinned by several important principles:

  • Domain-Driven Design and Bounded Context: Microservices are modeled around business domains and bounded contexts.
  • Culture of Automation: To scale microservices effectively, automation (of infrastructure, testing, deployments, etc.) is paramount.
  • Isolationism: When it comes to data, microservices should hide their implementation details, reducing direct database interaction.
  • Consumer-Driven Contracts: A vitally important principle is the definition of consumer-driven contracts that outlines the expectations of a consumer from a service.

When to Implement Microservices and What Advantages They Offer

The best time to implement microservices is when a company needs to scale its applications, deploy multiple independent instances of services, and when there is a call for greater decision-making freedom among engineers.

Benefits of Microservices:

  • Technology Heterogeneity: Microservices offer increased flexibility in choosing tech stack, databases, and more.
  • Improved Scaling: Microservices allow for tuning to match specific service requirements.
  • Resiliency: The isolated nature of microservices makes them more robust against system failures.

In closing, microservices present a world of options and decisions, letting change drive us to continuous improvement. Through microservices, even small changes can be swiftly implemented, ensuring an agile and responsive business.

If you have any questions or comments, please don't hesitate to ask in the chat window. Thank you for joining this insightful journey into the realm of microservices.


Video Transcription

Read More