0% found this document useful (0 votes)
40 views13 pages

Containers On The Cloud

Uploaded by

nit.abc24
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views13 pages

Containers On The Cloud

Uploaded by

nit.abc24
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

CONTAINERS

ON THE CLOUD
Containers: The present and future of cloud-native application development........................................... 3
What are containers?................................................................................................................................................................ 4
What are the benefits of containers?................................................................................................................................ 5
What are containers used for?............................................................................................................................................. 6
Containers vs. virtual machines........................................................................................................................................... 7
What is a container orchestration tool?........................................................................................................................... 8
What is Container-as-a-Service (CaaS)?......................................................................................................................... 9
What is Snowpark Container Services?......................................................................................................................... 10
Why Snowpark Container Services?............................................................................................................................... 10
What are the use cases of Snowpark Container Services?................................................................................... 10
How are application developers using Snowpark Container Services?.......................................................... 11
Conclusion.................................................................................................................................................................................... 11
Get started with Snowpark Container Services........................................................................................................ 12
CONTAINERS: THE PRESENT
AND FUTURE OF CLOUD-NATIVE
APPLICATION DEVELOPMENT
Application development has existed as long as modern One of the biggest challenges of early applications was their lack of
computing. Every decade brought advancements that added flexibility and portability. Typically, they were standalone, platform-
new layers of complexity — from the first high-level programming specific programs. When cross-cloud computing became an option,
languages of the 1950s to the mobile phone and its applications. app developers needed a way to scale. Containers were their
The proliferation of smartphones and growing consumer demands answer. Containers help break down one massive application into
for digital solutions magnified the focus on applications. The smaller, more easily managed ones. Now, in the age of generative
development of cloud computing and DevOps practices has AI, containers provide lightweight isolation for AI models. This helps
only accelerated the pace of innovation. resource management, a huge challenge around all AI development,
“A container is a standard unit of executable software that packages and makes it easier to test, maintain and reuse all applications. With
application code — along with its libraries and dependencies — so the container orchestration, the sky’s the limit.
code can run quickly and reliably from one computing environment to
the next, all in isolation from the host system.”

1940s-1950s 1980s 2000s-PRESENT


Early computer applications • Personal computers became popular, leading to the • Web technologies boomed, with JavaScript becoming one
focused on mathematical widespread development of applications for business of the most widely used languages globally.
calculations and military and personal use. • Frameworks and libraries like AngularJS, React, and Vue.js
data processing. • Programming languages like BASIC, C, and Pascal facilitated web development.
gained popularity among programmers. • A gile methodologies emerged, proposing more collaborative
• Object-oriented programming advanced significantly. and flexible approaches to software development.
• Open source software movement gained great popularity.
• New software delivery models like DevOps and Continuous
Delivery emerged.
1960s-1970s 1990s • Cloud services transformed how software is stored
 igh-level programming languages
H
• The internet’s popularization shifted and accessed.
like COBOL and FORTRAN emerged,
focus to web applications. • Mobile app development became a major focus, driven
making it easier to write code and
• JavaScript became popular for creating by smartphones and tablets.
process information more efficiently.
interactive web applications. • Containerization emerged.
• Server-side web programming languages • Artificial Intelligence and IoT technologies began influencing
like PHP, Ruby, and Python emerged. application development.
3
WHAT ARE
CONTAINERS?
A container is a standard unit of executable software The portability of containers makes them crucial to
that packages application code — along with its hybrid infrastructures — that can be a combination
libraries and dependencies — so the code can run of cloud providers, like AWS, Google Cloud or Azure,
quickly and reliably from one computing environment or a combination of on premises and private or
to the next, all in isolation from the host system. public cloud.
This ensures portability and consistency across
environments, especially for sophisticated AI/ML
models and full-stack, data-intensive apps. Containers
share the host operating system’s kernel — the core
that manages system resources and provides
low-level services to software — so features of the
central operating system (OS) can control the amount
of central processing units (CPU) being used, making
containers more efficient than traditional virtual
machines (VM), which require a full copy of an OS.

4
WHAT ARE THE BENEFITS
OF CONTAINERS?
Containerization allows development teams These characteristics enable three massive benefits 3 I MPROVING SECURITY AND ENSURING
to move fast, deploy software efficiently of containers: CONSISTENCY ACROSS ENVIRONMENTS
and operate at an unprecedented scale.
WITH APPLICATION ISOLATION
1 D
 RAWING CLEAR LINES OF RESPONSIBILITY
