Uploaded image for project: 'Service Binding'
  1. Service Binding
  2. APPSVC-1244

Create the Orders microservice

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • Service Binding
    • 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

              Unassigned Unassigned
              rh-ee-filario Francesco Ilario
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: