OrientDB + Microsoft Azure = Simplified Scale and Zero-Configuration

 

OrientDB is a second generation distributed graph database with the flexibility of documents in one product with an open source, commercial-friendly license (Apache 2 license). First generation graph databases lack the features that Big Data demands: multi-master replication, sharding, and more flexibility for modern complex use-cases.

Why Azure?

Microsoft has a vision of infrastructure and platform services that are not only leading stand-alone offerings, but that also seamlessly extend and interoperate with on-premises Microsoft infrastructure (rooted in Hyper-V, Windows Server, Active Directory and System Center) and applications, as well as Microsoft’s SaaS offerings. Its vision is global, and it is aggressively expanding into multiple international markets.

Microsoft’s brand, existing customer relationships, history of running global-class consumer Internet properties, deep investments in engineering, and aggressive road map have enabled it rapidly to attain the status of strategic cloud IaaS provider. It is second in terms of cloud IaaS market share — albeit a distant second — but far ahead of its smaller competitors. Microsoft has pledged to maintain AWS-comparable pricing for the general public, and Microsoft customers who sign a contract can receive their enterprise discount on the service, making it highly cost-competitive. Microsoft is also extending special pricing to Microsoft Developer Network (MSDN) subscribers.

The broader Microsoft Azure service is a full-featured PaaS offering with significant complementary capabilities; the Virtual Machines are integrated into the overall offering. The IaaS and PaaS components within Microsoft Azure feel and operate like part of a unified whole, and Microsoft is making an effort to integrate them with Visual Studio, Team Foundation Server, Active Directory, System Center and PowerShell. Conversely, Windows Azure Pack offers an Azure-like user experience for on-premises infrastructure. Microsoft has built an attractive, modern, easy-to-use UI that will appeal to Windows administrators and developers. The integration with existing Microsoft tools is particularly attractive to customers who want hybrid cloud solutions.

Zero-Configuration Multi-Master Architecture

OrientDB supports a Multi-Master + Sharded architecture, so all the servers are masters. This provides horizontal scalability and reliability.

With a master-slave architecture, the master often becomes the bottleneck. With OrientDB, throughput is not limited by a single server. Global throughput is the sum of the throughput of all the servers. If you want to scale up, simply add a server node in the network and it will automatically join the existing distributed server cluster with zero configuration. Synchronization occurs automatically as soon as the server is brought online.

Distributed Reliability

Most NoSQL solutions are used as a “cache” to speed up certain use cases, while the master database remains a relational DBMS. For this reason, the average NoSQL product is built more for performance and scalability, while sacrificing reliability.

OrientDB, however, isn’t the average NoSQL DBMS. What happens when a server node crashes? Thanks to its WAL (Write Ahead Logging), OrientDB is able to restore the database content after a crash. Any pending transactions are automatically rolled back, and the server cluster redistributes the load across the available nodes. All the clients connected to the node that failed are automatically switched to an available server node.

Perfect for Azure

Because of the benefits provided by the zero-config, multi-master architecture, OrientDB is perfect for the Cloud, especially Microsoft Azure. Hundreds of servers can share the workload, scaling horizontally across distributed modern data centers.

Installation

To create an OrientDB Community Edition virtual machine from the Azure Marketplace, first log-in to the Azure portal.

Azure-Portal

Next, click on the NEW button.

Azure-New-Highlight

You should see a Create page that looks similar to this:

Azure-Create

Now, click on the Compute option and you should see a Compute sub-page.

Azure-Create-Compute

Click on the Marketplace button.

Azure-Compute-Marketplace

You should see a Marketplace-Compute search page:

Azure-Compute-Marketplace-Search

Click the Filter button.

Azure-Filter-Button

You should see a Filter page with many options.

Azure-Filter-Options

Make sure that Compute Stack v2 is checked and then click the Update button.

Azure-Filter-Compute-Stack

Enter “orientdb community” or a specific version.  You should see a similar result:

Azure-Search

Select the OrientDB edition.

Azure-Search-Result

You should see the OrientDB Community Edition page.

Azure-OrientDB-Page1

Click on the Create button.

Azure-Create-Button

You should see the Create virtual machine page with a Basics sub-page attached.

Azure-Create-Virtual-Machine

Fill out the Name, User name, Password, and Subscription for your OrientDB virtual machine instance.  (We’ll use a password for this example.  But an SSH public key works just as well.)

Azure-Create-Virtual-Machine-Basics

Either create a new Resource Group or select an existing one.

Azure-Resource-Group

Next, choose the Location for your Azure virtual machine.

Azure-Create-Virtual-Machine-Location

Click the OK button.

Azure-OK-Button

You should now see the Create virtual machine – Choose your pricing tier sub-page with several options to choose from.  Select the best fit for your application.

Azure-Create-Virtual-Machine-Size

Click the Select button.

Azure-Select-Button

Now, you should see the Create virtual machine – Settings sub-page.

Azure-Create-Virtual-Machine-Settings

Select the Storage, Network, Monitoring, and Availability settings that best fit your application.  Click the OK button.

Azure-OK-Button

The Create virtual machine – Summary sub-page should be displayed and should reflect your choices.

Azure-Create-Virtual-Machine-Summary

Click the OK button.

Azure-OK-Button

The Create virtual machine – Buy sub-page should be displayed.  It should look something like this:

Azure-Create-Virtual-Machine-Buy

When you are ready, click the Buy button.

Azure-Buy-Button

Finally, click on the Create button and your Azure OrientDB virtual machine should be scheduled for creation.

Azure-Create-Button