Illustration of boys and girls in a class studying with laptop and a teacher assisted a girl with question

With the speed befitting a startup, Pear Deck delivered its first prototype to customers within three months of incorporating.

As a former high school math teacher, CEO Riley Eynon-Lynch felt an urgency to provide a tech solution to classes where instructors struggle to interact with every student in a short amount of time. “Pear Deck is an app that students can use to interact with the teacher all at once,” he says. “When the teacher asks a question, instead of just the kid at the front of the room answering again, everybody can answer every single question. It’s a huge fundamental shift in the messaging to the students about how much we care about them and how much they are a part of the classroom.”

Eynon-Lynch and his partners quickly built a Javascript web app on Google’s web app development platform Firebase, and launched the minimum viable product [MVP] on Heroku “because it was fast and easy,” he says. “We made everything as easy as we could.”

But once it launched, the user base began growing steadily at a rate of 30 percent a month. “Our Heroku bill was getting totally insane,” Eynon-Lynch says. But even more crucially, as the company hired more developers to keep pace, “we outgrew Heroku. We wanted to have multiple services and the deploying story got pretty horrendous. We were frustrated that we couldn’t have the developers quickly stage a version. Tracing and monitoring became basically impossible.”

The team began looking around for another solution, and finally decided in early 2016 to start moving the app from Heroku to Docker containers running on Google Container Engine, orchestrated by Kubernetes and monitored with Prometheus.

Once the team started porting its Heroku apps into Kubernetes, which was “super easy,” he says, the impact was immediate. “Before, to make a new version of the app meant going to Heroku and reconfiguring 10 new services, so basically no one was willing to do it, and we never  staged things,” he says. “Now we can deploy our exact same configuration in lots of different clusters in 30 seconds. We stage all the time now, and everyone stopped talking about how cool it is because it’s become invisible how great it is.”

Along with Kubernetes came Prometheus. After Helm installed Prometheus, “We started getting a graph of the health of all our Kubernetes nodes and pods immediately. I think we were pretty hooked at that point,” Eynon-Lynch says. With Pear Deck’s specific challenges—traffic through Firebase as well as government firewalls—Prometheus was a game-changer. “We didn’t even realize how stressed out we were about our lack of insight into what was happening with the app,” Eynon-Lynch says. Before, when a customer would report that the app wasn’t working, the team had to manually investigate the problem without knowing whether customers were affected all over the world, or whether Firebase was down, and where.

To help solve that problem, the team wrote a script that pings Firebase from several different geographical locations, and then reports the responses to Prometheus in a histogram. Plus, Prometheus has allowed Pear Deck to build alarms for business goals. One measures the rate of successful app loads and goes off if the day’s loads are less than 90 percent of the loads from seven days before. “That gives us a lot of confidence,” says Eynon-Lynch, “and we at least know that people are still logging into the app and using it all the time.”

For a spry startup that’s continuing to grow rapidly—and yes, they’re hiring!—Pear Deck is notably satisfied with how its infrastructure has evolved in the cloud native ecosystem. “Usually I have some angsty thing where I want to get to the new, better technology,” says Eynon-Lynch, “but in terms of the cloud, Kubernetes and Prometheus have so much to offer.”

To learn more about what’s ahead for Pear Deck with Kubernetes and Prometheus, check out this in-depth case study.

Interested in more Kubernetes content? Get on the CNCF newsletter list for more Kubernetes information and updates.