Skip to main content

What is a Microservice?

Business requirements are not static.  The rate of dynamic change for new evolving business needs is increasing as you are reading this blog.  The traditional software development practice for building one big honking monolithic program to provision services is not applicable to the explosion of need. This old way of thinking and deploying is not conducive to Agile.
 
To understand a microservice let’s first start with our traditional view point.  For this purpose, let’s say that you want to build a “Self Service Catalog”.   To make this seemingly complex service less complex let’s break it up into many microservices.   For example; one microservice might be for “Creation of Online Account” another for making a selection from the “Service Catalog”.  One might be to “Select Payment Method” and yet another microservice for “Invoicing” and so on.  These are many microservices or sub-services that will eventually be connected via Application Programming Interfaces. These microservices are decoupled and reusable.

Microservice capabilities are expressed formally with business-oriented APIs.

The positioning of services as valuable assets to the business implicitly promotes them as adaptable for use in multiple contexts.

Dependencies between services and their consumers are minimized with the application of the principle of Loose Coupling.

Autonomy is a measure of control that the implementation of the service has over its runtime environment and database schema. 

Each service is fault tolerant so that failures on the side of its collaborating services will have minimal impact.

All these design principles contribute to the principle of composability which allows the service to deliver value to the business in different contexts.

The aim of discoverability is to communicate to all interested parties (developers, architects, testers…) a clear understanding of the business purpose and technical interface of the microservice.

Understanding principles for DevOps, the composition of the Continuous Deployment Pipeline, Agile Service Management and more will help to round out the knowledge needed to understand when, where and why we need microservices.

Education and Certification available for:


Comments

Popular posts from this blog

The Four Ps of Service Design - It’s not all about Technology

People ask me why I think that many designs and projects often fail. The most common answer is from a lack of preparation and management. Many IT organizations just think about the technology (product) implementation and fail to understand the risks of not planning for the effective and efficient use of the four Ps: People, Process, Products (services, technology and tools) and Partners (suppliers, manufacturers and vendors). A holistic approach should be adopted for all Service Design aspects and areas to ensure consistency and integration within all activities and processes across the entire IT environment, providing end to end business-related functionality and quality. (SD 2.4.2) People:   Have to have proper skills and possess the necessary competencies in order to get involved in the provision of IT services. The right skills, the right knowledge, the right level of experience must be kept current and aligned to the business needs. Products:   These are the technology managem

What Is A Service Offering?

The ITIL4 Best Practice Guidance defines a “Service Offering” as a description of one or more services designed to address the needs of a target customer or group .   As a service provider, we can’t stop there!   We must know what the contracts of our service offering are and be able to put them into context as required by the customer.     Let’s explore the three elements that comprise a Service Offering. A “Service Offering” may include:     Goods, Access to Resources, and Service Actions Goods – When we think of “Goods” within a service offering these are the items where ownership is transferred to the consumer and the consumer takes responsibility for the future use of these goods.   Example of goods that are being provided in the offering – If this is a hotel service then toiletries or chocolates are yours to take with you.   You the consumer own these and they are yours to take with you.               Note: Goods may not always be provided for every Service Offe

What is the difference between Process Owner, Process Manager and Process Practitioner?

I was recently asked to clarify the roles of the Process Owner, Process Manager and Process Practitioner and wanted to share this with you. Roles and Responsibilities: Process Owner – this individual is “Accountable” for the process. They are the goto person and represent this process across the entire organization. They will ensure that the process is clearly defined, designed and documented. They will ensure that the process has a set of Policies for governance. Example: The process owner for Incident management will ensure that all of the activities to Identify, Record, Categorize, Investigate, … all the way to closing the incident are defined and documented with clearly defined roles, responsibilities, handoffs, and deliverables. An example of a policy in could be… “All Incidents must be logged”. Policies are rules that govern the process. Process Owner ensures that all Process activities, (what to do), Procedures (details on how to perform the activity) and the