February 7, 2023

How to Integrate IT Service Management Tools With Snowflake

By Satish Sanjeev Addagarla

As administrators of the Snowflake Data Cloud platform begin to see adoption grow, they have to deal with an increasing backlog of requests for user onboarding, data access, and project resources such as databases, schemas, warehouses, etc. 

Processing these requests manually does not scale; it can take a lot of time and effort, slowing down the overall project onboarding. Manually handling these requests is also error prone and can be difficult to audit or reproduce if needed.

Without a larger-scale solution, much of an employee’s efforts can be spent on manual, repetitive work, which may lead to human errors and reduced productivity. At phData, we strive to solve complex business problems through automation and tools, creating more time for high-value work. 

phData has built a Snowflake project administration tool within the phData Toolkit called the Provision tool that specifically handles the provisioning of Snowflake resources and privileges with an infrastructure as code approach. The end goal is to make resource provisioning to Snowflake easier, faster, and more secure. 

After all, when it comes to Snowflake, we’re experts! 

In this blog, you will learn about the Provision tool, focusing specifically on its integration with standard enterprise ITSM (IT Service Management) ticketing tools like Jira and ServiceNow with Snowflake.

What is The Provision Tool?

The Provision tool is a Snowflake administration tool developed by phData which unifies the creation and management of users, roles, databases, tags, and other Snowflake resources.

As you know, data governance can be a hefty, time-consuming task to manage on your own. The Provision tool can automate Snowflake resource management and provides the ability to maintain complex information architectures in a structured manner as code.

In addition to provisioning automation, the Provision tool can also integrate with ticketing systems like Jira and ServiceNow – commonly known as ITSM (IT Service Management) –  tools, read the tickets, and automatically process the Snowflake provisioning requests. 

Here are some challenges we have addressed for our customers using the Provision tool.

A diagram that shows the many challenges the Provision tool helps with in Snowflake.

Why Integrate ITSM Tools With Snowflake?

The Provision tool supports two ways to provision objects in Snowflake: git-based provisioning in an infrastructure as code approach, and integration with a ticketing tool.

Integrating your ITSM ticketing tools with Snowflake enables self-service governance. Users can create requests in their ITSM ticketing tool for creating and managing different Snowflake objects. All the tickets are processed according to your approval workflow.

Once the tickets are approved, the Provision tool picks up the tickets, translates them into Snowflake SQL queries, executes them in Snowflake, and posts the status back to the ticket.

High-Level Workflow

When a user creates an access request in their ITSM, the Provision tool picks up the tickets in approved status, reads the parameters in the ticket, and generates SQL statements. The generated statements are executed in the configured Snowflake account, and a comment is posted back to the ticket with the task completion status. 

This comment can then be used via ITSM automation to automatically resolve the ticket or trigger the next part of the workflow.

A simple diagram of 3 parts that shows how the Provision tool works.

Deployment

The Provision tool is a Java-based standalone tool that runs in a CI/CD pipeline with minimal requirements. With the Provision tool, Snowflake provisioning can be triggered through a scheduled pipeline or commit-based webhook.

ITSM Integration Triggers

Some CI/CD tools support webhook-based triggers for Jira/ Servicenow. By configuring the webhooks, the pipelines auto-detects new ticket creation events and triggers the Provision tool for the respective ticket immediately. When the webhooks are not supported, the Provision tool ITSM integration can run on a schedule that picks up and executes all open tickets after the last run.

Persisting State

After each successful run, the Provision tool persists the changes from the ticket in the source code repository, and the same ticket is not processed again. This not only maintains your Snowflake infrastructure as declarative code, but also provides a detailed change log for audit purposes.

Closing

Integrating your ticketing tools with Snowflake using the Provision tool enables greater team efficiency. All the Snowflake requests are tracked in the ticketing tool and automatically processed through the Provision tool without manual intervention or waiting. 

Want to learn more? Explore the Provision tool in more detail today to see how phData help accelerate your Snowflake success story through our automation software and services. 

Data Coach is our premium analytics training program with one-on-one coaching from renowned experts.

Accelerate and automate your data projects with the phData Toolkit