Course Outline
Day 1 – Go Fundamentals and Microservices Architecture
Overview of Go: syntax, tools, and modules for government applications.
Microservices architecture: principles, benefits, and approaches for enhancing public sector operations.
Building REST APIs with the Gin framework to support efficient service delivery.
Introduction to GoFR as a modern alternative for government projects.
Introduction to concurrent programming: goroutines and channels for optimizing performance in government systems.
Guided project: building a simple REST microservice for government use.
Day 2 – Concurrency, Event-Driven Systems, and gRPC
Asynchronous approach: designing microservices that interact with external systems to improve responsiveness in government services.
Kafka: building publishers and consumers in Go for robust event-driven architectures in public sector applications.
REST vs gRPC: comparison of protocols for government communication standards.
RPC lifecycle and gRPC API models (unary, streaming, bidirectional) for efficient data exchange in government systems.
Error handling and timeout management in gRPC to ensure reliability and performance in public sector services.
Installing and configuring gRPC and Go Micro for government projects.
Hands-on exercises: implementing microservices using gRPC for government use cases.
Day 3 – Security, Logging, and Deployment
Security: JWT authentication and OpenID Connect to protect government data and services.
Logging and observability in Go microservices to ensure transparency and accountability in public sector operations.
Authorization and access control with the PermGuard approach for secure government applications.
Dockerizing and orchestrating with Kubernetes to streamline deployment and management of government systems.
Organizing code with Go Workspaces for efficient development and maintenance of government projects.
Lab: securing an existing microservice for government use.
Summary and Next Steps for advancing government microservices initiatives.
Requirements
- An understanding of software development for government
- Experience with Golang
- Basic programming experience
Audience
- Developers
- Software Architects
Testimonials (3)
the technical preparation of teachers
Giorgio - Asystel-BDF S.p.A.
Course - Creating a Service Mesh with Istio and Kubernetes
The practices
Ivan - si
Course - Spring Cloud for Microservices
I liked that the lecturer was very well prepared and he managed to engage the audience. The course was a combination of theory and practice and I enjoyed it very much.