Western Governors University

D786: Microservices Design and Architecture

A guide to WGU's D786, the graduate software engineering course on designing microservices, justifying the pattern and planning their deployment.

Updated October 2026 · 5 min read

D786 is a graduate course in WGU's Master of Science, Software Engineering program, and WGU's guide places it in the Domain Driven Design specialization.

Students analyze what a business needs from its software, follow design principles to create a microservice, explain why the chosen pattern is the most efficient, and then plan how to deploy it.

The course is less about the technology than about judgment. Microservices are not always the right answer, and the strongest submissions compare options honestly, show how services map to business capabilities and describe deployment in a way that eases future change. The guide lists four competency units.

Course at a Glance

ItemDetails
UniversityWestern Governors University (WGU)
Course codeD786
LevelGraduate (4 competency units in the guide)
ProgramM.S. Software Engineering, Domain Driven Design
Subject areaMicroservices, architecture selection and deployment
Typical workA written design assessment for a business scenario

What D786 Covers

The listed competencies show how the assessment is organized:

Competency (summarized)What it means in practice
Evaluate the software architecture that best meets business needsCompare options such as a monolith and microservices against the scenario
Describe design principles for creating a microserviceSingle responsibility, loose coupling, independent data and clear interfaces
Justify the microservice design pattern that gives most efficiencyArgue why this pattern suits this project
Integrate domain-driven design with microservicesUse bounded contexts to decide service boundaries
Create a deployment strategyMake deployment and modification of a service easy and low-risk

Key Concepts Explained

Monolith or Microservices

A monolith is one deployable unit; it is simple to build and test but couples everything together. Microservices split the system into independently deployable services, which helps scaling and team autonomy but adds network calls, data consistency issues and operational work.

Example: A small team building a booking site with steady traffic may be better served by a well-structured monolith. A large retailer whose search, checkout and recommendations scale very differently has a stronger case for separate services.

Service Boundaries

Boundaries that follow business capabilities (orders, payments, inventory) change for one reason, so a change rarely touches several services. Boundaries that follow technical layers create chatty services that must change together.

Example: A payments service owns its own data and exposes a small interface, such as "authorize payment" and "refund payment". Other services call it, but never read its tables directly.

Deployment Strategy

Independent services need independent pipelines, container packaging, versioned interfaces and a way to release gradually. A strategy should say how a service is built, tested, released and rolled back without disturbing the others.

Typical Assignments and How to Approach Them

Task elementWhat it testsHow to approach it
Needs analysisReading business requirementsList the requirements that drive architecture, such as scale, change rate and team size
Architecture comparisonHonest evaluationScore a monolith and microservices against each requirement
Service designApplying principlesDefine one service: purpose, interface, data ownership and dependencies
Deployment strategyOperational thinkingDescribe packaging, pipeline, release method and rollback

A Worked Comparison Table

A comparison table is the clearest way to show you evaluated architecture rather than assumed it. Pick five or six requirements from the scenario, rate each option and add one sentence of reasoning per row.

RequirementMonolithMicroservices
Independent scaling of searchScales as a wholeScale one service
Small team, fast startSimple to beginMore set-up work
Frequent feature changesReleases are coupledSeparate release cycles
Operational skillsLower demandNeeds monitoring and automation

End with a decision sentence that names the winner and the main trade-off you accept. If microservices win, say which capabilities you would split first and why you would not split everything at once.

Where Students Get Stuck

Study Tips for D786

How We Help with D786

Send the scenario, task instructions, rubric and any draft. A writer with a software architecture background can prepare a worked model design for study, explain service boundaries and patterns, or review your own plan for weak justification. Our master's assignment help guide explains the process.

GradeEssays is independent of Western Governors University. Model work is for study and reference; what you submit must be your own under WGU's academic integrity policy, and no outcome is promised. Orders are written from scratch with free revisions within the scope of your original request, and a full refund if late.

Make Sense of Your D786 Task

Share the scenario, rubric and draft. A writer prepares a worked model design you can study.

Start My D786 Help

Free revisions · Full refund if late · Written from scratch for your order

Frequently Asked Questions

Which specialization includes D786?

WGU's program guide lists it in the M.S. Software Engineering, Domain Driven Design plan.

How many competency units is D786?

Four, according to the guide.

Must I choose microservices?

The course asks you to evaluate and justify the architecture that best meets business needs, so a reasoned comparison matters more than the outcome.

How does D786 relate to D788?

D788 teaches domain-driven design in depth; D786 integrates those ideas with microservices to define service boundaries.

What makes a good deployment strategy?

Independent pipelines, versioned interfaces, gradual release and a rollback path for each service.

Do I need to write code?

The listed competencies focus on describing, evaluating, justifying and planning, so expect design documents. Check your task for any code element.