What is our primary use case?
The company I'm working for is basically one of the biggest companies in the entire Gulf region, including Dubai, Qatar, and Oman. Our core domain is providing logistics. They have different warehouses across the country, and we use it to track the movement of forklifts and people working at the warehouses.
The main thing we are focusing on right now is accident avoidance. For example, one forklift is coming through one aisle, and another person is trying to enter the same aisle. We provide a solution that can track the person and forklift in real-time.
We're also using it to solve many business problems one by one. Stream Analytics plays a major role in streaming all these huge datasets because we have warehouses spread across the country. It's able to handle millions and millions of events in a few seconds.
How has it helped my organization?
If we're not using Stream Analytics, how can we track the real-time? From the end user's perspective, Stream Analytics forms the main backbone for the entire pipeline and all the technologies.
The company can see the real-time location and track everything, just because of Stream Analytics. Without Azure Stream Analytics, we can't do any real-time tracking. We can use other messaging systems like SQL, but when it comes to scaling, collecting, getting a lot of events, recalling it, find out where it's used, Stream Analytics is better. You might have to collect from millions and millions of services and devices and beacons. All of that would be pushing the data into the Stream Analytics.
What is most valuable?
I like the IoT part. We have mostly used Azure Stream Analytics services for it. This is the most valuable part because this is using the streaming service. It's valuable because there's no other way for us to handle it.
It has the support of Azure storage, long storage, and access data. It has support from the SQL server. Azure also supports added access to data because we need the data from static data and dynamic data to represent them, and that's not going to change very frequently.
When we are getting the warehouse's location through this stream analytics, we have to merge some information from our static database, and finally, we have to show it all within a dashboard or something on the map.
Without the streaming analytics part, I don't think it's possible to handle it. We can use some other messaging system, but we might have some scaling issues and among others too. I know that Stream Analytics is fantastic in that we don't have to worry about any other activities. We can further scale it too. We can go for the upgraded service if needed, based on our traffic and the number of data we have been receiving.
Natively, I found it beneficial, and the integration was smooth. We're already using some other Microsoft technology packs, so it's easy to integrate them all.
As the Stream input and output enables very smooth integration with other cloud services, for example, Azure Cloud Concepts, or Cosmos DB, with minimum coding, and with the minimum level of queries, we can directly output all these outputs and push the normal data for historical data storage.
What needs improvement?
The collection and analysis of historical data could be better. We use historical data and an assimilating algorithm to give us insights into the entire business process.
We can collect all the historical data periodically to get insights into current business trends. For example, which area is getting emptied most of the time or which area is getting underutilized, and so on.
For how long have I used the solution?
I've been working with Azure Stream Analytics for about two years.
What do I think about the scalability of the solution?
We don't have to worry about scalability. It's in the cloud and can have millions and millions of things connected. The software part is easy to scale. You just have to add all the hardware. For the web application, the hosting part can be scaled. We don't have to worry about the desktop as the solution is deployed in the cloud. The scalability is based on our choices. It's not like it's manually hosted in private, and we have to scale it vertically.
How are customer service and technical support?
Our infrastructure team has the flexibility to call the Microsoft guys to look into the matter if there is something wrong on their part.
How was the initial setup?
The initial setup was very complex because of the hardware. We had to spend almost an entire day just to put the hardware part in the right places, following some best practices.
It took us more than one and a half years, and we're still left with some deployments to do. We initially tested it in a few small areas, and then we expanded it to cover the entire area.
I found it a little challenging, we struggled, and we did it. We're still doing a lot of stuff for the elite features and other deployments. We follow the deployment strategy, and it's almost automated. We're trying to add a few features and deploying them. The final stage of deployment is where the rest of the entire process is done through continuous integration.
It requires maintenance in terms of hardware and the software part. I don't think any solution is totally bug-free. We generate service requests all the time, and they are fixing it.
The IoT hardware requires more maintenance because we know we have limited battery life, and we have to check all the devices. We need to keep checking those things, and we have automated that. But it still needs to be manually reconnected to the battery.
What about the implementation team?
We have a team of people supporting this project. We have about ten members, some of whom were core developers. Four or five developers developed the cloud part. Two hardware engineers were responsible for all these deployments in the warehouse.
What other advice do I have?
I would advise potential users to properly plan and structure their static data and the reference data before putting it into the Stream Analytics.
On a scale from one to ten, I would give Azure Stream Analytics an eight.
Which deployment model are you using for this solution?
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?