Containers offer a streamlined way to build, BETWEEN DEVELOPMENT AND Keeping containerized applications separate
test and deploy applications across different OPERATIONS TEAMS from each other and the host system provides
an additional layer of security. This helps in
environments. Because they don’t include Containers help minimize conflicts among
preventing unauthorized access, limiting points
system images, containers require fewer application development teams. Developers
of vulnerability and containing possible security
system resources overall. Containers work can focus on defining their application logic,
breaches, all while ensuring development teams
in isolation from the host system and are and IT operations teams can focus solely on
have the same application experience
infrastructure and deployment.
based on open source technology. Any across environments.
updates to the containers will be reflected 2 ENABLING SPEED AND PORTABILITY
instantaneously, meaning teams are working
Containers can run anywhere from a VM to
with the latest innovations every time.
a physical server to the public cloud. Workload
portability grants the flexibility to choose the
environment that best suits your compliance
requirements, lets you work where cost
performance is most optimal, mitigates vendor
lock-in and dependency, and helps with agility and
adaptability. Thanks to this modularity, containers
help with rapid application iterations.

5
WHAT ARE CONTAINERS
USED FOR?
You can leverage containers for a variety of MICROSERVICES ARCHITECTURE LEGACY APPLICATION MODERNIZATION
purposes across modernization initiatives, Containers are often used to implement Containers can be used to modernize legacy
software development and deployment. microservices: small, independent services that applications by breaking them down into smaller, more
Here are some of the top use cases: work together to form a larger application. Each manageable components that can be deployed and
microservice runs in its own container, which managed using container orchestration tools.
makes it easy to develop, test and deploy individual
components of the application. MULTI-CLOUD DEPLOYMENTS
Containers provide a portable and consistent way
DEVOPS to deploy applications across multiple cloud providers
Containers are used extensively in DevOps or on premises data centers, so companies can
environments to streamline the software avoid vendor lock-in and maintain flexibility in
development lifecycle. They provide a consistent cloud strategy.
environment for development, testing and production,
making it easier to identify and fix bugs before DEPLOYING AI/ML MODELS
applications reach production. Containers can package AI/ML models along with
their dependencies into an isolated unit. This helps
CLOUD COMPUTING with dependency management, scalability, version
Containers are widely used in cloud computing control and portability across environments.
environments to deploy and manage applications
at scale. Cloud providers, such as AWS, Microsoft
Azure and Google Cloud Platform, all offer container-
management services.

6
CONTAINERS VS.
VIRTUAL MACHINES
Containers and VMs are both virtualization RESOURCE UTILIZATION PORTABILITY
technologies. Virtualization is essential for VMs require a full copy of an operating system and Both containers and VMs are portable. However,
optimizing IT infrastructures. It creates a often use more resources than containers, which only containers are generally considered more portable
simulated, or virtual, computing environment share the host OS’s kernel. This makes containers because they are smaller and rely on fewer
so multiple virtual systems can run on one, more lightweight and efficient. dependencies than VMs. Containers move more
singular physical machine. The biggest easily between different environments without
ISOLATION compatibility issues.
differentiator between VMs and containers is
the amount of the system that is virtualized. VMs completely isolate the guest operating system
from the host system. Containers provide process-
MANAGEMENT
VMs virtualize an entire machine, including
level isolation. Process-level isolation, thanks to the Container orchestration tools like Kubernetes — an
its hardware, while containers virtualize just
shared kernel with the host OS, makes containers open source platform featuring automatic scaling, load
the layers of software sitting on top of the OS. faster and more efficient than VMs, but also less balancing and self-healing capabilities for applications
Here are several more key differences: secure if not properly configured. — and Docker Swarm — a native clustering and
orchestration solution that allows you to create and
STARTUP SPEED manage a swarm of Docker nodes — make it easier
Containers have a faster startup time than VMs to manage large numbers of containers. Managing
because they don’t need to boot a full OS. This large numbers of VMs typically requires more manual
makes containers more suitable for applications that intervention and management overhead.
require rapid scaling or frequent deployment, like
sophisticated AI/ML apps.

