Inspiration

Working with cloud technologies we have seen firsthand how DevOps can greatly impact the efficiency of solutions. Despite the enormous value DevOps brings to a product it is usually tackled once a product is ready for deployment. We want to challenge that paradigm and see how we can integrate DevOps as part of our solution. We built Svastha to showcase the various Azure technologies that we used to build our API product.

What it does

Svastha is a microservices application hosted in Azure Service Fabric. It consumes data from various health metric tracking devices and provides an Azure API Management service endpoint to provide data to various consumers.

How we built it

We used Azure Service Fabric as our hosting platform. All of the services that are hosted in Azure Service Fabric including the web server are modular and can be updated separately. We used the Azure API Management service to expose our APIs to consumers. Any client can subscribe to our API in Azure API Management and call our end-points with a valid subscription token.

Challenges we ran into

Deployment was challenging as we have to find ways of packaging our applications. We also run into Cross-Origin Resource Sharing (CORS) issue as the API we want to call from Azure API Management resides in a separate domain from our website. We made adjustments to our solution and added a microservice application that proxies the end-point calls for us (as outlined in our reference architecture) to help resolve the issue.

Accomplishments that we're proud of

We chose very mature platforms but we never have in the past worked to have them all assembled together. We are very happy to see our API being accessible from the Azure API management service and delivering data to an Angular application.

What we learned

We learned a lot about Azure API Management. We learned how to compose our endpoints and push updates from the Git repo to update Azure API management configurations. We also learned a great deal about DevOps processes in Azure Service Fabric.

What's next for Svastha

We would like to continue building the platform and start supporting the consumption of data from health tracking devices. We also like to mature our DevOps processes and get to a point where we can offer A/B type deployments to test out new device integrations and new features.

Built With

Share this project:

Updates