Guide processes and tool selection using software development best practices
To ensure success with an Enterprise Microservices approach, organizations must recognize where organizational gaps will exist and embrace the organizational changes that are needed for this new model of operation and governance.
Understand where monolithic governance exists
Governance in monolithic applications tends to be centralized. Decisions are made top-down and rigid control is maintained ensuring unified standards across the organization and within the application stack. History has shown that over time, this model degenerates, creating a stagnant technological and architectural system, thus minimizing the ability to innovate and evolve.
Consider changes in governance that will be needed to support microservices
Microservices promote more of a polyglot model regarding technology stacks for supported languages, frameworks, tools, and persistence layers. This is an advantage for enterprises as they enable reusability of assets which become decentralized and owned by the groups dedicated to the specific business capability.
Plan for several aspects of standards and controls
1. Enterprise aspect
Establish a dedicated Microservices enterprise technical governing body to be responsible for:
- Determining who will authorize critical decisions regarding Microservices adoption and usage
- Establishing standards on how decisions will be made, implemented, and monitored
- Providing enterprise-wide services policies
- Arranging mentoring/coaching to the various project teams
2. Technical aspect
- Provide a Microservices Reference Architecture: an architecture guideline for service design and integration with enterprise systems. Deviation from the reference architecture requires additional approval
- Implement and evolve DevOps based on best practices. Creating, testing and deploying Microservices through DevOps tools and automation
- Develop and formalize common infrastructural services
- Evolve towards fine-grained services though composition and orchestration
- Rely on service monitoring and management including: management and monitoring of access policies, Quality of Service metrics and Key Performance Indicators to gauge throughput and performance
3. Business aspect
- Work to ensure alignment of the IT organization with the business. Establish the processes and IT mission to align with the business capability of the Microservice
- Emphasize the reusability of services and rapid time-to-value through independence
- Select and empower a dedicated Microservices enterprise technical governing body
- Publish reference architectures for chosen language environments
- Create access policies, Quality of Service metrics, Key Performance Indicators and DevOps best-practices guides
- Identify aspects of the enterprise business that overlap and can be merged
- Do you understand where monolithic governance exists?
- Have you considered what changes in governance will be needed to support microservices?
- Have you established standards and controls at the enterprise, business and technical levels?