In the context of IT, governance can be defined as the “model that connects people, processes, and technology to deliver value to the stakeholders”.
The term “Governance” often used in the context of governing countries or states with rules and regulations. In the context of Information Technology (IT), governance can be defined as the “model that connects people, processes, and technology to deliver value to the stakeholders”. Given below are a couple of definitions found on the web.
“IT governance provides a structure for aligning IT strategy with business strategy” — _source: [https://www.cio.com/article/2438931/governanceit-governance-definition-and-solutions.html_](https://www.cio.com/article/2438931/governanceit-governance-definition-and-solutions.html)
“IT Governance is a process used to monitor and control key information technology capability decisions — in an attempt — to ensure the delivery of value to key stakeholders in an organization” — _source: [https://cio-wiki.org/wiki/IT_Governance_](https://cio-wiki.org/wiki/IT_Governance)
If we simplify the above definitions, IT governance talks about the connection between people, processes, and technology to deliver value to stakeholders. This same concept is depicted in the below figure.
Figure: IT governance in a nutshell
As depicted in the above figure, IT governance process interacts with 3 main components within an enterprise IT ecosystem.
This is where the organizational structures, teams, and individuals are identified and assigned with specific functions as part of the service delivery. This includes people with various skills including developers, architects, business analysts, CXOs, and many other stakeholders involved in the process of IT services delivery.
From the requirement identification to the final delivery of the business functionality as a service through the IT ecosystem, these various actors (roles) interacts with themselves as well as the underlying processes and technology. Different roles need a different set of permissions to implement the governance model so that stability, integrity, and accountability is maintained.
Processes are the definitions that put governance over technology and people. This comprises of policies, standards, best practices, roles (user management), etc. People are required to honor these processes when utilizing technology to deliver IT services. In the context of the microservices, processes are centered around individual teams, yet governed through a central control plane.
This is where the actual work of developing, testing, deploying, and delivering the services happen. People use these technology components to deliver value to the key stakeholders under the governance of the processes.
At the end of the day, the final outcome of a proper governance model is to deliver value to the stakeholders (e.g. consumers, partners) with accountability and transparency. If we analyze most of the failed IT projects, one of the most common root causes of the failure is the lack of governance. Understanding and the visibility of the project within the wider business organization is very low in those projects.
With that brief introduction to IT governance, let’s direct our attention to the topic of this research which is “microservices governance”.
According to the renown technology guru Martin Fowler,
“The term “Microservice Architecture” has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data”
The above definition is somewhat detailed and if we summarized that, microservices architecture is a “software development practice where teams develop, deploy and manage services independently which are self-contained and serve a specific business purpose”.
Let’s expand this definition to microservices governance. “Microservices governance is a process that helps people to manage the microservices development to deliver key results to the business stakeholders”. In other terms, it is a process that helps an organization to align its’ business goals with the microservices initiatives through a set of defined policies and standards without hindering the advantages of the same.
One of the common misconceptions in the world of technology is that putting process and policies over a microservices development team can hinder their innovation and delivery speeds. Even though there can be some impact, it is far more important to have that when the organization becomes larger and having to deliver 100s of different services as microservices.
Figure: microservices, governance, and business goals
The above figure specifies the key characteristics of microservices teams, governance, and business requirements and how they are interconnected when building a governance framework for microservices.
What is API product management and what can you be doing to be a better API product manager — get aligned with SaaS and enterprise software requirements. This guide lays out what is API product management and some of the things you should be doing to be a good product manager.
Learn what are the most important API security threats engineering leaders should be aware of and steps you can take to prevent them
SOA Governance is not API Management. But it is making a comeback through microservices, this time along with API Management.
Interview results from surveying Product Managers at API-first San Francisco companies who have revenue in excess of $100M. let's dive into API-First Product Managers’ Popular API Tools and API Metrics
When selecting a solution for managing your APIs, assess its ease of use, manageability, governance, security, and breadth of features.