Code Monkey home page Code Monkey logo

databricks-cloud-automation's Introduction

Databricks Cloud Automation Modules

Simplify, accelerate, and secure Databricks cloud deployments

Introduction

This project aims to reduce the time it takes to deliver and troubleshoot common cloud workloads and scenarios with Databricks.

Install

From PyPI (easier):

This is recommended only if you intend to primarily interface with the terraform modules using the built-in GUI

pip install databricks-cloud-automation

Install from source (recommended for direct terraform deployments):

Installing from source is recommended if you intend to use terraform to deploy the modules directly. For example, yoy may wish to clone this repository in an existing directory for your terraform project.

  1. git clone https://github.com/databricks/databricks-cloud-automation.git
  2. cd databricks-cloud-automation
  3. pip install .

Using the Terraform modules

Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions. Each Terraform module is located in the modules directory. You will interface primarily with each module through the terraform CLI utility. To familiarize yourself with using these terraform modules, see their getting started guide. As you become more familiar with our modules our you would like to contribute a new module, you may find our docs/advanced-guide.md useful.

Using the GUI

We provide a UI to simplify using the Terraform modules. Instead of passing variables to the module and creating plans to execute a module, instead you will pass variables through a browser based form. While this reduces the learning curve for those new to Terraform, the tradeoff is loss in some of the flexibility and functionality of the Terraform utility. For example, advanced features like deploying multiple states for the same module, importing a pre-deployed existing resource into a state, or modifying a module to tailor it to your specific deployment are not possible through the UI and instead should be handled directly through the Terraform CLI.

To use the GUI, add 2 more steps to the installation:

  1. databricks-cloud-manager
  2. Open a browser and navigate to localhost:5000. Select a module to begin

Notes:

To report an issue or feature request, please use the Github Issues tracker

When providing access/secret keys to use a module on a given cloud provider, it is recommended that you create a new role that is locked down to only make the changes (creates and updates, primarily) necessary. For example, if you are creating a connection to AWS Redshift, you should allow DescribeClusters permission without any Write access level permissions.

Disclaimers

  • The UI server is only intended to be run locally by using the databricks-cloud-automation CLI command. It is not intended to be run as a web service.
  • Databricks does not provide formal support or SLA for this project.

databricks-cloud-automation's People

Contributors

dillonbost-db avatar dillonbostwick-zz avatar pohlposition avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.