{"id":35840,"date":"2019-03-12T06:00:08","date_gmt":"2019-03-12T13:00:08","guid":{"rendered":"http:\/\/devblogs.microsoft.com\/premier-developer\/?p=35840"},"modified":"2019-03-07T08:48:15","modified_gmt":"2019-03-07T15:48:15","slug":"deployment-models-for-apache-cassandra-on-azure-v3","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/premier-developer\/deployment-models-for-apache-cassandra-on-azure-v3\/","title":{"rendered":"Planning the future for NoSQL Cassandra DB Applications on Azure"},"content":{"rendered":"<p>In this post, App Dev Manager <a href=\"https:\/\/www.linkedin.com\/in\/shany-wiesel-29776b23\/\">Shany Wiesel<\/a> explains the different deployment models for Apache Cassandra on Azure.<\/p>\n<hr \/>\n<p>Microsoft Azure is an open cloud platform that runs both Microsoft as well as non-Microsoft software which includes operating systems, application servers, messaging middleware as well as SQL and NoSQL databases from both commercial and open source models.<\/p>\n<p><a href=\"http:\/\/cassandra.apache.org\/\">Apache Cassandra<\/a> is a commonly used, high performance NoSQL database. Customers that currently maintain Cassandra on-premises may consider migration Cassandra DBs workloads to the cloud. This post explores Cassandra deployment options, as well as provide guidance about determining the best practices for your use case.<\/p>\n<h2>Azure Cosmos DB PaaS Vs. Cassandra DB IaaS<\/h2>\n<p>Choosing between running your application with Azure Cosmos DB or with Cassandra DBs on Azure VMs is a choice between <a href=\"https:\/\/azure.microsoft.com\/en-us\/overview\/what-is-paas\/\">PaaS<\/a> and <a href=\"https:\/\/azure.microsoft.com\/en-us\/overview\/what-is-iaas\/\">IaaS<\/a> .<\/p>\n<h2>Azure Cosmos DB PaaS<\/h2>\n<p>When running your application with Cosmos DB, you take the <a href=\"https:\/\/azure.microsoft.com\/en-us\/overview\/what-is-paas\/\">PaaS<\/a> (Platform as a service) approach which means that your solution includes build-in scalability, high-availability, and multi-tenant capability. It places the responsibility of managing and scaling the infrastructure beneath your application. This removes most of the day-to-day responsibility of managing the platform that delivers your application and changes many of the costs to \u2018as consumed\u2019 rather than for the compute you use.<\/p>\n<p><a href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/azure-cosmos-db-microsofts-globally-distributed-multi-model-database-service\/\">Azure Cosmos DB<\/a>\u00a0is the industry\u2019s first fully managed globally distributed, massively scalable, and multi-model database service. It is designed to allow developers to elastically scale throughput and storage across any number of geographical regions worldwide\u2014backed by industry-leading comprehensive\u00a0<a href=\"https:\/\/azure.microsoft.com\/en-us\/support\/legal\/sla\/cosmos-db\/v1_1\/\">SLAs<\/a>\u00a0including throughput, availability, consistency, and &lt;10ms latency guarantees.<\/p>\n<p>Azure Cosmos DB also offers support for <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cosmos-db\/cassandra-introduction\">Apache Cassandra API<\/a> facilitating <a href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/dear-cassandra-developers-welcome-to-azure-cosmosdb\/\">Cassandra as-a-service<\/a> powered by Azure Cosmos DB. You can now experience <a href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/a-technical-overview-of-azure-cosmos-db\/\">the power of\u00a0Azure Cosmos DB<\/a> platform as a managed service with the familiarity of your favorite Cassandra SDKs and tools. without any app code changes.<\/p>\n<h2><strong>Cassandra DB IaaS<\/strong><\/h2>\n<p>When running your application with Cassandra DB on Azure VMs you take the <a href=\"https:\/\/azure.microsoft.com\/en-us\/overview\/what-is-iaas\/\">IaaS<\/a> (Infrastructure as a service) \u201cLift and Shift\u201d approach which provides flexibility to build cloud independent application with and responsibility to plan and maintain scalability, high-availability and security requirements of your application.<\/p>\n<p>Azure IaaS makes provisioning or scaling of platforms easier and help shift focus on your business needs. It provides the tools to configure availability sets of VMs and scaling up and out capabilities, NSGs (Network security groups), choosing between storage redundancy options and more. When combined, you can deploy Cassandra, allowing you to scale capacity according to your requirements.<\/p>\n<p>Building resilient services on Azure IaaS requires careful planning and deliberate architecture for both applications servers as well storage layers. Availability. Replication factor and strategies, consistency, scalability and geo-redundancy, security and network topology all needed to be architected.<\/p>\n<p>Azure Architecture center provides example for a deployment model for a <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/architecture\/reference-architectures\/n-tier\/n-tier-cassandra\">Linux N-Tier application in Azure with Apache Cassandra<\/a><\/p>\n<h2>In Conclusion<\/h2>\n<p>Azure provides options, it is your decision whether you want to run your own NoSQL Cassandra database on Azure IaaS, or move to a fully managed, PaaS Cosmos DB.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this post, App Dev Manager Shany Wiesel explains the different deployment models for Apache Cassandra on Azure. Microsoft Azure is an open cloud platform that runs both Microsoft as well as non-Microsoft software which includes operating systems, application servers, messaging middleware as well as SQL and NoSQL databases from both commercial and open source [&hellip;]<\/p>\n","protected":false},"author":582,"featured_media":37840,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[25,8],"tags":[186,3],"class_list":["post-35840","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-data","tag-cosmosdb","tag-team"],"acf":[],"blog_post_summary":"<p>In this post, App Dev Manager Shany Wiesel explains the different deployment models for Apache Cassandra on Azure. Microsoft Azure is an open cloud platform that runs both Microsoft as well as non-Microsoft software which includes operating systems, application servers, messaging middleware as well as SQL and NoSQL databases from both commercial and open source [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/35840","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/users\/582"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/comments?post=35840"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/35840\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media\/37840"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media?parent=35840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/categories?post=35840"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/tags?post=35840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}