March 22, 2017 by Microservices Training, Training

Microservices Architecture: Best Practices, Tools and Frameworks (Java-based)

Day 1

Title Description Tools and Frameworks
Introduction to Cloud Native Development
Introduction Agenda for the training.
Introduction to cloud platforms Platforms overview. Verification of the environment configuration Cloud Foundry or a container-based platform
Monoliths and microservices Use cases where microservices can be useful. Examples of use cases where microservices shouldn’t be used..
Orchestration vs. choreography Comparison of both approaches based on the example in the previous step. Decomposing a monolithic architecture into microservices
12-factor apps with examples
Introduction to Spring Boot Spring Boot overview. The most important Spring Boot components. Comparing Spring Boot with Spring. Create a simple REST service Spring Boot
Codebase What happens when multiple apps use the same codebase? What are the consequences?
Dependencies Why is it a bad idea to use indirectly defined dependencies? How can they affect applications which are provisioned automatically?
Configuration Working with environment variables.Change log level in the runtime. @RefreshScope and services like Spring Cloud Config
Services Spring Cloud and services configuration Data Services
Build, release, and run Define goals for each of the stages.
Processes Working with persistent information: sessions, files, etc.Use Redis and sessionManager to keep a session in a DB. Run two instances and test the connection. Redis, SessionManager
Network operations CF Network operations, TCP routing.
Concurrency Comparing platforms. What approaches do they provide for scalability?
Disposability Application life cycle. What can an application running on the platform do at shutdown?
Dev/Prod parity The difference between dev and prod environments, how to use third-party services, and the changes that need to be introduced to the team structure and developers’ mindset. Emulate similar local and production environments. Vagrant

Day 2

Title Description Tools and Frameworks
Logs Log processing. The Cloud approach to working with logs: Elasticsearch/ Logstash/ Kibana. Send logs to ELK and read values on the dashboard. Log management, Elasticsearch, Logstash, Kibana
Admin processes Why use a unified approach when working with even minor changes? An example with Liquibase. Manage changes to the DB schema in dev/QA/prod environments Liquibase
Security Web app SSO, configuring TLS, HTTPS, security key management. Demo. How to use the SSL service.
Service discovery General concepts of service discovery with examples for Eureka Eureka
Blue-green deployments Domains and routes in Cloud Foundry. Blue-green deployments. Upgrade an application in zero-downtime mode.
Trade-offs and benefits of local vs. remote calls between services The pros and cons of both approaches. Hystrix. Session propagation. Create another REST service and use Hystrix for cross-service communication. Hystrix
Trouble-shooting Debugging techniques, remote debugging. Troubleshooting containerized services. Debug
Continuous delivery and continuous integration How to work with CI/CD tools with examples for Concourse. Organize a development process using Concourse continuous delivery.
Metrics and monitoring Tools and services. Examples.


© 2001–2019 Altoros