
Understand why microservices dominate modern software architectures and how to secure them across applications, networks, and data. The course delivers practical guidance, a checklist, and threat modeling calls to action.
Identify if you fit this course, with a software architecture background, development experience, and backend focus, covering microservices and security, with no coding required.
Outline the course agenda, covering microservices basics, software security fundamentals, threat modeling, secure architecture with five perimeters, and service mesh with logging and monitoring.
Explore the origins of microservices, compare monolith and SOA, and prepare for a security-focused discussion by defining why microservices emerged.
Explore the monolith architecture, the original, still used in many apps. It runs all components in a single process, creates tight coupling and silos, with no external API.
Discover how service-oriented architecture exposes functionality as shared services via a defined API, metadata, SOAP and WSDL. Compare SOA's ESB mediation, cross-cutting concerns, and polyglot, platform-agnostic communication, with monolith limits.
Explore the problems of monolith and SOA, including single technology platforms, inflexible deployment, inefficient compute, and costly ESB tooling, and see how microservices address these goals.
Explore the origins and core attributes of microservices architecture. Learn Martin Fowler's nine characteristics, including componentization via services and decentralized data management.
Explore how microservices address monolith and service oriented architecture problems: decentralized governance, independent deployment, resource isolation, simple rest communication, and automated tooling.
Explore the software security landscape and distinguish common myths from the core concept of security. Define what software security truly means beyond fake logins, DDoS, and identity theft.
Protect against data loss, disruption of service, data leak, and data inconsistency by understanding how software security safeguards sensitive information.
Learn essential software security terminology, including threats, attacks, vulnerabilities, authentication, and authorization, with examples like SQL injection and DDoS to align security discussions in microservices.
Explore how every role—from CIO and CISO to architects, developers, and QA—shares responsibility for security, emphasizing secure architecture, secure operations, and security testing.
Explore threat modeling as the core of secure architecture, identifying threats and mitigating risks with key stakeholders including the project manager, architect, dev manager, system analyst, and CISO.
Identify potential threats early through a methodical threat modeling process centered on four questions: what do we build, what can go wrong, how can we mitigate, did we succeed.
Start threat modeling at the beginning of project with requirements, and repeat after major changes or security incident, using a whiteboard, a supervisor, and four-question agenda to produce a summary.
Explore threat modeling methodologies for microservices security, with a focus on STRIDE’s spoofing, tampering, repudiation, information disclosure, denial of service, and elevation of privilege, and how flow diagrams guide mitigations.
Explore threat modeling tools that use data flow diagrams and the STRIDE methodology, including the Microsoft Threat Modeling Tool and Threat Dragon by OWASP, with desktop and web-app options.
Summarize threat modeling as a process to identify threats early in lifecycle, with the team answering what we build, what can go wrong, how we mitigate, and did we succeed.
Design a secure architecture guided by threat modeling, integrating security into the architecture process and producing a secure architecture document.
Learn the security parameters paradigm that frames software as nested perimeters from physical to data. Architects focus on protecting the application and data across these layers to thwart hacker breaches.
Identify the physical security perimeter that controls access to hardware and data centers, and note that architects should stay aware of it, including measures like keycards and biometrics.
Learn essential network security, including access control with authentication engines and MFA, and reliability against DDoS via firewalls, segmentation, and IPS. Architects actively incorporate these controls in system design.
Secure the platform by protecting the underlying infrastructure, including modern operating systems, patch management, antivirus, and data loss prevention, with architects ensuring compatible OS versions and policy implementation.
Architects map and design the application and data security perimeter within the secure architecture process, guiding authentication, secure code, APIs, databases, and external components to ensure a secure system.
Explain authentication as verifying identity to control access, log activities, and prevent data leaks. Explore the three components: user store, authentication engine, and software component, plus flows and OAuth2.
Explore OAuth2 as a standard for authentication and authorization, detailing the user, client app, authorization server, and resource server flow, including access tokens, JWTs, and bearer headers.
Select the authentication engine and hybrid user store design, define the business data schema, choose the authentication type and OAuth2 protocol, and collaborate with IT and development teams.
Explore how authorization grants and restricts privileges for actions and data, implement RBAC with users, roles, and privileges, and apply action and data authorization in dotnet core and node js.
Secure communication protects data in transit with TLS, authenticates parties, and prevents eavesdropping and man-in-the-middle attacks, with architects coordinating IT to implement TLS.
Adopt secure coding practices to educate developers and reduce threats. Shield against SQL injection, cross-site scripting, and data exposure with input validation, parameterized queries, and HTML encoding.
Protect data in databases by implementing encryption, strict access, and least-privilege controls. Choose built-in database encryption whenever possible, and manage keys securely in stores like Azure KeyVault.
Learn how logging and monitoring provide a holistic view, alert for security events, and detect threats through metrics like login activity, errors, and request spikes.
Explore how to implement security in microservices-based systems across distributed components. Apply core security principles to secure each service and adapt them to moving parts and value security perimeters.
Learn how to secure microservices networks using TLS, IP whitelisting, network security groups, and API gateway features such as authentication, rate limiting, and header validation.
Explore identity security in microservices by contrasting service identity and user identity, and compare API keys, tokens, OAuth2, and JWT for service to service and end user authentication and authorization.
Secure microservices data by encrypting all data across multiple databases, recognizing that data security principles mirror those of regular architectures.
Differentiate external and internal microservices, discuss TLS strategies (end-to-end, TLS offloading, and IP-restricted offloading), and balance security with performance while restricting internal service access.
Explore the service mesh, a key concept in microservices architecture that manages all service-to-service communication. Learn how it provides platform-agnostic services and why it is a hot but misunderstood topic.
Explore how a service mesh solves interservice communication challenges, including timeouts, security, retries, and monitoring, by handling protocol conversion, authentication, reliability, circuit breaking, and load balancing.
Explore the anatomy of a service mesh, detailing how the data plane handles protocol conversion, security, circuit breakers, retries, and time-out handling, while the control plane configures and monitors planes.
Compare in-process and sidecar service meshes, noting in-process offers performance with a single mesh-to-mesh call, while sidecar is platform and code agnostic and more popular.
Explores popular service mesh implementations for microservices, including in-process and sidecar options such as Istio, LinkerD, Maesh, and DDS. It advises choosing one and avoiding custom low-level implementations.
Discover how service mesh secures microservices with TLS encryption, IP access control, and identity security features like certificates, OAuth, and RBAC, plus logging and auditing for traceability.
Master logging and monitoring for microservices by stitching distributed processes into a holistic view, addressing architecture challenges, and implementing correct logging and monitoring practices.
Differentiate logging from monitoring by showing how logging records system and user activity, errors, and audits, while monitoring tracks metrics and triggers alerts to keep microservices reliable.
Learn to implement centralized logging for microservices by using a single library, queue-based transport, and a central log store with correlation IDs for end-to-end tracing.
Implement monitoring by tracking metrics, detecting anomalies, and triggering alerts through Kibana dashboards, distinguishing infrastructure monitoring with server metrics and agents from application monitoring using app logs.
Learn how logging and monitoring support security by documenting incidents such as unauthorized access, SQL injection, and DDoS, and how SIEM tools provide a unified security view.
Download the microservices security checklist from the resources section to follow a step-by-step, architect-focused guide for securing microservices and become a better architect.
Explore microservices fundamentals and security, covering threat modeling, secure architecture, and the five perimeters—physical, network, platform, application, and data—plus service mesh and monitoring to build secure architectures.
Software Security is one of the most important aspects of Software Architecture these days.
Almost every day you hear about new security incidents which caused data leaks, disruption of service, and often - billions of dollar in damages. In fact - some companies even shut down because of that.
You, as as software architect, have the responsibility to make sure your architecture is as secure as possible.
You simply cannot allow yourself to release a system that is not secure. These days, it's simply unacceptable.
And with microservices systems - the challenges are even bigger.
Securing microservices architecture is more difficult than regular, monolith systems. There are unique challenges with microservices that should be taken care of, and if you're designing such an architecture - you have to be well aware of them.
Now, in order to design secure microservices architecture, you must be well versed in all security aspects of software design.
And this is exactly what this course is for.
This course will teach you all you need to know, as an architect, regarding microservices security. When completing the course, you'll have the necessary knowledge to design secure microservices architecture.
Now, I strongly believe that talking just about secure microservices architecture is not enough. In order to be a really great architect you must have a holistic view of all aspects of software security.
And because of that, this course covers all the bases of software security.
Here is a partial list of what we'll talk about in this course:
- What is Security?
- Threat Modeling
- The Five Perimeters of software security
- Some common attacks and how to defend from them
- Authentication and Authorization
- Encryption
- Secure Communication
And lots and lots more...
In addition, in this course we'll cover the basics of microservices architecture, so that you'll get a pretty good idea about this great architectural pattern, and also discuss the unique challenges of securing microservices architecture.
In this course you'll also learn the terminology of Software Security, and you'll encounter terms such as SQL Injection, MFA, MITM and more. Don't worry - we'll explain everything, and will make sure you fully understand these terms.
In fact, you don't have to have any prior knowledge of software security. We'll start from the very beginning.
After completing this course you'll have everything you need in order to design a microservices architecture that is as secure as possible.
But that's not all...
At the end of this course, you'll be able to download the Secure Microservices Architecture Checklist, a comprehensive checklist that will guide you through the process of designing secure microservices systems, and provides a step-by-step guidance for each step.
Using this checklist will ensure your system is as secure as possible, will make your client happy, and, most important - will make you a better architect.
This course takes you from the absolute basics of Software Security to the most advanced topics, known only to a few. Completing this course will give you all the knowledge required for designing secure systems, and, as a bonus, will put you in a great position when looking for your next job.
No other course covers this topic in such a comprehensive and thorough way. I've put all my 20+ years of experience with hundreds of clients in this course, and I'm sure you will greatly benefit from it.
------------------------------------------------------------
What do my students have to say about my courses?
------------------------------------------------------------
"well done - The course was very practical" - Sam
"Absolutely what a software architect needs to know about Microservices architecture, great explanation!!" - Saibal
"[The course] given me the confidence to go out to the market and advertise myself as such [an Architect]" - Mathew
"Life Changing" - Arivazhagan
And lots more...
------------------------------------------------------------
Who is this course for?
------------------------------------------------------------
Any person who is involved in development, even system analysts, can profit from this course.
That includes:
- Junior developers
- Senior developers
- Architects
- Anyone who is interested in software security.
If you're not sure if this course is for you - drop me a note!
------------------------------------------------------------
What are the prerequisites for this course?
------------------------------------------------------------
It's a good idea to have some basic knowledge about microservices architecture, but it's not a must.
In any case, you don't have to have any prior knowledge of software security!
------------------------------------------------------------
About Me
------------------------------------------------------------
I've been in the software industry for more than 25 years, and a Software Architect for more than 20 years, working with a variety of clients - Fortune 100 enterprises, start-ups, govt. entities, defense, telco, banking, and lots more.
I'm a certified Azure Solution Architect & Security Engineer.
I'm also an avid speaker and trainer, having trained thousands of students in various courses.
I love what I do, and my greatest passion (well, besides my family...) is designing modern, practical, and reliable systems for my clients, using the best possible architecture patterns.