Running a virtual event globally, how Gramercy Tech leveraged serverless technology
CTO Gramercy Tech
Editor's note: In today's guest post we hear from Gramercy Tech on their experience working with Google Cloud's serverless technologies as both a customer and vendor. Large events are always a lot of work. By leveraging the pre-provisioned infrastructure of Cloud Run in multiple regions and global load balancing, the team could focus on content and event experiences.
As the world gradually emerges from the Covid era, the lessons learned from fully online virtual events will have lasting effects on the way events are managed and attended. When Google Cloud approached Gramercy Tech for help running a global internal sales event we took the opportunity to look at how to enhance the capabilities of our Eventfinity platform to better take advantage of Serverless technologies and multi-regional deployments to deliver both a better user experience, more efficiently, and with less operational burden.
With a global audience, the demands of an event site show highly varied loads both at different time zones, but also different parts of the event lifecycle. Registration windows may see bursts of activity at open and closing and during the event mixtures of live and recorded content can cause periods of both low and high traffic. Participants in a global conference are all integrating this time commitment into their busy schedules, and should be able to expect a quick and responsive event site throughout the experience. To meet these goals, we were able to easily adapt our platform to the following global serverless architecture:
Deployed architecture across three regions
Using standard containers, it was easy to package and deploy our primary application services in Cloud Run. We were able to deploy this to multiple regions and use Cloud Load Balancer to ensure that traffic from anywhere in the world was routed to the nearest instance. With Cloud SQL we were able to establish read replication globally. Core functions in our platform are kept speedy by using Redis and Memcache which we were able to deploy using Cloud Memorystore. By taking advantage of these managed services we were able to quickly get this architecture deployed and could focus on running our platform, setting up multi region infrastructure was something we didn’t realize could be so simple.
Media and content could be offloaded to Cloud CDN letting us focus on experiences, not on moving bytes.
As the application tier handles many of the direct user interactions with our platform, it sees very elastic demand. Cloud Run was a game changer for us, the speed to deploy updates across environments, as well as the scaling up and down instances saves so much time and money.
Overall, this experience has guided our teams into using container systems more since so much of GCP leverages containers whereas our past infrastructure was all bare metal servers running code directly. This push has definitely caused us to replatform our entire design using containers and serverless infrastructure wherever possible, making us faster and more stable all around. After this experience we plan to move the bulk of our systems to GCP.
At Gramercy we've constantly evolved our technology to meet the needs of the time, from events going paperless pre-covid, to fully virtual during covid to the new world of hybrid events. It has been great to work with Google and Google Cloud to keep event management on the cutting edge.