Ensuring a seamless customer experience is a growing challenge for digital technology providers. Yet, as functionality and a customer base scale, predictability can become challenging.
At Smarter City Solutions, which provides tens of thousands of drivers in Australia and New Zealand real-time parking related services through the flagship Smarter Parking Platform, our engineering team faced this challenge when scaling from a few deployments to dozens. Whether it was a scaling issue in infrastructure, a configuration gap in the server, or an update needed in an application, we realized that proactive, unified visibility of the entire stack to detect potential issues was critical if we wanted to ensure a consistent customer experience as we continue to grow.
To address this challenge, we chose Elastic Cloud running on AWS and we’re thankful we did.
Full stack visibility ensures customer success, drives revenue
The Smarter Parking Platform, which includes multiple user-facing products including vCompliance, vPermit, and Pay-By-App systems, has become tremendously successful, helping us attract and retain customers, drive revenue, and deliver a better city experience. Together, these applications provide a comprehensive parking solution for issuing digital permits, enforcement, and payment for parking and fines, and more.
Smarter Parking meets Elastic Cloud
The initial step toward our goal of full stack visibility across our AWS deployment, was storing all parking and payment transactions in Elasticsearch. This data is consumed by the back-end application and provides critical information back to customers’ mobile phones. Information like total amount charged, total parking durations, number of available bays, and more are offered as real-time data. In addition, different notifications about parking sessions that are about to expire or have already expired are provided to drivers based on data stored and queried in Elasticsearch.This proved immensely beneficial to our customers, who simply want a reliable service to better their parking experience.
As the requirements grew (and they are still growing), we also rapidly realized that certain critical services needed for monitoring Smarter Parking, like the Application Performance Monitoring (APM) capability, were only available in Elastic Cloud - the Elasticsearch managed service from Elastic. With this realization, we migrated our existing implementations to Elastic Cloud on AWS, to build out and scale towards the full stack visibility vision we had in mind.
Elastic Cloud ingests data across the Smarter Parking technology stack
The next step was to start collecting the logs from all our systems into one centralized location. Smarter City engineers were already familiar with Elasticsearch and Kibana as they are well established products in the industry, thus, continuing to use Elasticsearch for logging purposes was an easy decision. Serilog, the logging framework for .Net, was already integrated with our system, which meant all we had to do was to add an Elasticsearch sink to our applications’ configuration, add a few Serilog enrichers to create more fields to our log messages, and configure the Elasticsearch endpoint as a sink. Once all the logs from our .Net applications and AWS lambdas were ingested into Elastic, we decided to also include the IIS Server logs in our performance monitoring, so that we could address server performance issues before they impacted our Smarter Parking applications and soured the customer experience. As we increased coverage, it was easy to collect additional data from different components in the stack. Elastic data ingestion integrations allow the Smarter Parking team to easily integrate and send data to Elastic Cloud from across the AWS deployment.
Our integration deployment included:
- Infrastructure layer integrations - Metricbeat integration ingests metrics from Windows Server OS EC2 instances.
- IIS Server logs integration - IIS module in Filebeat sends IIS Server Logs to Elastic Cloud.
- Application layer integration - Elastic Serilog Enricher sends all application log data to Elastic Cloud.
To ensure complete and unified visibility for our APM needs, we’ve also decided to send our back-end server data to Elasticsearch. Once we knew we had all the information available to us in Elasticsearch, we configured the system to generate daily and monthly reports. They were sent automatically by emails or to Slack channels, allowing potential issues to be addressed immediately by our support team, therefore significantly improving our process and reducing human error. For the benefit of the development and support teams, we also built log dashboards for all the services that are part of the parking ecosystem.
[Architectural diagram of the Smarter Parking Ecosystem]
[ Unified insights into application performance variations and errors]
Reducing time to resolution of performance issues detected by 50%
In the two months since implementation, having all the logs in one location significantly reduced the amount of time that is required from the development team, as well as the support team, to identify and address issues. Following our Elastic implementation, active monitoring of our platform has reduced preventable outages and latency, and reduced time to resolution of performance issues detected in the field by 50%.
The rapid implementation and scaling of Elastic Cloud and the Elastic Observability solution was in part enabled by the existing familiarity with Elastic and skills that existed across the team. This made implementation, expansion to new capabilities, and issue resolution of the implementation — all faster than anticipated. In addition, this enabled the team to implement the new observability solution ahead of schedule with no hiccups.
The responsiveness from Elastic Support has also been a pleasant surprise for the team. The support team has shared a wealth of knowledge with us when it comes to implementing visibility solutions for complex, cloud-based applications.
In one incident, the Elastic Support team responded within the hour and helped us fix the issue immediately when we informed them that an unexpected integration behaviour may be affecting our production deployment timelines.
Exploring Elastic efficiency innovations like Elastic Agent and Kibana Alerting
As our platform scales, the team is actively looking at ways to offload more of the operational observability oversight and automation to Elastic Observability, and to continue simplifying the implementations. Features we are actively exploring include Elastic Agent, to simplify the integrations into AWS services, IIS Server, and Serilog. We’re also looking to expand alerting in Kibana to increase the use of built-in automation for operational actions.
As the demand for the Smarter Parking Platform grows, and the team continues to add features and capabilities, the ability to automate and offload operations without degrading customer experience continues to be a strategic focus for the team. Elastic Cloud and AWS have gotten us this far and we know it will continue to enhance the future of Smarter City as well as provide new and improved customer experiences.
Zack Shachar — Engineering Manager at Smarter City Solutions