5 Challenges of Simplifying DevOps for Data Apps
Jul 10, 2020 | 4 Min Read
Author: Snowflake Staff
Snowflake Thought Leadership
The benefits of building a DevOps culture for software companies are clear. DevOps practices integrate once-siloed teams across the software development lifecycle, from Dev to QA to Ops, resulting in both faster innovation and improved product quality. As a result, most software development teams have deployed tools to enable DevOps practices across their workflow.
Most companies that build software have a strong DevOps culture and already have a mature tool chain in place to enable it. But for developers who need to embed a data platform into their applications to support data-intensive workloads, significant challenges emerge. To address these challenges, application developers are simplifying their DevOps processes on a cloud data platform.
Below are five of the most common challenges for developers who are building data applications and want to incorporate DevOps workflows. For details on how Snowflake’s cloud data platform can help with these challenges, download our ebook, 10 Ways to Simplify DevOps for Data Apps with Snowflake.
- Creating isolated environments: Standing up isolated, ACID-compliant, SQL-based compute environments often requires a lengthy process of procuring, creating, and managing separate cloud resources for each stage of the pipeline.
- Adding new features: New features commonly require schema changes. But schema changes can be expensive operationally because they require developers to coordinate their code changes with updates to the database schema.
- Seeding preproduction environments with production data: As most developers know, it’s risky to validate feature changes using test data. Even if the schema is the same between production and preproduction, production data is still important to properly validate code changes. And with traditional databases, seeding preproduction environments with production data is so costly and time-consuming that it can result in schedule delays or compromised product quality.
- Handling errors with the automated release of a database and related application code: With traditional systems, developers have to make backups before releasing new changes and then restore data in the event of a failure. But both backup and restore operations are very time-consuming and costly. The larger the amount of data, the more expensive and time-consuming these operations are.
- Scaling preproduction environments: Historically, preproduction environments have been smaller in scale due to the costs associated with procuring, standing up, and managing production-scale environments. This meant that developers have had to suffer through slow development cycles.
Snowflake significantly simplifies DevOps workflows for app builders with features and capabilities such as Zero-Copy Cloning, Time Travel, native JSON support, near-zero maintenance, and support for standard SQL and all major programming languages. Developers can leverage their existing tools for version control and CI/CD automation, and take advantage of a broad ecosystem of tools for database change management and data integration.