This is a practical academic exercise to incentive the study of DevOps and Software Architecture.
- Understanding motivations to break a monolith
- Using a scientific approach to detail architectural changes
- Promoting the adoption of tests during development step
- Promoting the knowledge of Deployment Pipeline
- Sharing tactics to support deployability, availability and scalability
- Decompose SOA-Monolith (this repository) in PEDIDO service and CLIENTE service, and documenting the Architectural Design Decisions;
- Write the verification of Cliente during recording of a new Pedido;
- Write automated tests (Unit Tests);
- Pass tests trough pipeline (https://circleci.com/ or Jenkins) using docker;
- Deploy Services on Google Cloud or Amazon AWS;
- Monitor the the record of new pedidos with Elastic Search;
- Replicate PEDIDO service (>2 instances) and support availability of ecosystem;
- Step 1.a: The presentation of 2 repositories with the source code of microservices components;
- Step 1.b: The Technical Documentation of architectural decisions;
- Step 2: The presentation of the verification at runtime;
- Step 3: The presentation of source code of Unit Tests;
- Step 4 & 5: Execution of pipeline until deployment;
- Step 6: Show kibana monitoring the recording of new pedidos
- Step 7: "simulate" a PEDIDO service (>2 instances) problem and the automated execution of the selfhealing;
$ mvn clean package
$ mvn spring-boot:run