7
WHAT IS A CONTAINER
ORCHESTRATION TOOL?
A container orchestration tool is a software 1 AUTOMATED DEPLOYMENT AND 5 NETWORKING AND SERVICE DISCOVERY
platform designed to automate the MANAGEMENT
Manage networking between containers, including
deployment, scaling and management of Program the deployment of containers across intracluster communication and external access.
containerized applications. As teams move a cluster of machines and manage container Automatically discover and connect services
into continuous integration and continuous configuration settings, ensuring consistency running within the cluster.
across environments.
delivery (CI/CD) pipelines, these orchestration
6 STORAGE ORCHESTRATION
tools become increasingly important. They
2 SCALING AND LOAD BALANCING
help organizations streamline their application Provide and manage persistent storage for stateful
Automatically adjust the number of running applications. Attach and manage storage volumes
development, testing and deployment
containers based on the current load or for containers.
processes by providing a consistent and
predefined rules. These tools distribute traffic
efficient way to manage containers across across containers to ensure no single container 7 SECURITY AND COMPLIANCE
various environments. is overwhelmed, optimizing resource usage.
Implement access control policies to allow only
Here are eight key aspects of container authorized users and processes to interact with
3 RESOURCE ALLOCATION AND
the containers and cluster resources. Securely
orchestration tools. SCHEDULING
manage and distribute sensitive information, such
Assign resources, such as CPU and memory, as passwords, API keys and certificates.
to containers based on their needs. They also
determine the best host machine for each 8 CONFIGURATION AND SECRET
container, taking into account resource MANAGEMENT
availability, performance and policy constraints.
Manage configuration data for applications,
ensuring that it can be easily updated and
4 HEALTH MANAGEMENT
propagated. Securely store and manage
Continuously monitor container health and sensitive data, such as environment variables
performance, automatically restarting or and credentials.
replacing failed or unhealthy containers to ensure
application reliability and availability.

8
WHAT IS (CAAS)
CONTAINER-AS-A-SERVICE?
Container-as-a-Service (CaaS) tools are CaaS platforms offer a range of features that
software platforms that facilitate the significantly simplify the application process and
deployment, management and scaling excel in automatically adjusting resources based on
demand. CaaS tools often include built-in monitoring
of containerized applications in a cloud
and logging capabilities, allowing users to easily track
environment. By providing a managed the performance and health of their containerized
environment, CaaS eliminates the need to applications. Generally, these platforms offer security
maintain the underlying infrastructure so features such as network isolation, access controls
users can focus on developing and and image scanning to ensure secure application
deploying their applications. deployment and operation.

One of the major advantages of CaaS tools is their


integration capabilities. Most seamlessly integrate
with other cloud services, like storage, databases and
monitoring tools, and allow you to deploy and manage
containers across cloud providers. Another advantage
is their cost-effectiveness. CaaS platforms offer a
consumption model, otherwise known as a pay-as-
you-go model. This reduces upfront costs associated
with application development and provides better
control over project-wide expenses.

