Duration
1 Days
6 CPD hours
This course is intended for
This overview-level course is ideally suited for professionals seeking an introduction to microservices architecture and its application within a business context. Ideal attendee roles include software developers, system architects, technical managers, and IT professionals who are part of teams transitioning to a microservices approach. It's also an excellent starting point for non-technical roles such as product owners or business analysts who work closely with technical teams and want to better understand and become conversant in the language and principles of microservices.
Overview
This course combines engaging instructor-led presentations and useful demonstrations with engaging group activities. Throughout the course you'll explore:
Understand the Basics of Microservices: Get to know the fundamental principles and characteristics of microservices and how they revolutionize traditional software development approaches.
Explore the Design of Microservices: Gain an overview of how microservices are designed based on business requirements and what makes them unique in the software architecture world.
Overview of Managing and Scaling Microservices: Get an introduction to how microservices are managed and scaled independently, and understand the significance of these features in your business operations.
Familiarize with the Microservices Ecosystem: Learn about the typical patterns, best practices, and common pitfalls in the microservices world, setting a foundation for future learning and implementation.
Introduction to Microservices in a Business Context: Acquire a basic understanding of how microservices can be aligned with specific business capabilities, and get a glimpse into how they can coexist with legacy systems in a business setting.
Microservices have rapidly emerged as a popular architectural style, breaking down applications into small, independent services that can be developed, deployed, and scaled individually. Microservices offer a robust method to address a variety of projects, such as e-commerce platforms and content management systems, enhancing scalability and boosting productivity. This technology, when employed correctly, can greatly increase software delivery speed and system resilience, making it a crucial skill set for modern technology professionals.Understanding Microservices - A Technical Overview is a one-day course ideally suited for technical professionals seeking an introduction to microservices architecture and its application within a business context. Under the guidance of an industry expert, this engaging class combines lecture-style learning with lively demonstrations, case study review and group discussions.Throughout the course you?ll explore the principles and characteristics that define microservices, how to identify suitable projects for a microservices approach, the factors to consider when designing them, and the strategies to effectively manage and scale them within complex systems. You?ll also learn about the best practices, patterns, and anti-patterns, arming you with the knowledge to make the right architectural choices. This course also explores the real-world implementation of microservices in a business enterprise. We'll discuss how to align the application of microservices with your organization's specific business capabilities, and offer strategies for smoothly integrating this technology within existing legacy systems.
Introduction to Microservices
Understand what microservices are and their role in modern software development.
Introduction to Microservices: what they are and why they matter.
Monolithic vs Microservices: highlighting the shift and benefits.
Key principles and characteristics of microservices.
Identifying suitable applications for microservices transformation.
Demo: Analyzing a sample application and identifying potential microservices
Architecting and Managing Microservices
Learn the basic strategies for scaling and managing microservices.
Scaling Microservices: from a single service to hundreds.
Key components of a microservices architecture.
Introduction to resilience patterns: Circuit-Breakers and Bulkheads.
Load management and provisioning in a microservices setup.
Understanding the role of cloud services in microservices.
Optional Demo: Illustrating how a microservice-based application scales in real-time
Designing Microservices
Learn the key aspects to consider when designing microservices.
Defining microservice boundaries: Deciding the scope of a microservice.
Communication patterns in microservices.
Understanding Microservice endpoints.
Exploring data stores and transaction boundaries in microservices.
Overcoming challenges in Microservices design.
Demo: Designing microservices for a hypothetical business requirement
Implementing Microservices in a Business Enterprise
Understand the process and considerations for implementing microservices in an enterprise context.
Assessing enterprise readiness for microservices.
Building the business case for microservices: strategic advantages and potential challenges.
Aligning microservices with business capabilities.
Organizational changes: Team structures and processes for microservices.
Dealing with Legacy Systems: Strategies for microservices integration.
Demo: Exploring a case study of successful microservices implementation in a business enterprise
The Microservices Ecosystem
Understand the key tools and best practices in the Microservices ecosystem.
Understanding the typical Microservices Stack.
Monitoring and Logging in Microservices.
Introduction to Docker: Containerization of Microservices.
Deployment strategies in a Microservices setup.
Introduction to Orchestration in Microservices
Demo: Containerizing and deploying a simple microservice
Microservices Deployment Strategies
Understand various ways to safely introduce changes in a microservices environment.
The concept of Blue-Green Deployment: changing services without downtime.
Canary Releases and Feature Toggles: slowly rolling out changes to users.
Database changes in a microservices environment: keeping data consistent.
Demo: Examining various deployment strategies
Microservices Best Practices and DevOps
Learn key strategies to ensure a smooth operation of your microservices setup.
The DevOps culture in Microservices: collaboration for efficiency.
Defining a Minimum Viable Product in a Microservices setup: building small, delivering fast.
Dealing with data in a distributed setup: managing Data Islands.
The importance of Continuous Integration/Continuous Delivery in a microservices setup.
Governance: Keeping track of your services and their consumers.
Demo: Visualizing a simple continuous delivery pipeline
Microservices Patterns and Anti-Patterns
Learn about common do's and don'ts when working with microservices.
Understanding patterns that help with efficient microservices operation.
Recognizing and avoiding anti-patterns that can hinder performance.
Dealing with common challenges: dependencies between services, managing service boundaries.
Demo: Examples of real-world patterns and anti-patterns
Simple Overview of OAuth and OpenID for Microservices
Introduction to OAuth and OpenID: What they are and why they matter in Microservices.
The role of tokens in OAuth 2.0: How they help in securing communications.
A simplified look at OpenID Connect: Linking identities across services.
Demo