Alex Oakley, Engineering Leader at Triumph, SaaS powering real-money tournaments for mobile games.
In the technology landscape, startups navigate pivotal decisions shaping their future. Drawn to Firebase for its comprehensive toolkit, flexible pricing and up to $100,000 in promotions, we embraced its offerings—especially Firestore’s real-time updates and hassle-free database management. Recognizing Firebase’s ubiquity in areas like analytics and A/B testing cemented its appeal.
However, our journey through Firebase wasn’t without its challenges and discoveries. These experiences became crucial lessons, which we’re eager to share with fellow tech enthusiasts in the hopes of offering guidance for their endeavors.
1. Unpacking Firebase’s Backend Solutions
While Firebase brings powerful tools like Firestore and Firebase Authentication services to the table, our journey taught us the necessity of diversification.
When we first integrated Firebase Authorization into our games, it performed flawlessly. The challenge arose when we began onboarding other game developers, as Firebase didn’t offer a direct mechanism to automatically add their applications to our project. This led us to adopt Twilio for phone number-based authentication while still harnessing Firebase Authorization through the generation of custom tokens.
For startups not venturing into SDK creation, Firebase alone might serve adequately. It’s undeniably robust, but with growth, we experienced a surge in costs. This led us to explore complementing it with other platforms for a well-rounded backend.
2. Deciphering Firestore’s Capabilities
Firestore undoubtedly transformed our data management with its real-time capabilities. However, certain nuances in its querying process became evident.
For instance, when we built our matchmaking functionality, our initial approach was to group players into rank-based buckets. As our user base burgeoned, this method proved inefficient. We envisioned a more individualized experience for players, but Firestore’s constraints such as limited inequality filters and obligatory ordering by filtered fields impeded our progress.
This led us to PostgreSQL, which granted us the freedom to craft intricate queries with multiple filters, custom sorting and potent SQL loops—thereby enhancing the matchmaking process.
3. The MVP Development Boost With Firebase
Google Cloud Buckets, a Firebase offering, were instrumental in propelling our MVP development. However, as our user engagement surged, Firebase SDK costs became a noticeable expense.
Transitioning Firebase actions to the back end and implementing caching became our strategy to manage expenses without compromising the user experience.
4. Crafting A Global Authentication Tapestry
Our U.S.-centric SDK had to cater to an international clientele. This posed challenges, like when we tried to incorporate test phone numbers for our international team. Firebase’s authentication, while comprehensive, wasn’t always seamless for a worldwide user base.
Firebase’s token-based authentication emerged as a savior, seamlessly verifying users from varied corners of the globe.
5. Sculpting Firebase Into Our Tech Landscape
Seamlessly integrating Firebase wasn’t always straightforward.
We initially used Firestore subscriptions to instantly update players with game histories. However, we noticed that modifying this channel required app and SDK updates, burdening our game developers. Switching to backend web sockets improved this scenario. Now, we can alter data sources or make backend modifications without mandating immediate SDK changes, enabling us to test adjustments with select groups before broad implementation.
Firebase is a powerful tool, but ensuring it syncs with your existing tech stack may require tweaks and refinements.
6. Visioning The Future With Firebase
Firebase’s scalability was enticing. However, our experiences—combined with forward-thinking—highlighted some limitations. We encountered rising costs with certain Firestore calculations. These were optimized either by shifting to PostgreSQL, caching data in the backend or employing Redis.
While Firebase offers convenience and flexible pricing, it’s essential to recognize its limitations and sometimes lean on alternative technologies for cost efficiency and improved performance.
7. Rediscovering With Redis
As our data volume grew, so did our need for an efficient caching solution. Redis presented itself as the answer.
When paired with Firestore, Redis’ performance caching made real-time data retrieval astonishingly rapid. Redis’ distributed nature allowed for improved resilience and scalability, vital for our burgeoning user base.
8. A Glimpse Into Kafka’s Potential
As we transitioned to a microservices architecture, we relinquished one advantage intrinsic to monolithic setups: the inherent knowledge of states across services. While Redis has been invaluable, it may not completely align with our future scalability and communication needs. Eventually, setting up an event-driven channel becomes imperative to facilitate seamless communication between microservices.
Imagine a scenario where a singular microservice handles real-time client communication via web sockets while other services broadcast updates or events. Kafka, with its distributed stream-processing prowess, emerged as an ideal candidate for this role, potentially synergizing well with Firestore’s real-time features.
In the landscape of messaging, Kafka could provide a robust alternative, ensuring that user notifications are consistently reliable.
9. Microservices Model—A Paradigm Shift
Our shift to a microservices model allowed our teams to work on different application components simultaneously, accelerating development cycles.
The beauty of Firebase within this structure was its adaptability. It could function as an independent service or cohesively within a collective of services. A microservices model enhanced scalability. With Firebase in the mix, real-time data synchronization across various services became more streamlined.
Our microservices architecture, enriched with tools like Grafana, gave us a holistic view of our system’s health and performance. By segmenting our architecture, errors became confined to individual services, minimizing widespread system disruptions.
10. Synergy Of Services
The synergy of Firebase, Redis, PostgreSQL and other Google Cloud products shaped a robust back end. Each tool played its part, collectively crafting an unparalleled backend experience. The journey was filled with learning curves and challenges, but the harmony achieved between these technologies stands as proof of their potential together.
By diversifying our tech stack, we’ve positioned ourselves to be adaptive to forthcoming technological advancements.
Final Thoughts
Our expedition into the Firebase landscape, complemented by other potent technologies, has been one of discovery and growth. It’s a reminder that in the realm of tech, adaptability is king. No tool is a one-size-fits-all solution, but with the right combinations, synergies emerge.
To the budding tech innovators out there, let our experiences serve as a testament—embrace challenges, remain agile and never stop exploring. Your perfect tech blend awaits.
Forbes Technology Council is an invitation-only community for world-class CIOs, CTOs and technology executives. Do I qualify?
Read the full article here







