Fauna's global application partner ecosystem
Wyatt Wenzel|Nov 30th, 2022|
For companies building multi-region or global applications, scaling the underlying database has historically been an enormous engineering challenge. With legacy technology, managing sharding strategy, data replication, global consistency, and security are just a subset of the considerations a development team needs to reason about and engineer around to support the growth of an application from single to multi-region. On the other hand, Fauna's architecture was designed to support use cases with growing user bases and evolving access patterns. Fauna is a distributed document-relational database, delivered as a global API. It combines support for semi-structured data (like a NoSQL database) with powerful relational features such as foreign keys, views and joins — meaning it can support a diverse set of use cases and accommodate shifting access patterns. A native serverless architecture means no operations are required — sharding, provisioning, and replication are delivered automatically. Fauna is ACID-compliant and offers globally distributed active-active writes.
New features enable further flexibility
Fauna’s recent introduction of Intelligent Routing and Virtual Private Fauna augments Fauna’s long-standing support for businesses delivering applications with a multi-region or global user base. With Intelligent Routing, developers building on Fauna now have a single global endpoint that automatically routes requests to the closest database node. Meanwhile, Virtual Private Fauna offers a new way of deploying Fauna that lets you specify exact performance requirements for your workloads and choose both the geographic region and cloud provider in which you want to consume Fauna. Fauna introduced these features with flexibility and developer experience top-of-mind; depending on your business requirements (including data residency or data sovereignty), Fauna has a global deployment model that can support your business.
Building together
While Fauna’s architecture and features satisfy the database requirements for global applications, Fauna maintains a diverse integration ecosystem to deliver the other functionality necessary to support performant, global applications. Designed as an API, Fauna is built for interoperability and composability with other core technologies in modern application architectures that are built on edge, microservices, cloud, and API-first foundations (often known as the MACH stack). Edge functions, frontend platforms, authentication/authorization, storage, messaging/queues and a host of other services and functionality are needed to deliver the superior experience developers, consumers and business professionals expect.
Leading technology providers in Fauna’s partner ecosystem that unlock these next generation global application architectures include Cloudflare, Netlify, AWS, Azion, Vercel, Fastly, and Auth0. Check out other technologies we’re collaborating with to build globally performant applications on our partners page.
Let’s review how these complementary technologies help Fauna deliver on its mission to make working with operational data productive, scalable, and secure for every software development team.
Cloudflare
Fauna and Cloudflare share the same global DNA. When combined, they become an ideal platform to build low latency services that can handle any load with ease. Cloudflare Workers are globally distributed functions that execute as close to the end user as possible, lowering latency. Thanks to its nonpersistent connection model based on HTTP, Fauna can be integrated seamlessly with Workers. Applications using both services can be infinitely scalable with no need to manage infrastructure. Developers can rely on Cloudflare and Fauna’s unique global transactional capabilities to ensure that mission-critical business data is always strongly consistent with minimal latency.
Building with Fauna, Cloudflare Workers, and Cloudflare Pages enables you to create a globally distributed, strongly consistent, fully serverless REST API. Together, Cloudflare and Fauna deliver more powerful stateful applications that scale dynamically and maintain strong consistency without any additional configuration, allowing our joint customers to bring both data and logic to the edge. Check out the Fauna and Cloudflare quick-start for instructions on how to integrate Fauna and Cloudflare.
Fauna and Cloudflare customer Fabriq illustrates the benefit of using these complementary technologies together:
“Fabriq enables operators and managers on shop floors globally to collaborate. Our single AWS region EC2 and Aurora infrastructure didn’t enable us to meet the security and performance needs of our customers and scaling across regions would have been too complex and expensive,” said Yacine Hmito, Head of Technology at Fabriq. “With Fauna we get a strongly consistent backend with built-in replication and no operational overhead resulting in a very cost effective way to offer great performance globally. Fauna’s intelligent routing across Region Groups allows us to easily meet our data residency requirements and because Fauna is surfaced as an API it integrates seamlessly with our Cloudflare Workers compute layer.”
Netlify
Netlify offers a unified platform that makes it easy to deploy, scale, and maintain globally distributed Jamstack websites and apps. Netlify’s development workflow, including continuous deployment, high-performance builds, serverless and edge functions, forms, identity, and more are all easy to add to your projects via Netlify’s dashboard and command line tools. Applications on Netlify are extremely fast and secure—the code you deploy gets prebuilt and globally distributed across multiple content delivery networks on multiple clouds to be as close to end users as possible. Netlify replaces servers and maintenance with an automated, productive workflow built for developers; Netlify delivers globally distributed static and dynamic applications alike.
Modern data-intensive applications require speed and flexibility, composability, API-first, and scalable architectures to deliver dynamic and personalized experiences to users. Fauna’s globally-distributed, serverless database delivered as an API seamlessly integrates with Netlify’s serverless/edge model. The operational benefits realized in Netlify and Fauna’s serverless delivery compatibility enable developers to build blazing fast multi-tenant SaaS and mobile apps while minimizing complexity and operational overhead across the globe. Check out the Netlify integration page for examples and sample applications, and Why Netlify and Fauna are my Foundation for Composable Solutions and Using Serverless Architectures to Scale Quickly at Craft Boxing.
Start building with the Fauna Add-on for Netlify, which empowers users to create a fully-featured, globally-distributed data back-end for their applications within seconds.
“We have been working with Fauna for years to help the millions of web developers on the Netlify platform to connect, build and run web apps faster. Developers leverage the Fauna integration to create a globally-distributed data backend for their modern web apps right from the Netlify web development workflow. We look forward to continued integration work with Netlify Graph, a GraphQL-powered integration experience, to make it even easier for developers to focus on differentiating their apps,” said Steven Larsen, VP of Partnerships and Ecosystems at Netlify.
AWS
Customers building globally distributed applications on AWS can be challenged by:
- A database with a rigid data model (document or relational)
- A database designed for single-region workloads or eventual consistency and serializability instead of strict serializability
- A database that requires manually configuring/sharding/provisioning to adapt to shifting access patterns or scale as an application evolves (or introducing a new database entirely)
Fauna abstracts away these concerns with its document-relational data model that combines the flexibility of NoSQL with the relational querying capabilities and security of SQL systems. If developers building on AWS hit a wall with their NoSQL database (i.e., app requirements now demand complex queries and joins), they often need to adopt a side-car relational database. Fauna eliminates this by offering advanced relational features in a document-oriented database. Fauna’s serverless and distributed model offers multi-region distribution and global replication by default — all transactions are ACID, and replication, sharding, and scaling are automated.
Fauna’s serverless and distributed architecture complements AWS Lambda, API Gateway, AppSync, Step Functions, and customers of other AWS serverless products looking to build performant and scalable multi-region applications. Check out the Achieving Multi-Region Reliability with Step Functions and Fauna template and the Fauna AWS Workshop for instructions on how to build multi-region applications with Fauna and AWS services like Lambda and API Gateway. For further reading, learn why Fauna customer Hannon Hill is using Fauna alongside Lambda, API Gateway, and the Serverless Framework and how business outcomes improved with a serverless architecture.
Azion
Fauna and Azion deliver global dynamic applications at the edge; through the Azion Edge Computing Platform, you can build, secure, deliver, and observe modern applications, serverless functions, and content from the edge in a secure, low-latency manner.
Deploy Fauna through your Azion account on the Azion marketplace and watch Fauna and Azion’s Building performant edge applications with Azion and Fauna webinar that reviews why Fauna and Azion are a great match to deploy secure applications on the edge, and how Fauna and Azion’s unique architectural alignment supported a joint customer requiring a global rate limiting solution.
Vercel
Vercel enables developers to deploy frontend applications instantly without configuration while dynamically adapting with your application’s growth from zero to global scale. Vercel abstracts away server management, scaling, and infrastructure so you and your engineering team can focus on shipping features and writing code. At the same time, the data layer is critical in developing, launching, and scaling a product with dynamic data. Fauna complements Vercel with its database delivered as an API that lets you add a serverless datastore to your projects in minutes, scales as you grow, and gives you access to features such as a document-relational data model, document streaming, and temporality that enable modern application experiences. Developers use Vercel in conjunction with Fauna to build new applications that are fast and responsive, as well as to modernize existing business applications.
For global applications that mandate low latency and dynamic data, Fauna and Vercel allow developers to not only push raw static HTML out to the edge, but also the dynamic code that produces it through Fauna’s distributed database and Vercel’s edge and serverless functions. By pushing some of an application’s business logic to the edge and running serverless functions in those locations, Vercel and Fauna offer the best of both worlds for developers building global apps:
- Everything is optimized to the user's location
- No server setup — zero operations
- Microservice architectural style
- Fast serving time
- Powerful and product development experience
- No connection pools; Fauna works seamlessly with Vercel’s serverless and edge functions
- Scales transparently with your API requests
- Fast global reads and writes
- Modern security integrations (including Fauna and Vercel’s Auth0 + Okta integrations).
- Choice of where your data resides through Fauna’s Region Groups and Virtual Private Fauna
- Native multi-tenancy — ideal configuration for global SaaS applications
Check out this video to learn more about how DIGITALAX uses Fauna with Vercel to power their applications.
"Fauna and Vercel allow DIGITALAX to continue to move fast, scale as needed and remain free from operational overheads — absolutely essential as we continue to build out core layers for web3 digital fashion and metaverse infrastructure,” said Emma-Jane MacKinnon-Lee, CEO/Founder of DIGITALAX.
Vercel customers can install Fauna right from the integrations marketplace by clicking here. To integrate Fauna, hit the ‘Add’ button. You can then choose to “Add a Fauna database” to all your projects or to a specific set of projects. If you’re an existing Fauna customer, you can use the integration with your existing Fauna credentials.
Fastly
Fastly’s Compute@Edge enables developers to deploy application logic to Fastly’s global edge cloud network for reduced latency and increased performance. While Fastly provides the global network/compute infrastructure, databases are necessary to store and serve data in dynamic web and SaaS apps with low latency, and high performance + availability.
Together, Fastly’s Compute@Edge and Fauna’s database delivered as an API allow developers to focus on delivering innovative, low latency application experiences at a higher velocity. The intrinsic benefits of this serverless modality are complemented by Fauna’s flexible document-relational data model. This frees developers building applications on the Fastly network from the up-front burden of having to reason around how to scale an app from both an operational and data model perspective in the event access patterns change — a common outcome for dynamic, global applications. Access patterns may shift over time, requiring a re-write of a database, procuring a complementary database, or a full migration. These concerns are abstracted away with Fauna and Fastly.
Fauna pairs with Fastly’s Compute@Edge to keep both compute and the data close to your end users to keep global latency low. Compute@Edge and Fauna’s serverless footprint allows you to focus more on building and less on managing infrastructure. Check out Fauna on the Compute@Edge partner network and review the quick-start for a guide on how to build your next application delivered on the edge with Fauna and Fastly, as well as a template on How to build an Edge API Gateway with Fastly’s Compute@Edge and Fauna. Taking it out of the abstract and into a real customer scenario, learn more about How Fastly and Fauna are helping Climatiq enable data-driven climate decisions using distributed and serverless technologies.
“Adopting Fauna and Compute@Edge early on has been instrumental in our ability to test and release features quickly. It allows us to maintain our data logic in a single place, and provides enough flexibility to adapt to different requirements across our application,” said Isis T. Baulig, CTO at Climatiq.
Auth0
The Auth0 Identity Platform, a product unit within Okta, takes a modern approach to identity and enables organizations to provide secure access to any application, for any user. Auth0 is a highly customizable platform that is as simple as development teams want, and as flexible as they need. When building global applications, authentication and authorization are critical elements for ensuring a secure and frictionless user experience. Although you could implement these flows on top of Fauna, when it comes to security, it makes sense to let the experts in the field handle that work for us. Auth0 does a great job at providing libraries for this functionality out-of-the-box. Offering users alternative ways to authenticate, such as social login, is valuable for both the end user and for the developer since it has the potential to reduce the amount of support cases around lost passwords or blocked accounts.
Auth0 authored a piece titled What is Fauna, and How does it work with Auth0 that does a very nice job of illustrating how modern serverless technologies like Fauna and Auth0 enable novel architectures that simplify the developer experience and abstract away the most cumbersome elements of building multi-region or global applications (and applications in general, for that matter). With Fauna and Auth0, you can set up robust multi-region authorization and authentication rules without requiring you to set up a multi-region back end due to Fauna’s inherent multi-region design. Since Fauna’s security system can reason with the content of a JWT, you no longer need to write custom logic in your backend to secure your calls. Instead, you can write that logic as close to the data as it can possibly be, in the database.
Developers building on Fauna can easily add Auth0 as an SSO provider, while enabling you to define roles in Auth0 and ensuring that those roles are passed onto Fauna to only provide users the privileges they require to access or modify data. Check out the integration.
Build your next global application with composable solutions
With these core sets of scalable and composable technologies, you can confidently build your next global application without having to reason about costly architectural transformations as your application evolves over time. Our vision is to help provide the building blocks to support application builds with zero ops. Is there a key integration you’d like to see Fauna build? Please reach out in our community forums, discord, or drop us a line directly.
As always, you can get started with Fauna for free.
If you enjoyed our blog, and want to work on systems and challenges related to globally distributed systems, and serverless databases, Fauna is hiring
Subscribe to Fauna's newsletter
Get latest blog posts, development tips & tricks, and latest learning material delivered right to your inbox.