How to manage feature flags in ASP.NET Core apps with Azure?
No matter how simple or complex an application is, choosing the right configuration provider right at the start will mak...
Every organization is made by people. People who interact with each other – over morning coffee, in meetings during the day and at casual catch-ups in the workplace.
Nowadays, this communication also happens in electronic form, through e-mail, phone, instant messaging or social media. This form of interaction gives us a great opportunity to analyze the data and pick up additional insights.
Let’s be clear: this is not about tracking people. It is about answering questions.
Have you ever wondered who the most influential person in your organization is? Who might be an agent of change or whom do others consult in a given area of expertise?
These questions can be answered based on analysis of user interactions on social platforms.
Now: how to get these answers out of the data noise?
This looks like the right task for us and the cloud.
Our customer, a major company in the pharmaceutical industry, has implemented Yammer as a social network within their organization. (If you are not using Yammer, read on; what we’ve described here applies to other means of communication as well).
Once it was put in place, the questions started to rise. How are people using it? Who is the most active user on a given topic? Who is the focal point of conversations on this network?
All data is there in the form of users communicating on a platform, however, what was missing was an easy way to consume data from these interactions. The good news for us and our customer was that there are APIs and ways to consume it through the cloud
We’ve got our challenge. The goal: to build a solution that provides insights into the company’s social network interactions.
Yammer provides a Rest API which allows us to consume its content and get all the messages and interactions from its channels. To achieve our goal we had to find a way to:
Time to pick up the right tools for a job. Our choice was, surprise, surprise… the Azure cloud!
There is a new future ahead of us. A future where solutions don’t have to be complicated and always created in complex, customized ways. Instead, even elaborate applications will be built on top of platform components and enhanced with some additional code and extensions.
Another part of the future is that we can construct these solutions on top of platform services. Call it PaaS, call it serverless. The key is that there is no need for servers – it’s just platform services and our code.
Here, we have used the following elements of the platform:
And that’s it. An overall solution architecture built out of these components is presented below.
Looking at the solution diagram, you will notice the crucial component of it – a ROCKET! This rocket is not rocket science. It is Azure Logic App. Have you heard about it? If not, time to change it!
Azure Logic App is an integration platform which allows you to build complex integration workflows between different data sources and platforms with additional logic added to them. Think of it as a workflow platform for your process where the hassle of connectivity and orchestrating the steps were taken out for you.
The functionalities of Logic App include:
We’ve put it at the center of our integration for data processing and aggregation orchestration. The App Logic allows you to build your process in a graphical way, using steps you can put together into a solution in the visual editor.
It might be a simple flow of functions executed one after another:
It can also be a pretty complex app with multiple steps and conditions. The example below presents a flow we’ve built to analyze the sentiment of the messages posted on Yammer using Azure Cognitive Services.
Overall, Azure App Logic provides you with a way to build your app processes in a new way – without infrastructure, orchestrated by a platform and based on platform capabilities more than on custom-built code.
Our solution is using five different apps built on top of the Logic App, delivering entire data ingress and processing platform.
Getting data is one thing, but getting the right insight and providing it at the right time for users – that is a completely different task. Even the best data is not so useful if there is no way to analyze it easily.
We understand this business need, and we have the tool to address it – Power BI.
Using Power BI, we are providing easy to consume and navigate dashboards presenting data gathered from Yammer.
Instead of reading about it, you can see it for yourself (parts of images have been blurred to maintain the privacy of our customer).
Activity trendsIt is the only subset of reports we could provide to you without disclosing our customer’s sensitive data. However, there is much, much more you can get out of it.
It is an excellent solution, but one can wonder: Is it expensive to run? The solution includes plenty of components, and we know that costs of cloud services might get out of control.
Logic App provides a cost-effective way of executing your processes billed per execution cost. You can find all the details on the product page.
In our case, we knew the number of items we needed to process and the central component of a solution, i.e. Azure Logic App. Here is our estimation of running costs that we prepared upfront, before project implementation:
The solution runs on schedule, with the following estimated elements and loops to process:
To analyze the total of around 30 000 messages on a platform with all their statistics, we estimated the usage and cost as follows:
This gave us an estimated cost:
How close were we to the true cost? Real data usage shows that in the last quarter (March 2018), the real monthly cost of using App Logic on this platform was 78 EUR.
Yes. You read that right.
The cost of the solution gathering all this information and processing it is around 80 EUR per month for all the resources.
For 80 EUR you get invaluable insight into the social interactions at your company happening on the digital platform. It gives plenty of opportunities to explore employee potential in your organization.
What if you have a solution other than Yammer? No worries! This approach is universal; Yammer is just a data source.
Get in touch with us, and we can help you make it happen!
Read other similar articles