Illustration Image

Cassandra.Link

The best knowledge base on Apache Cassandra®

Helping platform leaders, architects, engineers, and operators build scalable real time data platforms.

4/8/2021

Reading time:2 min

Apache Cassandra Lunch #33: Cassandra Deployment - Ansible and Terraform with Cassandra - Business Platform Team

by John Doe

In case you missed it, this blog post is a recap of Cassandra Lunch #33, covering automation for Cassandra deployment. We discuss using Terraform and Ansible to set up the infrastructure for and handle the provisioning of a new Cassandra cluster. The live recording of Cassandra Lunch, which includes a more in-depth discussion, is also embedded below in case you were not able to attend live. If you would like to attend Apache Cassandra Lunch live, it is hosted every Wednesday at 12 PM EST. Register here now!OverviewThe purpose of using Terraform and Ansible in Cassandra deployment is to reap the benefits of automation. Automated deployment is more repeatable, and takes less time than manual deployment. The procedure for automated Cassandra deployment is split into several different tasks. These tasks then split up and given to separate tools. Tasks suited for Terraform go to Terraform. Others go to Ansible or OpsCenter Lifecycle Manager. All of these tools we have mentioned previously in Apache Cassandra Lunch #22 on Cassandra Deployment and Administration Tools. OpsCenter LCM only works for DSE clusters. So, when working with open source Cassandra, the tasks associated with it are distributed out to other tools.Terraform is useful for infrastructure automation. It handles the creation of systems on cloud platforms and manages network access between them. Ansible handles the installation and management of operating systems on those machines, as well as connections to other cloud technologies, like Amazon S3 for backups. In the past, we used Opscenter to handle the installation of DSE on those systems, as well as things like upgrades and restarts. Ansible can handle those tasks when working with open source Cassandra. The necessary deployment tasks fit neatly into 4 categories: Infrastructure, Installation, Configuration, and Maintenance. Different tools are useful for different parts of this procedure, even if they can do multiple tasks. Terraform is most useful for working on the infrastructure level, sitting on top of cloud platforms like AWS and GCP setting up the foundations of our system. Ansible is potentially useful for infrastructure as well but works better for the Installation and Configuration tiers. ResourcesThe current state of Anant’s deployment playbook is based on publicly available resources found previously. Working with these resources helped us develop our own set of tools to use Terraform and Ansible for Cassandra deployment.How to Build a Multi-DC Cassandra Cluster in AWS with OpsCenter LCMjphaugla/opscenterLCMDocker: Docker Opscenter Life Cycle Manager environmentjustinbreese/dse-opscenter-api-examples: Some examples on how to work with the DataStax Opscenter APIyabinmeng/terradselekane/ansible-cassandra Cassandra Link | ANANTintuit/dse-pronto Cassandra Link | ANANT Cassandra.LinkCassandra.Link is a knowledge base that we created for all things Apache Cassandra. Our goal with Cassandra.Link was to not only fill the gap of Planet Cassandra, but to bring the Cassandra community together. Feel free to reach out if you wish to collaborate with us on this project in any capacity. We are a technology company that specializes in building business platforms. If you have any questions about the tools discussed in this post or about any of our services, feel free to send us an email! Posted in Modern Business | Comments Off on Apache Cassandra Lunch #33: Cassandra Deployment – Ansible and Terraform with Cassandra

Illustration Image

In case you missed it, this blog post is a recap of Cassandra Lunch #33, covering automation for Cassandra deployment. We discuss using Terraform and Ansible to set up the infrastructure for and handle the provisioning of a new Cassandra cluster. The live recording of Cassandra Lunch, which includes a more in-depth discussion, is also embedded below in case you were not able to attend live. If you would like to attend Apache Cassandra Lunch live, it is hosted every Wednesday at 12 PM EST. Register here now!

Overview

The purpose of using Terraform and Ansible in Cassandra deployment is to reap the benefits of automation. Automated deployment is more repeatable, and takes less time than manual deployment. The procedure for automated Cassandra deployment is split into several different tasks. These tasks then split up and given to separate tools. Tasks suited for Terraform go to Terraform. Others go to Ansible or OpsCenter Lifecycle Manager. All of these tools we have mentioned previously in Apache Cassandra Lunch #22 on Cassandra Deployment and Administration Tools. OpsCenter LCM only works for DSE clusters. So, when working with open source Cassandra, the tasks associated with it are distributed out to other tools.

Terraform is useful for infrastructure automation. It handles the creation of systems on cloud platforms and manages network access between them. Ansible handles the installation and management of operating systems on those machines, as well as connections to other cloud technologies, like Amazon S3 for backups. In the past, we used Opscenter to handle the installation of DSE on those systems, as well as things like upgrades and restarts. Ansible can handle those tasks when working with open source Cassandra. 

The necessary deployment tasks fit neatly into 4 categories: Infrastructure, Installation, Configuration, and Maintenance. Different tools are useful for different parts of this procedure, even if they can do multiple tasks. Terraform is most useful for working on the infrastructure level, sitting on top of cloud platforms like AWS and GCP setting up the foundations of our system. Ansible is potentially useful for infrastructure as well but works better for the Installation and Configuration tiers. 

Resources

The current state of Anant’s deployment playbook is based on publicly available resources found previously. Working with these resources helped us develop our own set of tools to use Terraform and Ansible for Cassandra deployment.

Cassandra.Link

Cassandra.Link is a knowledge base that we created for all things Apache Cassandra. Our goal with Cassandra.Link was to not only fill the gap of Planet Cassandra, but to bring the Cassandra community together. Feel free to reach out if you wish to collaborate with us on this project in any capacity. We are a technology company that specializes in building business platforms. If you have any questions about the tools discussed in this post or about any of our services, feel free to send us an email!

Related Articles

cassandra
devops

Cassandra - DevOps

niqdev

2/17/2023

stargate
cassandra.lunch
cassandra

Checkout Planet Cassandra

Claim Your Free Planet Cassandra Contributor T-shirt!

Make your contribution and score a FREE Planet Cassandra Contributor T-Shirt! 
We value our incredible Cassandra community, and we want to express our gratitude by sending an exclusive Planet Cassandra Contributor T-Shirt you can wear with pride.

Join Our Newsletter!

Sign up below to receive email updates and see what's going on with our company

Explore Related Topics

AllKafkaSparkScyllaSStableKubernetesApiGithubGraphQl

Explore Further

cassandra.deployment