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

Tying demo services

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 deploy all the services from the SOA Demo Application as single solution on a kubernetes cluster.

      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

      This is not a product, just a demo app.

      In Scope

      Events from the Orders micro-service must be forwarded to the Catalog one.
      The demo application must be installed on a cluster as a single Helm package.

      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.

      Demo requirements(Required){}

      A great demo will show how we setup SBO, ACK and Service Mapper. Then show two or more ServiceResourceMap CR enabling 2 or more AWS service CRDs to be bindable. Then deploy the AWS resources with their corresponding SBO CRs pointing to label selector. The application will then be deployed using helm and modifying labels in their deployments to realize the binding. Check our demo repo for some references and also use that repo for our demo app.

      Dependencies

      • APPSVC-1243: the SOA application design and front-end application are needed
      • APPSVC-1244: Orders microservice is needed
      • APPSVC-1245: Catalog microservice is needed

      Edge Case

      _<Describe edge cases to consider when implementing the story and defining
      tests>_

      Acceptance Criteria

      Source code on our demo repo
      Readme file with instruction to build and package using Helm
      Make file to build and package
      Readme file with instruction on how to configure SBO, ACK, ServiceMapper to be able to show the value of application.
      When an order is placed, an event must be placed in the message Queue

      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: