If you’ve spent some time getting to know Neo4j, then you know one of our ongoing adages is “graphs are everywhere.”
It’s true. Graphs are increasingly ubiquitous in intelligent applications, with widespread excitement at their power to harness and connect data in powerful ways. Today, we’re happy to announce Neo4j is taking another step closer to being everywhere you need it.
Enter Neo4j Aura Enterprise: The most powerful graph database for the cloud enterprise.
Available today, Aura Enterprise is the fully managed cloud database service for large organizations rapidly building mission-critical, global-scale graph applications.
Key features of Aura Enterprise:
- Performance at Scale
- Enterprise-Grade Security
- Predictable Pricing
- Reliability for Essential Applications
- 24×7 Premium Support
Bringing Us Closer to a Multi-Cloud Graph Future: Launching Aura Enterprise Early Access Program on AWS
Starting today, Neo4j Aura Enterprise is now available on Google Cloud. Further, to meet strong demand from a wide range of customers wishing to run Neo4j on Amazon Web Services (AWS), Aura Enterprise is also now available on AWS as part of an early access program. This marks an important step in our vision to make Neo4j multi-cloud. If you are interested in our AWS early access program, contact us here.
A Peek Under the Aura Hood
We built Neo4j Aura so our customers can use the power of graphs without the complexity of running a reliable, secure DBMS. We’ve taken our expertise from building Neo4j itself and baked that into a completely automated system for operating it.
Neo4j Aura’s self-monitoring, self-healing architecture is built on two key technologies: Kubernetes and Neo4j’s Causal Clustering.
Kubernetes Container Orchestration
Kubernetes is the standard container orchestration system, and provides a reliable, efficient way of running software. Of particular importance is how Kubernetes distributes processes across servers, ensuring they have the resources they need, and how it automatically adapts to failure by restarting failing processes.
Kubernetes has various algorithms built into it to update running software. Consistent distributed systems like Neo4j, however, have particularly complex needs when it comes to updating them safely – so we’re not able to rely on the built-in algorithms.
Instead, we’ve taken advantage of Kubernetes’ pluggable design and built an operator for Neo4j. This means that we can provide our own update logic while still taking advantage of all the facilities that Kubernetes provides.
Neo4j Causal Clustering
Causal Clustering is Neo4j’s implementation of the Raft consensus algorithm. It enables a cluster of servers to cooperate together to reliably and consistently store data in the face of possible failures.
Each Neo4j Aura database is backed by a causal cluster of three servers distributed across different data centers; it can thus survive the failure of any one of those servers, or even the entire data center that it’s running in, while still guaranteeing the safety of the data and the availability of the service. Causal Clustering combines intelligently with Neo4j’s Drivers to ensure that failures are handled invisibly to applications that run on top of the database.
We also use Causal Clustering to enable database upgrades, security patching and on-demand scaling of databases with no downtime. Our Kubernetes operator carefully updates the database cluster with new software or increased resources by rolling new members in and old members out, all the while maintaining service and guaranteeing safety.
So not only do our customers not suffer outages as a result of software updates, but they don’t even need to think about them. When their systems are straining under unexpected load, their database can be resized to accommodate it without being taken offline at the worst possible time.
Infrastructure and Security
A graph database as a service doesn’t just consist of running servers. It also incorporates a wide range of other infrastructure, such as networking components and storage devices. Here we delegate wherever possible to public cloud providers’ battle-hardened, massively scalable services. So Neo4j Aura inherits all of the security and resilience characteristics of the underlying system.
All Neo4j Aura customers’ data is end-to-end encrypted. Over the wire we use secure cryptographic protocols and behind the scenes all data is encrypted at rest and isolated within dedicated virtual networks using mechanisms built into the cloud providers’ systems.
The Aura Engineers’ Approach
A large complex system like Neo4j Aura doesn’t just consist of infrastructure and software components. While building the system we have also built a highly skilled team of engineers who maintain and run it, and that team has been running Neo4j Aura as a production system from day one.
Before we even wrote a line of code, the earliest version of Neo4j Aura was a concierge MVP that we ran for other teams inside Neo4j. Since then we’ve been improving and adding to Neo4j Aura while it’s been running in production and everything we’ve learnt from doing that is baked into the system itself, making it highly reliable and also ensuring that it makes very few demands on the team operating it.
While most of the operations work is handled by our highly skilled site reliability engineering team, responsibility is shared across the whole of the Neo4j Aura product engineering team, meaning that we’re all constantly learning from operational consequences of the engineering decisions that we make. (By the way, we’re hiring!)
Ready to learn more about Aura Enterprise and the future of graphs in the cloud?
Then you won’t want to miss this digital event, Connections: Neo4j and the Cloud, in which both Neo4j colleagues and Aura customers will be discussing the specifics of Aura Enterprise and the future of graph databases in the cloud.
Reserve your spot now for this event on February 24.