A company is migrating its on-premises application that uses Apache Cassandra to Azure. The application requires high availability, linear scalability, and multi-region replication with low latency. The development team wants to minimize code changes and leverage their existing Cassandra skills and tools. Which Azure non-relational data service is the most appropriate for this migration?
- AAzure Cosmos DB (Cassandra API)
- BAzure Managed Instance for Apache Cassandra
- CAzure Cosmos DB (SQL API)
- DAzure Table Storage
Show answer & explanationAnswer & explanation
Correct answer: A. Azure Cosmos DB (Cassandra API)
Azure Cosmos DB with the Cassandra API provides a fully managed, globally distributed, and highly scalable Cassandra-compatible database service. It allows the company to migrate their existing Apache Cassandra applications with minimal code changes, leverage existing tools, and benefit from Cosmos DB's enterprise-grade features and global distribution.
Why the other options are wrong
- B. Azure Managed Instance for Apache Cassandra is a good option for lift-and-shift, but the question implies leveraging Cosmos DB's managed service benefits and global distribution, making the Cassandra API a more integrated and often more cost-effective choice for new cloud-native development or modernization, while still maintaining compatibility. The 'minimize code changes' and leveraging 'existing Cassandra skills' points strongly to an API rather than a full managed instance.
- C. Azure Cosmos DB (SQL API) is a document database with a different API, requiring significant code changes for a Cassandra application.
- D. Azure Table Storage is a simple key-value store, not compatible with Apache Cassandra's column-family data model or its API.
Azure Cosmos DB (Cassandra API)
The Azure Cosmos DB Cassandra API enables Apache Cassandra applications to interact with Azure Cosmos DB as if it were a native Cassandra database. It provides the benefits of a fully managed, globally distributed NoSQL database while maintaining compatibility with Cassandra client drivers and tools.
- Wire protocol compatible with Apache Cassandra.
- Allows migration of existing Cassandra applications with minimal code changes.
- Leverages Cosmos DB's global distribution, elastic scalability, and high availability.
- Supports Cassandra Query Language (CQL).
Memory trick: Think 'Cassandra API: Seamless Cloud Move for Elephant Data'.