An innovator in electric-car charging, Volta is fast becoming a household name with drivers of electric cars. Formed in 2010 by a founder who loved and collected cars, the company has been enabling a new transportation paradigm with its demand-driven electric vehicle charging networks. Some 1,200+ charging stations with their sleek airfoil-like appearance are located all over the U.S., and the network is expanding.
Inspiring People to Drive Electric Cars
Volta’s goal is to inspire people to drive electric cars. But if electric cars are going to become more prevalent, drivers need convenient and seamless charging. Volta stations offer free charging as drivers go about their daily business, whether that’s a stop at the grocery store or a visit to the bank. The charging time is geared to the expected time for the task; for example, an hour’s worth of charging when shopping for groceries. The stations also provide the driver with charging data.
The Volta business model leverages partnerships with visionary brands that want to be associated with transportation change. The brands actually advertise on the charging stations. Most of the charging stations communicate wirelessly back to Volta Cloud, though some are hardwired for communication.
A Visionary Company in the Cloud
With such a cutting-edge business, Volta wanted to be visionary about how it would build and support its network of charging stations. The company started a proof of concept for doing business in the cloud that established how data would be handled. Almost four years ago, Caleb Brewer, Volta’s Senior Software Engineer, was brought in to scale Volta and build out its current team of twelve developers. The team practices DevOps as a culture, or “NoOps,” he explained, as well as continuous deployment.
Volta practices DevOps as a culture, or “NoOps,” as well as continuous deployment.
One of the first things Caleb did was to define the platforms as cloud, stations, and mobile. Today, drivers use a mobile application to find stations.
From the outset, Caleb decided to describe his infrastructure as code. He also decided to build his applications and services with serverless for its flexibility and maintainability, as well as use Epsagon for its full-depth observability into cloud services.
“We are a very event-driven company—mostly charging events at the beginning—that can be very variable throughout the day,” Caleb explained. “I didn’t want to manage servers, so I decided that this was the perfect opportunity to try cloud serverless development, with the exception of databases.”
I didn’t want to manage servers, so I decided that this was the perfect opportunity to try cloud serverless development, with the exception of databases.
Volta’s environment leverages a highly distributed message bus to communicate between services, enabling Volta to connect services with guaranteed message delivery across the country very fast. These services, all of which are running on AWS Lambda, are backed by a variety of datastores and third-party platforms.
Full Visibility into Volta’s Service Flow
Caleb was attracted to Epsagon since ”it provided a full view of the entire service flow in the cloud. We had not had any success with other monitoring and distributed tracing solutions until Epsagon.”
Epsagon provided a full view into the entire service flow in the cloud. We had not had any success with other monitoring and distributed tracing solutions until Epsagon.
Epsagon also enables fully automated monitoring and troubleshooting of distributed microservices. For example, Caleb wanted instrumentation into Postgres, which Epsagon provided in an automated fashion.
“It was completely straight-forward and helped us avoid a lot of manual work. Epsagon just magically worked,” Caleb recounted. “Epsagon even let us see the queries being run inside the transactions.”
Epsagon just magically worked. Epsagon even let us see the queries being run inside the transactions.
For example, when a Lambda is invoked, normally you would write the event to the console so, in your logs, you could see the body of the event, Caleb explained.
“Epsagon completely removes the need for that. With Epsagon, you can inspect every event within the architecture view, click on and expand it, and see correlated metrics, logs, and traces to understand issues quickly.”
Looking at individual traces also was useful to show the start and end of a transaction. “In the past, you would just look at a stream of logs. It was hard to tell if messages denoted the start or end of a new invocation. With Epsagon, it’s a lot clearer using ‘groupby request id.’ ”
In the past, you would just look at a stream of logs. It was hard to tell if messages denoted the start or end of a new invocation. With Epsagon, it’s a lot clearer.
Five to 10 times Faster MTTD
“Even more impressive,” he noted, “was the accelerated time to discovery for the root cause of issues. Epsagon is 5 to 10 times faster in terms of MTTD by analyzing a trace to find the root cause.”
Epsagon is 5 to 10 times faster in terms of MTTD by analyzing a trace to find root cause.
Epsagon also could scale. For example, some services produce events which, in turn, call other services that occasionally result in chains of over a dozen Lambda invocations.
With Epsagon, “Volta developers use the service map with its architecture view to see everything in production, tune memory for lambdas for optimal performance and to control timeouts, as well as monitor overall health status.” The team really likes that it can receive Epsagon alerts via PagerDuty, which the team uses.
More importantly, Epsagon has impacted business outcomes at Volta, according to Caleb. Since advertising content on the charging station is critical to Volta’s revenue model, Epsagon plays a biz-impacting role, ensuring data integrity.
Since advertising content on the charging station is critical to Volta’s revenue model, Epsagon plays a biz-impacting role, ensuring data integrity.
Catch Problems Early, Build Confidence Fast
As to lessons learned, Caleb says, “Invest early on in observability, test more, develop locally, and deploy more confidently.”
For developers, he recommends making mistakes, “help us learn. Everyone is afraid of errors, but finding and understanding them early with a platform like Epsagon really boosts your confidence and makes it less likely you will make errors in production. And if you love electric cars, check us out.”
Invest early on in observability, test more, develop locally, and deploy more confidently.