Code Monkey home page Code Monkey logo

rpicanco / microservicearchitecturesolutionframework Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 1.32 MB

This project aims to propose a Microservice Architecture Solution Framework for standardizing deliverables in Microservices Architecture projects.

microservices software-development software-engineering solution-architecture software-architecture microservice-pattern domain-driven-design behavior-driven-development infrastructure-as-code c4-model

microservicearchitecturesolutionframework's Introduction

Microservice Architecture Solution Framework


Table of Contents
  1. About the Project
  2. What is the purpose of this framework?
  3. Boundaries' deliverables

About the Project

The aim of this project is to propose a Microservice Architecture Solution Framework for standardizing deliverables in Microservices Architecture projects. It was designed with boundaries and deliverables. Each boundary has many deliverables and they can be done in any order and/or in parallel and being enriched throughout the project lifecycle.

What is the purpose of this framework?

You have been invited to a new initiative in your consulting firm for leading the first Microservice Architecture (MSA) project to an important client. So, where to start?

When adopting a MSA, there are some important benefits for your business that we must consider:

  • Agility;
  • Resilient / Fault isolation;
  • Scalability;
  • High availability;
  • Mix of technologies;
  • Easy and fast deployment of new functionalities/ideias in production (fast Time to Market).

After acquiring the aforementioned benefits, we're justifying the use of this complex architecture in comparison to a monolithic architecture.

The main problem when companies are running a MSA is not to achieve those benefits, either because it doesn't follow some best practices or there is no guideline to help them. That means you're running a complex architecture without achieving their benefits that justify its adoption.

What to deliver beyond code to achieve those benefits and, in consequence, to become a competitive company in the market?

Many clients believe the MSA project has only the "coding phase", if in the beginning of the MSA project the developers are coding, which means the MSA project is going well.

Unfortunately, this kind of mindset is very common, either because of being pressured on scope or; deadlines or even budget. Consequently the neglected part has been a deep understanding of the client’s problem by getting to know the client’s business domain, as well as being aware of the functional and nonfunctional requirements and test scenarios using some methodology like Behaviour Driven Development (BDD).

If the understanding of the client’s problem and test scenarios are not clearly understood and aligned with stakeholders since the early stages of the MSA project, it will be doomed.

The main purpose of the framework is to standardize the MSA project through well-defined and straightforward deliverables, being a reference guide that helps the companies to achieve those benefits.

To conclude, as each MSA project has its own needs and has its own peculiarities, not all deliverables are applied to all types of MSA project, such as: re-architecting; greenfield; redesign a poorly designed MSA project, as well as a Minimum Viable Product (MVP) project.

Business Domain Boudary

Deliverables
  1. Domain Discovery
  2. Functional Requirements
  3. Bounded Contexts Context Mapping
  4. System Context Diagram
  5. Microservice Catalog

Solution Architecture Boudary

Deliverables
  1. Architecture Solution Design
  2. Microservice Patterns
  3. Architecture Decision Records
  4. Architectural Caracteristics
  5. Event Specification (AsyncAPI)
  6. Constraints Records
  7. API Management
  8. UML Behavioral Diagrams
  9. Container Diagram

Software Architecture Boudary

Deliverables
  1. Architecture Software Design
  2. Microservice Archetype
  3. UML Structure Diagrams
  4. Coding Standards and Guidelines
  5. Branching Workflow

Development Boudary

Deliverables
  1. Microservice API Design (OpenAPI)
  2. Microservice Specification
  3. Features & Scenarios - Behaviour Driven
  4. Test Automation
  5. Source Code

Delivery Boudary

Deliverables
  1. Deployment Diagram
  2. Infrastructure As Code (IaC)
  3. Deployment Pipeline Flow (CI/CD)
  4. Monitoring
  5. Chaos Engineering

microservicearchitecturesolutionframework's People

Contributors

rpicanco avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.