All Projects → humank → ddd-practitioners-ref

humank / ddd-practitioners-ref

Licence: other
EventStorming workshop, this is a hands-on workshop. Contains such topics: DDD, Event storming, Specification by example. Including the AWS product : Serverless Lambda , DynamoDB, Fargate, CloudWatch.

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to ddd-practitioners-ref

Eventstormingworkshop
EventStorming workshop, this is a hands-on workshop. Contains such topics: DDD, Event storming, Specification by example. Including the AWS product : Serverless Lambda , DynamoDB, Fargate, CloudWatch.
Stars: ✭ 184 (-33.33%)
Mutual labels:  ddd, container, ecs
terraform-aws-ecs-alb-service-task
Terraform module which implements an ECS service which exposes a web service via ALB.
Stars: ✭ 108 (-60.87%)
Mutual labels:  container, ecs, fargate
Containers Roadmap
This is the public roadmap for AWS container services (ECS, ECR, Fargate, and EKS).
Stars: ✭ 4,132 (+1397.1%)
Mutual labels:  ecs, fargate
ecs-gen
docker-gen for AWS ECS
Stars: ✭ 46 (-83.33%)
Mutual labels:  container, ecs
Ecs Nginx Proxy
Reverse proxy for AWS ECS. Lets you address your docker containers by sub domain.
Stars: ✭ 93 (-66.3%)
Mutual labels:  container, ecs
xilution-selenium-grid
A Selenium Grid that Runs in AWS ECS Fargate.
Stars: ✭ 22 (-92.03%)
Mutual labels:  ecs, fargate
herogate
Heroku + AWS Fargate = Herogate 🚀 Deploy and manage containerized applications like Heroku on AWS
Stars: ✭ 17 (-93.84%)
Mutual labels:  ecs, fargate
Aws Scalable Big Blue Button Example
Demonstration of how to deploy a scalable video conference solution based on Big Blue Button
Stars: ✭ 29 (-89.49%)
Mutual labels:  container, ecs
ecs-taskmetadata-cloudwatch
An example sidecar container for Amazon ECS and AWS Fargate to enable task/container-level metrics on CloudWatch
Stars: ✭ 17 (-93.84%)
Mutual labels:  ecs, fargate
Aws Containers Task Definitions
Task Definitions for running common applications Amazon ECS
Stars: ✭ 210 (-23.91%)
Mutual labels:  container, ecs
Designing Cloud Native Microservices On Aws
Introduce a fluent way to design cloud native microservices via EventStorming workshop, this is a hands-on workshop. Contains such topics: DDD, Event storming, Specification by example. Including the AWS product : Serverless Lambda , DynamoDB, Fargate, CloudWatch.
Stars: ✭ 131 (-52.54%)
Mutual labels:  ddd, ecs
fargate-game-servers
This repository contains an example solution on how to scale a fleet of game servers on AWS Fargate on Elastic Container Service and route players to game sessions using a Serverless backend. Game Server data is stored in ElastiCache Redis. All resources are deployed with Infrastructure as Code using CloudFormation, Serverless Application Model,…
Stars: ✭ 30 (-89.13%)
Mutual labels:  ecs, fargate
ecsgo
Provides an interactive prompt to connect to ECS Containers using the ECS ExecuteCommand API.
Stars: ✭ 30 (-89.13%)
Mutual labels:  ecs, fargate
terraform-ecs-fargate-nlb
A Terraform template used for provisioning network application stacks on AWS ECS Fargate
Stars: ✭ 50 (-81.88%)
Mutual labels:  ecs, fargate
aws-ecs-orb
An orb that simplifies deployment to Amazon's Elastic Container Service (ECS). Supports both EC2 and Fargate launch types.
Stars: ✭ 48 (-82.61%)
Mutual labels:  ecs, fargate
Cdk Constructs
A collection of higher-level aws cdk constructs: slack-approval-workflow, #slack & msteams notifications, chatops, blue-green-container-deployment, codecommit-backup, OWASP dependency-check, contentful-webhook, github-webhook, stripe-webhook, static-website, pull-request-check, pull-request-approval-rule, codepipeline-merge-action, codepipeline-check-parameter-action...
Stars: ✭ 282 (+2.17%)
Mutual labels:  container, ecs
container-demo
How can I manage microservices using ecs-cli?
Stars: ✭ 30 (-89.13%)
Mutual labels:  ecs, fargate
Firecamp
Serverless Platform for the stateful services
Stars: ✭ 194 (-29.71%)
Mutual labels:  container, ecs
terraform-aws-fargate
Terraform module to provision a Fargate-ready AWS infrastructure 🚀
Stars: ✭ 77 (-72.1%)
Mutual labels:  ecs, fargate
terraform-fargate-tutorial
A minimal set of Terraform to create a Fargate service
Stars: ✭ 32 (-88.41%)
Mutual labels:  ecs, fargate

