Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REST API #44

Open
jkonecki opened this issue Feb 28, 2017 · 5 comments
Open

REST API #44

jkonecki opened this issue Feb 28, 2017 · 5 comments

Comments

@jkonecki
Copy link
Contributor

I would like to expose current cluster configuration / application status through a REST API. This will enable Load Balancer integration through HTTP probes and allow for future tooling.

The API can expose following information:

  • Cluster membership - list of nodes
  • Individual node status (uptime / heartbeat)
  • Application configuration
  • Current status of deployed application on each node
  • Health information from each application

We can extend current health monitoring to allow additional custom data to be exposed from the application.

The above will require adding a self-hosted HTTP server to be integrated with the YAMS host and also a simple implementation of cluster membership so all nodes in the cluser can be identified.

@nehmebilal
Copy link
Collaborator

nehmebilal commented Feb 28, 2017

Alternatively, we can publish all information needed about the cluster status in blob storage (or any custom storage) and provide an Api to query that information easily and directly from blob storage (similarly to what we have today with the DeploymentConfig.json).

Not to say that I'm against Web Api but we will need a remote storage that is accessible from all the nodes either way.

  • The advantage of Web Api approach is that you can access it from anywhere, in contrast to the C# Api, which would need a C# client.
  • The advantage of the blob storage solution is that it's more lightweight? Since we wouldn't need to host a web server.

@jkonecki
Copy link
Contributor Author

jkonecki commented Mar 1, 2017

My whole idea for REST api was driven by the fact the we need web server for load balancer probes anyway. Adding a few more endpoints will be a piece of cake. ;-)

@aprooks
Copy link
Contributor

aprooks commented Mar 1, 2017

I guess plugin system might work here better. One might favour "blob storage" in cloud and web api on promises and vice versa

@nehmebilal
Copy link
Collaborator

@jkonecki Agreed, the fact that we'll have a web server anyway makes it easier to add a web api.

@aprooks I think blob storage or some sort of storage is going to be needed either way to store the status data and to coordinates between multiple Yams agents. But yes, it can all be abstracted away in a pluggable way,

@aprooks
Copy link
Contributor

aprooks commented Mar 1, 2017

if YAMS is using storage for status update then we already have update via blob as a requirements and only need a pluggable WEB API to publish these blobs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants