Now IMS uses real-time data to keep citizens safe in crowded places

Jeremy Lorino, Chief Architect, Now IMS

Managing security at large events, public places, and institutions requires wrangling a lot of logistics. And data. Lots of real-time data — from users, social media, sensors, and applications. Now IMS, an incident management platform built by a four-person team in Houston, Texas, is modernizing event security by replacing paper-based systems and spreadsheets with an intelligent, centralized security command center. The goal: Use data to proactively keep people safe.

After the team launched their platform on Google Cloud, Chief Architect Jeremy Lorino shared how they built and power Now IMS.

Scaling Now IMS with Google Cloud has meant faster innovation and a better customer experience

Our initial architecture used Java, Postgres, and Redis for the backend service communicating with a PHP frontend application. Before we moved to Google Cloud Platform, we were hosting using another cloud provider for file storage of photos and documents, but we wanted to scale more quickly and easily. We heard feedback that the original system did what customers needed, but not everything they wanted.

When we realized what we were sacrificing as we grew was customer experience, it was clear we needed a lighter stack that allowed us to shift our focus back to what matters most.

We decided to upgrade our stack, taking into account not just the platform we were building but also how we were building it. After looking at several providers, Google Cloud was the clear winner for our needs. Because of the size of our team and the nature of our platform, pricing, services, and support are important to us. In addition to the ongoing level of support we were provided, we found Google's ecosystem to be the best, making it easy to integrate many services without overburdening our process or weighing down our stack.

Reference architecture

Now IMS' architecture for data visualization and notifications.

In this diagram, you will notice on the far left a stand-alone icon with a "data" label. To its right are a series of labeled icons in a line, and then the flow splits to create a round-cornered square at the end with multi-directional flow.

The first icon in the line is labeled "Worker" and below it "Compute Engine, Multiple Instances."

The action is directed by an arrow to the right to the next icon, labeled "Messaging, Cloud Pub/Sub."

Another right-facing arrow points to the next icon, labeled "Events, Cloud Function."

The next arrow points right to a "Cloud Storage" icon.

The next right-facing arrow leads to an icon labeled "Transform, Dataprep."

From here, the flow moves both up and down, with an upward and rightward facing arrow leading to an icon labeled "Data, Cloud Pub/Sub" and from there an arrow to the right for an icon labeled "ML Processing, Cloud Function."

From this icon an arrow leads down, and another to the right. The right-facing arrow directs the flow to an icon labeled "Data-Store, Cloud Firestore."

From there a two-way arrow leads down to and up from an icon labeled "Data Functions" from which another arrow below it leads down and back to the left to an icon labeled "Analytics, BigQuery."

Starting back at the decision point of up and down arrows at "Transform, Dataprep," the downward arrow makes a right-facing right angle, directing the flow to the same "Analytic, BigQuery."

Thus, the flow makes a round-cornered square around an icon in the middle of it.

The downward arrow from "ML Processing, Cloud Function" at the top middle of the square points to an icon at the center of the square, which is labeled "Cloud Storage" and has a downward arrow below it leading to "Analytics, BigQuery."

Below the "Analytics, BigQuery" icon is a right-facing arrow directing flow to a "Data Studio" icon, where the flow terminates. To the far right of the main flow of labeled icons, stand-alone with no arrows including it in the flow, is an icon labeled "Notifications, Cloud Pub/Sub, Desktop, Email, SMS."

swipe to reveal

Baseball field Screenshot of the Now IMS data dashboard

Letting user experience drive development with an available, integrated cloud system

Cloud Functions is now our preferred workhorse. With that as our glue, we can integrate other fully-managed services, like Cloud Firestore, that help make sure our systems are always available. We listen for change events as data is persisted or updated in Cloud Firestore, perform nightly backups, or feed data to BigQuery for analysis. Google Cloud Platform also integrates with the other tools we're using like Angular, Mailgun, Trello, and Bitbucket.

The result is a fast, scalable, and fault-tolerant system backed by a secure, world-class service. The time it takes to develop and deliver has been reduced by an order of magnitude.

With Cloud Functions, we've also been able to adopt a serverless/microservice paradigm, giving us the flexibility to focus more on our customers' experiences and delivering features, rather than server management and patching. Without having to manage additional widgets, we've been able to let user experience drive our development — from tracking new social media feeds to adding video analytics.

When customers ask us to track public social media shares around an event, we're able to leverage tools like Cloud Dataprep and BigQuery to capture related social posts and provide fast analytic insight. Our engine can track events on social media and supports even more teams' efforts to raise awareness of, or even prevent, critical incidents.

Most recently, the platform helped keep fans safe at Super Bowl LII by centralizing internal incident reports, police reports, and social media feeds in one security command center.

The National Football League's security teams were able to communicate with local resources, law enforcement, and government agencies faster than previous years. We've had the flexibility to focus on the new features the NFL needs because of the nimble, iterative way of working that Google Cloud Platform supports.

The Google Cloud Startup Program enables any startup to get up and running quickly and easily through mentorship, training, and free credits. Learn more.

Google Cloud

Get started

Try it yourself

Get $300 credit on your first GCP project or try Google Workspace free for 14 days.

Need help on a bigger project?

Our experts will help you build the right solutions or find the right partner for your needs.