Domain-Driven Design Practitioners Reference

Under Construction -

Appreciate having your support on building this workshop, hope this workshop is useful & meaningful for you. In order to well organize all of the contents for DDD practitioners reference, the workshop will be refactored to cover wider topics with a more complex business scenario sample. Plan to release new content before the end of 2021, stay tuned.

In this ddd-practitioners-reference, you will learn more than classic Domain-Driven Design Strategic design and Tactical design patterns. DDD is good to approach decision makers to align business goals among diversity stakeholders in different BU.

When learning a series of methodology would always bored ourself and lot passion on the unlimited learning journey, so i'll walk you through a bsuiness case to practice the following methodologies/approaches to get familiar in using DDD to design solutions.

So, this guide will cover below topics whaich are what I learned from WW communities (ddd_eu, virtualddd) and awesome ddd-practitioners experience.

Outline:

  • A sample business story - Trip Service
  • Awaren businesss context by Wardley Maps
  • Kowing your key stakeholders - Impcat Mapping
  • EventStorming
  • Bounded Context Canvas - founded by Nick Tune
  • Aggregate Design Canvas (*) - founded by Kacper Gunia
  • Aggregate Canvas (*) - founded by Arthur Chang
  • Example Mapping
  • Specification by Example
  • Implement DDD Tactical pattern in Clean Architecture with Spring boot framework - refer to awesome-trip
  • Integrate with AWS cloud native offerings

Table of Contents

Event Storming

image

What is Event Storming?

Event Storming is a rapid, lightweight, and often under-appreciated group modeling technique that is intense, fun, and useful to accelerate project teams. It is typically offered as an interactive workshop and it is a synthesis of facilitated group learning practices from Gamestorming, leveraging on the principles of Domain Driven Design (DDD).

You can apply it practically on any technical or business domain, especially those that are large, complex, or both.

Whom is it for?

Event Storming isn't limited to just for the software development team. In fact, it is recommend to invite all the stakeholders, such as developers, domain experts, business decision makers etc to join the Event Storming workshop to collect viewpoints from each participants.

Event Storming Terms

Event Storming

Reference from Kenny Bass - https://storage.googleapis.com/xebia-blog/1/2018/10/From-EventStorming-to-CoDDDing-New-frame-3.jpg

Take a look on this diagram, there are a few colored sticky notes with different intention:

  • Domain Events (Orange sticky note) - Describes what happened. Represent facts that happened in a specific business context, written in past tense
  • Actions aka Command (Blue sticky note) - Describes an action that caused the domain event. It is a request or intention, raised by a role or time or external system
  • Information (Green sticky note) - Describes the supporting information required to help make a decision to raise a command
  • Consistent Business Rules aka Aggregate (Yellow sticky note)
    • Groups of Events or Actions that represent a specific business capability
    • Has the responsibility to accept or fulfill the intention of command
    • Should be in small scope
    • And communicated by eventual consistency
  • Eventual Consistent Business rules aka Policy (Lilac sticky note)
    • Represents a process or business rules. Can come from external regulation and restrictions e.g. account login success/fail process logic.

Event Storming Benefits

Business requirements can be very complex. It is often hard to find a fluent way to help the Product Owner and Development teams to collaborate effectively. Event storming is designed to be efficient and fun. By bringing key stakeholder into the same room, the process becomes:

  • Efficient: Everyone coming together in the same room can make decisions and sort out differences quickly. To create a comprehensive business domain model, what used to take many weeks of email, phone call or meeting exchanges can be reduced to a single workshop.

  • Simple: Event Storming encourages the use of "Ubiquitous language" that both the technical and non-technical stakeholders can understand.

  • Fun: Domain modeling is fun! Stakeholders get hands-on experience to domain modeling which everyone can participate and interact with each other. It also provides more opportunities to exchange ideas and improve mindsharing, from various perspective across multiple roles.

  • Effective: Stakeholders are encouraged not to think about the data model, but about the business domain. This puts customers first and working backwards from there, achieves an outcome that is more relevant.

  • Insightful: Event Storming generate conversations. This helps stakeholders to understand the entire business process better and help to have a more holistic view from various perspective.

Event Storming Applications

There are many useful applications of Event Storming. The most obvious time to use event storming is at a project's inception, so the team can start with a common understanding of the domain model. Some other reasons include:

  • Discovering complexity early on, finding missing concepts, understanding the business process;
  • Modelling or solving a specific problem in detail;
  • Learning how to model and think about modelling.

Event Storming can also help to identify key views for your user interface, which can jump start Site Mapping or Wireframing.

Let's get started with a quick example to demonstrate how to run a simple Event Storming.

Next: 01 Hands-on Events Exploring >

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].