All Projects → aws-samples → Designing Cloud Native Microservices On Aws

aws-samples / Designing Cloud Native Microservices On Aws

Licence: other
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.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Designing Cloud Native Microservices On Aws

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 (+40.46%)
Mutual labels:  microservices, aws, serverless, lambda, ecs, ddd
Awesome Aws
A curated list of awesome Amazon Web Services (AWS) libraries, open source repos, guides, blogs, and other resources. Featuring the Fiery Meter of AWSome.
Stars: ✭ 9,895 (+7453.44%)
Mutual labels:  aws, serverless, lambda, ecs, dynamodb
Serverless Analytics
Track website visitors with Serverless Analytics using Kinesis, Lambda, and TypeScript.
Stars: ✭ 219 (+67.18%)
Mutual labels:  aws, serverless, lambda, dynamodb
Komiser
☁️ Cloud Environment Inspector 👮🔒 💰
Stars: ✭ 2,684 (+1948.85%)
Mutual labels:  aws, serverless, lambda, dynamodb
Aws Serverless Ecommerce Platform
Serverless Ecommerce Platform is a sample implementation of a serverless backend for an e-commerce website. This sample is not meant to be used as an e-commerce platform as-is, but as an inspiration on how to build event-driven serverless microservices on AWS.
Stars: ✭ 469 (+258.02%)
Mutual labels:  microservices, aws, serverless, lambda
Realworld Dynamodb Lambda
λ serverless backend implementation for RealWorld using AWS DynamoDB + Lambda
Stars: ✭ 185 (+41.22%)
Mutual labels:  aws, serverless, lambda, dynamodb
Aws Mobile React Native Starter
AWS Mobile React Native Starter App https://aws.amazon.com/mobile
Stars: ✭ 2,247 (+1615.27%)
Mutual labels:  aws, serverless, lambda, dynamodb
Aws Microservices Deploy Options
This repo contains a simple application that consists of three microservices. Each application is deployed using different Compute options on AWS.
Stars: ✭ 370 (+182.44%)
Mutual labels:  microservices, aws, serverless, lambda
Aws Mobile React Sample
A React Starter App that displays how web developers can integrate their front end with AWS on the backend. The App interacts with AWS Cognito, API Gateway, Lambda and DynamoDB on the backend.
Stars: ✭ 650 (+396.18%)
Mutual labels:  aws, serverless, lambda, dynamodb
Workshop Donkeytracker
Workshop to build a serverless tracking application for your mobile device with an AWS backend
Stars: ✭ 27 (-79.39%)
Mutual labels:  aws, serverless, lambda, dynamodb
Up
Up focuses on deploying "vanilla" HTTP servers so there's nothing new to learn, just develop with your favorite existing frameworks such as Express, Koa, Django, Golang net/http or others.
Stars: ✭ 8,439 (+6341.98%)
Mutual labels:  microservices, aws, serverless, lambda
Sqs Worker Serverless
Example for SQS Worker in AWS Lambda using Serverless
Stars: ✭ 164 (+25.19%)
Mutual labels:  aws, serverless, lambda, dynamodb
Lambda Refarch Webapp
The Web Application reference architecture is a general-purpose, event-driven, web application back-end that uses AWS Lambda, Amazon API Gateway for its business logic. It also uses Amazon DynamoDB as its database and Amazon Cognito for user management. All static content is hosted using AWS Amplify Console.
Stars: ✭ 1,208 (+822.14%)
Mutual labels:  aws, serverless, lambda, dynamodb
Dazn Lambda Powertools
Powertools (logger, HTTP client, AWS clients, middlewares, patterns) for Lambda functions.
Stars: ✭ 501 (+282.44%)
Mutual labels:  aws, serverless, lambda, dynamodb
Serverless Api Example
Example of a Golang, Serverless API
Stars: ✭ 62 (-52.67%)
Mutual labels:  microservices, aws, serverless, lambda
Historical
A serverless, event-driven AWS configuration collection service with configuration versioning.
Stars: ✭ 85 (-35.11%)
Mutual labels:  aws, serverless, lambda, dynamodb
Iopipe Js Core
Observe and develop serverless apps with confidence on AWS Lambda with Tracing, Metrics, Profiling, Monitoring, and more.
Stars: ✭ 123 (-6.11%)
Mutual labels:  aws, serverless, lambda
Stepfunctions2processing
Configuration with AWS step functions and lambdas which initiates processing from activity state
Stars: ✭ 90 (-31.3%)
Mutual labels:  aws, serverless, lambda
Hexaville
The modern serverless web application engine and framework for Swift
Stars: ✭ 123 (-6.11%)
Mutual labels:  aws, serverless, lambda
Lambcycle
🐑🛵 A declarative lambda middleware with life cycle hooks 🐑🛵
Stars: ✭ 88 (-32.82%)
Mutual labels:  aws, serverless, lambda

Designing Cloud Native Microservices on AWS (via DDD/EventStormingWorkshop)

Picture license-free from Pexels

Building software is hard. Understanding the business needs of the software is even harder. In almost every software development project, there will always be some form of gap between the requirements of the business users and the actual implementation.

As a developer, knowing how to narrow this gap can help you go a long way to building applications that are relevant for the users. Using a Domain Driven Design approach, delivered via Event Storming, it can help to reduce the time it takes for everyone in the project team to understand a business domain model.

Theory and Practice: Learning in the Real world cases

Go through all of the learning journey, develop-->build-->deploy artifacts on AWS

Table of Contents

Event Storming

image

What is Event Storming?

Event Storming is a rapid, lightweight, and often under-appreciated group modeling technique invented by Alberto Brandolini, 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 >

License

This library is licensed under the MIT-0 License. See the LICENSE file.

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].