-
Story
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
None
Owner: Architect:
David Peraza
Story (Required)
As a Service Binding Developer, I'd like to have an implementation of the Orders microservice, to use that for demos that shows the value of the Service Binding Operator in complex architectures scenario (i.e., SOA/Microservices).
Background (Required)
We have always being using PetClinic to demonstrate how service binding works with single deployment applications. This application is simple and it is very useful when testing simple uscases. However, to be able to see the benefits of Service Binding, it will make more sense to show how easy it is to bind an application composed of multiple micro-services (K8 Deployments and Services) and each of those depending on one or many Cloud Services (Database, Monitoring, MemCache).
We'd like to implement an e-commerce website with two exposed micro-services, one that manages Orders, the other manages the Catalog. When the user places a new order, the Catalog must be updated.
The communication between Orders and Catalog microservices should happen via a Message Broker (like Amazon SNS).
Glossary
NA
Out of scope
Do not handle orders lifecycle: assume you have infinite availability of each product the store is selling.
This is not a product, just a demo app.
In Scope
Count sold items for each product in the store.
At application startup the database must be initialized and seeded if it's not.
Approach(Required)
Pick modern technology for Both, Frontend and Backend. Language selection is open but try to stay with the languages we use in our projects so that the demo app can me maintained (Golang, Python, JavaScript). Make it a simple Kubernetes application that shows how the services are being used.
Dependencies
APPSVC-1243: the SOA application design is needed to implement Orders microservice's integration with other services
Edge Case
NA
Acceptance Criteria
Source code on our demo repo
README file with instruction to build and run the microservice
Makefile to build and package
If needed, database must be initialized and seeded at application startup
When an order is placed, an event must be placed in the message Queue
REST API for Create, Read, and List of orders
Databases and message brokers are AWS services
INVEST Checklist
Dependencies identified
Blockers noted and expected delivery timelines set
Design is implementable
Acceptance criteria agreed upon
Story estimated
v
Legend
Unknown
Verified
Unsatisfied
- depends on
-
APPSVC-1243 Design SOA demo and develop mocked front-end
-
- Closed
-
- is depended on by
-
APPSVC-1246 Tying demo services
-
- New
-
- is related to
-
APPSVC-1245 Create the Catalog microservice
-
- New
-