Designing Modern Service-Based Systems
From a buzzword in the early 2000s, service-oriented architecture (SOA) has evolved into an established paradigm for developing distributed software systems. But SOA today has a different face. Microservices, API gateways, REST constraints, and event-driven messaging are just some of the design concepts that developers of modern service-based systems should be familiar with.
Course attendees will acquire a clear understanding of the main types of design elements and technologies that can be employed in service-based solutions, including REST services, platform-specific services (e.g., gRPC), message brokers and API gateways.
The course also compares microservices and the monolithic deployment model, discusses design alternatives for integrating microservices with external or legacy systems, and overviews other important design decisions, including security, and service deployment.
This course is valuable for
- software and application architects
- developers who use service technologies in their solutions
- project managers and IT personnel responsible for microservice implementations
After attending this course, learners will understand
- benefits and challenges of microservices
- what is necessary to be successful with SOA and microservices
- main types of components found in modern service-based solutions
- important design considerations for service-based solutions
Completion of this course fulfills a training requirement for the SEI's Microservice Architect certificate program.
The following topics are covered in this class:
- quick review of service and related concepts
- the pillars of successful modern SOA and microservice adoption: technology, governance, and architecture
- design considerations for REST services, and services that use platform-specific component technologies
- other elements used in service-based designs: service interceptors, message brokers, API gateways, and orchestration servers
- other design considerations for service-based solutions: microservices vs. monolith, security, and alternatives for integration with external systems
Participants will receive copies of the course presentation slides, the class exercises, and a "cheat sheet" with the most important concepts. Participants will also receive a printed Certificate of Completion at the end of the class.
Participants must have a basic understanding of distributed systems and Web-based applications.
Although the term software architecture is used frequently in today's software industry, its meaning is not universally understood. What is software architecture? How do you use software architectures in practice? What does a software architect do for an organization? What value does software architecture provide? This course introduces the...
2 - Day Course
In modern service-based solutions, services are developed and deployed as microservices. It is not an easy job to create a sound design for systems in this space, which often need to be elastic to thousands of machines, automatically deployable, resilient to simian armies, and accessible via a comprehensive API. There are countless technology and...
Training courses provided by the SEI are not academic courses for academic credit toward a degree. Any certificates provided are evidence of the completion of the courses and are not official academic credentials. For more information about SEI training courses, see Registration Terms and Conditions and Confidentiality of Course Records.