Course Outline
Introduction
- System and service architecture, Platform as a Service (PaaS), and cloud-native design for government operations
Overview of Monolithic System Architecture
- Operating the entire functionality of monolithic applications within a single process for government services
- Achieving scalability through replication across multiple servers in public sector environments
- Protocols utilized in monolithic systems, such as Enterprise Application Integration (EAI) and Common Object Request Broker Architecture (CORBA), for government applications
Overview of Web Services
- Service-Oriented Architecture (SOA) and Microservices Architecture for government IT systems
Service-Oriented Architecture (SOA)
- Benefits and costs associated with implementing SOA for government agencies
- Case studies of successes and failures in SOA implementation within the public sector
- Messaging and Enterprise Service Bus (ESB) for government communication
- Infrastructure and tools supporting SOA in government IT environments
How Microservices Implement Web Service Concepts
- Focusing on a single responsibility and performing it effectively for government services
- DevOps practices in government IT operations
- Continuous Deployment and Delivery, including Continuous Integration and build processes for government applications
- Utilizing lightweight protocols in microservices for government systems
Microservice Protocols and Standards
- Protocols such as HTTP, Java Message Service (JMS), Advanced Message Queuing Protocol (AMQP), WebSockets, and JSON for government microservices
Development Frameworks for Building Microservices
- Java-based frameworks, including Spring Cloud, for government microservice development
- JavaScript-based frameworks, such as Seneca, for government IT projects
Decomposing a Monolith Application
- Creating independently deployable applications for government services
- Organizing microservice applications around business capabilities in the public sector
- Case study: Transitioning a monolithic application to three core microservices for government use
Setting up a Spring Cloud Development Environment
- Configuring Docker and Docker Compose for government IT development
- Setting environment variables for government microservice applications
Overview of Spring Cloud and Spring Boot
- Spring Cloud sub-projects, including Config Server & Bus, Eureka, Ribbon, Feign, and Hystrix, for government microservices
- Spring Boot framework for government application development
Creating a Spring Boot Application
Centralized, Versioned Configuration Management with Spring Cloud Config
Dynamic Configuration Updates with Spring Cloud Bus
Service Discovery with Eureka
Load Balancing with Ribbon
Applying Circuit Breakers with Hystrix
Declarative REST Clients with Feign
Working with API Gateway for Government Services
Securing a Microservice Application in the Public Sector
Tracing Microservices to Identify Latencies in Government Systems
Deploying Microservices for Government Operations
- Utilizing containers (Docker, Kubernetes, LXC, etc.) in government IT environments
- Configuration management tools (Ansible, etc.) for government microservices
- Service discovery mechanisms for government applications
- Monitoring and managing microservices in the public sector
- Infrastructure for supporting microservices in government IT
Cloud and Auto Scalability of Microservices for Government Operations
- Ensuring microservice redundancy and fail-over in government systems
- Achieving performance scalability for government microservices
- Implementing auto-scalability in government IT environments
- Deploying microservices on cloud platforms such as OpenStack, AWS, and others for government use
Troubleshooting Common Problems for Distributed Applications in Government IT
- Complexity of the ecosystem in government IT operations
- Network performance issues in government microservices
- Security challenges in government IT systems
- Deployment issues for government microservices
- Testing and quality assurance in government IT projects
- Challenges of nano-services in government applications
Final Considerations for Building Production-Ready Systems for Government Operations
- Ensuring the system is user-friendly and accessible to beginners in government IT
- Designing a comprehensive system that can serve as a robust foundation for enterprise applications in the public sector
Summary and Conclusion
Requirements
- An understanding of software and system engineering principles
- Experience in Java development
- Familiarity with the Spring Framework
Audience
- Java developers seeking to efficiently build and deploy microservices for government applications
- System architects aiming to implement a robust microservice architecture
Testimonials (3)
Practise exercises in EA.
Pawel - Krajowa Szkola Skarbowosci
Course - UML in Enterprise Architect (workshops)
Good trainer and process of training
Mateusz Mical - Research and Development Center Bury Sp. z o .o.
Course - Systems Modeling with SysML and Enterprise Architect (EA)
The feedback I have received from the team is that the instructor was knowledgable.