9
SNOWPARK
CONTAINER SERVICES
WHAT IS SNOWPARK CONTAINER SERVICES? WHY SNOWPARK CONTAINERS SERVICES? data-intensive apps. These types of modern data
products frequently deal with massive amounts
Let’s start with what is Snowflake? Snowflake is a With Snowpark Container Services, you get secure
of proprietary data. The complexity of creating,
cloud-based platform for any and all data needs. and cost-effective container deployment within
developing and running these workloads at scale
Snowflake is a cloud-native architecture, so users your cloud instance. You can effortlessly deploy any
is generally complex, forcing developers and data
can work across cloud providers like Redshift, container using familiar programming, package it as a
scientists to spend more time managing the compute
Azure and Google Cloud; there’s elastic scalability container image and deploy it in Snowflake.
and clusters for these applications rather than
so warehousing sizes can size up or down, instantly, Snowpark Container Services streamlines operations focusing on the business problem.
depending on the needs of your data workload; there’s with built-in observability and cost metrics, using
support for diverse data types; data sharing support With Snowpark containers, there is no need to
integrated cluster metric logging and a single cost
for both internal and external use cases, AI and ML move governed data outside of Snowflake (thereby
metric for both the compute instances and managed
features, and most relevant to containerization, exposing it to additional security risks) in order to use
Kubernetes-based clusters.
support for application development. it as part of the most sophisticated AI/ML models
Snowpark Container Services allows you to securely and apps, whether developed internally or by third-
Snowpark Container Services allows you to run deploy LLMs and other apps with low-latency party providers available as Snowflake Native Apps
containerized applications directly within your requirements. You can run entire containerized installable from the Snowflake Marketplace.
Snowflake environment, ensuring the data doesn’t applications from first- and third-party services in
Here are the four main use cases for Snowpark
need to be moved for processing. Unlike traditional your account as Snowflake Native Apps via Snowflake
container orchestration platforms, Snowpark Marketplace with sub-second response times, using Container Services:
Container Services offers an Open Container Initiative containers backed with block storage or Snowflake
(OCI) runtime execution environment specifically Hybrid Tables. • ML workloads: Train and execute inference for
optimized for Snowflake. This integration allows large-scale models using GPUs with any language,
for the seamless execution of OCI images in the AI WHAT ARE THE USE CASES OF SNOWPARK including Python and R.
Data Cloud, which is a unified service consisting of CONTAINERS SERVICES? • AI/LLMs: Run open source LLMs and third-party
platform capabilities that support diverse data, AI and Containers have emerged as the modern approach LLMs tuned to your data.
applications workloads, as well as content — the data to package code in any language to ensure portability • 
Optimized processing: Run C/C++ workloads and
sets, models and apps themselves — that are available and consistency across environments, especially web APIs that process large amounts
to share, and consume natively. for sophisticated AI/ML models and full-stack of data.
• Applications: Run any component of an app from
APIs to UIs.

10
HOW ARE APPLICATION DEVELOPERS CONCLUSION
USING SNOWPARK CONTAINER SERVICES?
The evolution of application development isn’t slowing
The Native Application framework allows developers down any time soon. With the surge of interest
to build and distribute applications to other Snowflake around generative AI, and applications serving as
users. Like any other container, Snowpark Container its user interface, applications, and by association
Services improves portability, scalability, resource containers, are the key to unlocking gen AI for the
utilization and more, ramping up development and average business user. As the intermediary between
deployment timelines. developers and the rest of the business, maybe
Now, developers can build more complex, data- shooting for the sky is shooting too low.
intensive apps within Snowflake, leveraging its The journey from platform-specific standalone
scalability, security and performance benefits. programs to containerized, cloud-native applications
represents a paradigm shift that will only continue to
improve how we ideate, build and deploy applications.
The name of the game for the last decade has been
democratization: democratization of data and apps.
As we stand firmly in the age of generative AI, the
principles of containerization will undoubtedly play a
crucial role.

11
GET STARTED WITH
SNOWPARK CONTAINER SERVICES
To get started with Snowpark Container Tutorial: These introductory tutorials provide step- Quickstart: This quickstart guide explores
Services, dive into the tutorials, review the by-step instructions to begin exploring Snowpark Snowpark Container Services, which are now in
docs and create your own containerized Container Services. Then, you can continue public preview on AWS. Please note: This quickstart
with advanced tutorials. assumes some existing knowledge and familiarity with
applications. Here are a few options:
containerization (e.g., Docker) and basic familiarity
Service specification reference: This reference with container orchestration.
explains the YAML syntax to create a service
specification.

Working with services and job services: These


topics provide details about the Snowpark Container
Services components that you use in developing
services and job services:
Working with an image registry and repository
• 
• Working with compute pools
• Working with services
• Troubleshooting

12
ABOUT SNOWFLAKE
Snowflake makes enterprise AI easy, efficient and trusted. Thousands of companies around the globe, including hundreds of the world’s largest,
use Snowflake’s AI Data Cloud to share data, build applications, and power their business with AI. The era of enterprise AI is here.

Learn more at snowflake.com (NYSE: SNOW)

© 2024 Snowflake Inc. All rights reserved. Snowflake, the Snowflake logo, and all other Snowflake product, feature and service names mentioned
herein are registered trademarks or trademarks of Snowflake Inc. in the United States and other countries. All other brand names or logos mentioned
or used herein are for identification purposes only and may be the trademarks of their respective holder(s). Snowflake may not be associated with,
or be sponsored or endorsed by, any such holder(s).

You might also like