IBMStreams / administration

Umbrella project for the IBMStreams organization. This project will be used for the management of the individual projects within the IBMStreams organization.
Other
19 stars 10 forks source link

Proposal: streamsx.microservice #126

Closed chanskw closed 6 years ago

chanskw commented 6 years ago

I am proposing the creation of the streamsx.microservice repository. In the processing of building the streamsx.healthcare project, which employs the microservice architecture, we start to see common patterns and challenges in creating microservices for Streams.

The goal of the repository is:

Initial contribution will be some example microservices that demonstrate some of the best practises.

ddebrunner commented 6 years ago

Can you expand on the example microservices that would be in the repo?

Just wondering what they would look like or is it sufficient to point to existing ones in health/transportation.

chanskw commented 6 years ago

This is the first one.. I am still working on it so it may not be 100% "correct"....

https://github.com/IBMStreams/streamsx.health/tree/develop/samples/ExampleService/com.ibm.streamsx.health.example.service

While it is easy to define a single microservice, it becomes more challenging when you try to create multiple services that make up the application. Challenges include: 1) pub/sub topic guildelines (you mentioned MQTT Style, which I am going to implement in the health platform 2) versioning 3) how to customize a service? 4) how to build ? 5) how to launch?

The goal of the repository is to answer some of these questions and make it easier. I would like it to be a top level project so that it is a more visible project for collaboration, and also allowing us to have some standard in place. Putting it under streamsx.health or streamsx.transportation does not seem to have enough visibility and allow for such cross-collaboration.

ddebrunner commented 6 years ago

I think the concept is good, I'm just trying to understand what the examples would look like.

Seems if they are related to health then they should be in the health toolkit and maybe this repo just references them.

Or maybe examples in this repo would be totally generic and not related to a specific field, eg. the sample in topology just publishes a simple stream and has a another service to consume it.

chanskw commented 6 years ago

Yes that is the goal. The samples will be generic.

ddebrunner commented 6 years ago

+1

Note that the streamsx package already has a (poorly documented) mechanism for linking a job config with an application/microservice.

mikespicer commented 6 years ago

+1

chanskw commented 6 years ago

Created repo. Added @ddebrunner and @cancilla as initial committeres