How to Integrate IT Service Management Tools With Snowflake

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 Tram 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 Tram, focusing specifically on its integration with standard enterprise ITSM (IT Service Management) ticketing tools like Jira and ServiceNow with Snowflake.

What is Tram?

Tram 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. Tram 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, Tram 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 Tram.

challenges

Why Integrate ITSM Tools With Snowflake?

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

tram

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, Tram 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, Tram 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 diagram showing a number of technologies working together.

Deployment

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

Tram 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 Tram provisioning for the respective ticket immediately. When the webhooks are not supported, Tram 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, Tram 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 Tram enables greater team efficiency. All the Snowflake requests are tracked in the ticketing tool and automatically processed through Tram without manual intervention or waiting. 

Want to learn more? See Tram in action!

Let phData help accelerate your Snowflake success story through our automation software and services. 

Accelerate and automate your data projects with the phData Toolkit

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