Attention Readers:
This blog is a 3-part series about Apache Cassandra’s No SQL database. In Part 1, I gave a brief overview about Open-Source Apache Cassandra. The next part of my blog will be about Azure Managed Instances for Apache Cassandra. Its features, use case, installation, and connectivity.
Azure Managed Instance is one of many managed services offered through Microsoft Azure Cloud. The service has been continuously updated since it went GA in November 2021. I was part of the team that evaluated the Cassandra MI features to be used in Production. To produce this blog, I have mainly used Datastax, Apache and Microsoft official web pages.
Enjoy reading! !
TABLE OF CONTENT
1. Introduction2. Deploying Cassandra MI3. Important Considerations when Deploying Cassandra’s MI Resource Steps to deploy a Cassandra Datacenter via Azure Portal5. Steps to connect to the Cassandra Datacenter6. Azure CLI7. Assessing Datacenter Details and Node Details CQLSH Commands8. Conclusion9. Conclusion9.
Cassandra MI (or Azure Managed Instance) for Apache Cassandra provides a highly scalable and highly available service that is completely managed by Azure. The cluster can be deployed instantly, and Microsoft Azure manages the cluster updates, patching and replication. Customers can access all the open-source Cassandra features in Cassandra MI. They can also create hybrid deployments by connecting their Cassandra Cluster on-premises to the Azure cloud, and running their data centres with minimal maintenance overhead.
Deploying Cassandra MI:
Cassandra MI deployment pre-requisites:
Azure Services Needed:
Azure Subscription
Azure Resource Group
Azure Virtual Network with 16 Address Space
Minimum 1 Subnet/24 Address Space
IAM Permissions and NSG Setting:
IAM role of “Network Contributor”, Azure Cosmos DB Service principal.
Network Security Group Settings.a. Outbound Rules should allow these Service Tags for HTTPS Protocol at Port 443:i.Storageii. AzureKeyVaultiii.EventHubiv. AzureMonitorv. AzureActiveDirectoryvi. AzureResourceManagervii. AzureFrontDoor.Firstpartyviii. GuestAndHybridManagementix. ApiManagementx. For IP address: 104.40.0.0/13.104.0.0/14 40.64.0.0/10b. Cassandra MI listens to the following ports for its various services. These ports should not be used for any other services or resources. 8443 – httpsCA (https with Client authentication)ii. 9443 – HTTPS servlet transportationiii. 7001 – TLS Internode communications (used if TLS enabled).iv. 9042 – CQL native transport portv. 7199 – JMXvi. 9160 – Thrift Client APIvii. 7000 – Inter-node communications
Important Considerations When Deploying Cassandra’s MI Resource
The Disk SKU Sizes available for Cassandra MI.Standard_E8s_v4 deployment
Standard_E16s_v4
Standard_E20s_v4
Standard_E32s_v4
Standard_DS13_v2
Standard_DS14_v2
Standard_D8s_v4
Standard_D16s_v4
Standard_D32s_v4

Cassandra MI can only be used with Premium Disk (P30).
Cassandra MI can only be deployed using Azure Portal. There is a limit to how many nodes you can deploy (100 per Data Center). Azure CLI can be used to deploy additional Nodes.
Only Standard_DS14_v2 SKU size can have 64 disks attached to Azure Portal. All other SKU sizes can only have 32 disks attached to Azure Portal. Azure CLI allows you to add disks custom-made.
The Public Preview of the Nodetool commands is available for Cluster Database Management. Microsoft Azure cannot guarantee any SLAs for running these Nodetool command as it can destabilize clusters and is best suited to a non-Production environment. Cassandra MI only allows limited Nodetool Utility commands.
Cassandra MI can be used to set up gossip protocol settings for interode communication. The certificates for secure interode communication