Snowflake Defrosts The Data-Intensive Application
Jun 14, 2022
I track enterprise software application development & data management. Jun 14, 2022,
Developers develop software. But wider than this core truth, developers develop software in order to create code that is workable, executable, secure, functional, capable of being integrated and – ultimately – deployable and monetizable. They may also create it to fulfil some higher purpose for humanity and planet with an eye on sustainability, diversity and inclusivity… but essentially they want software to work and find its place with users. Snowflake has worked to try and reflect some (if not all) of these core realities with its latest product release. Snowflake’s Native Application Framework enables developer workflows and tasks by offering a platform for building, monetizing and deploying data-intensive applications in what the company calls the ‘data cloud’ space – a term it capitalizes to define its raison d’être and core technology proposition. With the new Native Application Framework , currently in private preview (meaning that a select group of pre-launch testers are finalizing its functionality nuances as part of a User Acceptance Testing (UAT) process), software developers can build applications and monetize them on Snowflake Marketplace , the firm’s own application portal. What are data-intensive applications? Users can securely install and run those applications, directly in their Snowflake cloud instances, reducing the need for data to be moved. This story gravitates around what Snowflake (and, for that matter, the lion’s share of other cloud-centric software specialists) call data-intensive applications. With every application on that planet, ever, only really existing as a result of the data that comprises it and that it holds, ingests, processes, augments, exchanges and delivers, the notion of a data-intensive application is meant to explain an application with an order of magnitude greater data workload, a potential conduit to big data analytics engines and an inherent architectural appreciation for massive data flows, in whatever form. Defining this higher data-intensive tier further, these are applications that work beyond megabytes and gigabytes into the realm of terabytes and petabytes (exabytes, zettabytes & yottabytes come next) with data that may exist in multiple formats at various stages of unstructured raw to structured states and through complex, tiered, multi-staged analytics pipelines – sometimes executing multiple processes in parallel and sometimes working on data jobs in more sequential steps. "Building on the idea that a data-intensive app isn't defined in terms of the volume of the data it utilizes, but the importance of the data to its core value, we view data-intensive apps as a newer class of apps that put data [combined with] Machine Learning (ML) at the heart of their value," clarified Snowflake, in an official press statement. MORE FOR YOU
This is what Snowflake is good at i.e. apps with a really big plate of data. The company insists that it is committed to providing its customers and partners with the best platform for building data-intensive applications and further states that Snowflake’s Native Application Framework is an important milestone in that journey. How does it all work? For software engineers shouldering the oft-immense tasks associated with building applications across the new cloud-connected landscape, this stuff will make sense – but we can break this technology down and explain it in comparatively digestible terms too. Software developers will use the Snowflake Native Application Framework to build applications using Snowflake functionalities such as stored procedures (software code scripts that can access, build, modify, delete parts of a database) and the related technology actions driven by user-defined functions (UDFs) and user-defined table functions (UDTFs) – all of which are packaged and componentized, approved and checked, tested and secured elements of data-centric application architecture that can be used and reused in use cases that repeatedly surface in many different scenarios. In the world of cloud, an application is not necessarily just an application; it needs to be an app that has all the requisite build mechanics available to it (think of it like the difference between driving and flying, you still move forwards, but there’s a whole different set of turbines powering your journey) – plus it needs to be able to be distributed (remember how we all work remotely around the planet now?) and deployable natively to the new world of cloud. This is what Snowflake has built i.e. a data-first software platform to make the new breed of data-intensive apps a reality. “Applications have been a part of Snowflake’s DNA from day one,” said Chris Child, senior director, product management, Snowflake. “The Snowflake Native Application Framework enables every customer to step into the future with a seamless way to build, distribute and use applications natively in [what we call] the Data Cloud.”
Capabilities here include the Streamlit integration for developing interactive customer interfaces and telemetry features including events and alerts for monitoring and troubleshooting are also under development. Streamlit is a software framework built to simplify and accelerate the creation of data applications and make creating web apps using the Python programming language faster and easier. Using this technology, data scientists are able to go from data and models to deployed apps (in a matter of hours) and only a handful of lines of code. Snowflake also points out the fact that its Native Application Framework accelerates application development by building on the organization's own high availability and disaster recovery, global collaboration capabilities and security posture so developers in the ‘data cloud’ can focus on functionality... and not operational burden. A new era of collaboration
By expanding Snowflake Marketplace to include applications that run natively in the data cloud, customers can get value faster by discovering and installing applications with just a few clicks. They can improve security and governance by using applications directly in their Snowflake instances. “Applications are an integral part of Snowflake’s expansive partner ecosystem. As of April 30, 2022, over 425 Powered by Snowflake partners have built applications that utilize Snowflake as their data infrastructure including Aladdin by BlackRock, Okta Inc. and Warner Music Group. With Snowflake, partners can extend their customer base and get the support they need to build better applications at scale,” stated the company, in a press statement. Together with Streamlit, acquired in March 2022 , Snowflake will further provide developers and data scientists with a single, powerful platform to discover, collaborate and build next generation applications. Developers can now build applications using the tools they love, with simplified data access and governance. Central themes & takeaways
In terms of central themes and takeaways here, we’re seeing Snowflake execute an arguably sophisticated (and unarguably technically complex) play that runs in line with many central themes surfacing in the enterprise software space today. Organizations want their developers to build applications with great functionality and an ability to scale, integrate, expand and evolve… all the time. So, logically, they need developers to be able to focus on front-end functions and smart services. In order to do that, they need to abstract, elevate and automate the software developer’s need to think about back-end engineering, data management and systems connectivity. We’re now going native in cloud i.e. cloud from first base ground zero – and Snowflake has quite directly named its new launch the Native Application Framework. The cloud could be coming out of the freezer, Snowflake may be hot.