Unveiling Walrus v0.4: Your Gateway to next-gen Application Deployment Model
Tags: devops, productivity, news, cloud
Published: 2023-11-27 15:25:28

Today, we are excited to announce the release of [Walrus v0.4](https://github.com/seal-io/walrus)! This release marks a significant step in our ongoing series of updates. In this new version, we introduce a revamped application model that simplifies operations.**Users are going to experience smooth operation of application systems, covering services and dependencies across polymorphic infrastructure, after configuring only once.** Eventually, we will make "You build it, you run it" come true!

In this new version, we integrate Argo Workflows as a workflow engine. We introduce such features as environment classification, dynamic UI Schema, stop/start services and resources, and project-scoped catalogs/templates. We, furthermore, enrich the built-in templates to streamline the process of application deployment and delivery.

"Gartner has recognized platform engineering as one of the top 10 strategic technology trends for two years running.**It predicts 80% of global software engineering organizations will establish platform teams within the next three years**," shared George Qin, Co-founder, and CEO of Seal. "We believe that Walrus v0.4 will take platform engineering to new heights. It successfully clarifies the separate roles of the DevOps team and product team with more flexible abstraction and a lower level of complexity, thus delivering an exceptional experience in application deployment and management."

## Streamlining K8s and Infrastructure Complexity
### Seamless Infrastructure Integration

In the dynamic landscape of software development and delivery, it is inevitable to accommodate various environments to development stages. And it is essential to configure infrastructure for each of the environments. For instance, DevOps teams are expected to prepare a containerized MySQL database for testing purposes, as well as make production-level virtual machine database deployment or cloud RDS services available in the production environment.

In Walrus v0.4, we introduce two new APIs, Resource and ResourceDefinition. **In the scenario, DevOps teams will need to configure once only to enable product teams to create and utilize polymorphic resources across various environments in a self-service way**.

In the Walrus UI, users can deploy services for their workloads using templates and any other dependency resources using resource types. The type is specified by a resource definition, which can bind to various infrastructure in different environments.


![application-model](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wy5s5an66b5ul4223mzm.jpg)

Walrus v0.4 pioneers a revolutionary application model that seamlessly addresses the separation of concerns between development teams and DevOps teams. It also assists in automizing collaboration processes, in turn shielding the complexity of infrastructure across various environments as well as reducing the cognitive burden on developers.

### Unified Orchestration of Application System Deployment Processes

Walrus provides a high level of support in the creation, configuration, and deployment management of infrastructure resources (computing, networking, storing, etc.) and application-level services (containerized and non-containerized). It achieves a unified orchestration of various service modules and dependency resource modules within application systems.

This key capability is further enhanced in Walrus v0.4. By integrating Argo Workflows as a workflow engine, Walrus connects multiple application delivery stages and facilitates one-stop application orchestration and release.

To be more specific, Walrus integrates infrastructure automation as well as PaaS Service automation into the existing DevOps pipeline in the organization, thus enabling product teams with self-service abilities. In the meantime, it aligns the pipelines with the current approval process and accommodates them to existing control regulations.

## On-Demand Start/Stop Services and Resources

With the evolution of cloud-native technologies and the prevalence of microservices architecture, the number of services and dependency resources in application systems has skyrocketed. Cumbersome deployment and configuration tasks often lead to idle development and testing environments, resulting in prolonged resource occupation and unnecessary expenses. Therefore, resource governance for development and testing environments becomes a challenging task.

In Walrus v0.4, we are excited to introduce a new feature, which is the ability to start/stop services and resources with respect to users' needs. To be explained, **users are able to halt the application environment during idle periods and reclaim running services and resources. Walrus helps users retain the configuration data of the application system during the stop, making it easy to restore all services and resources to pre-stop state upon the next restart.** It effectively assists users in cost reduction and resource management.

Moreover, users are capable of switching among multiple test environments with limited resources by leveraging such features as Services/Resources Draft, environment start/stop and environment clone. It enables quick testing and validation, enhancing deployment efficiency, saving costs, and effectively supporting organizations in cost reduction and efficiency enhancement.

## Other Feature Highlights

Environment Classification and Project-scoped Catalogs/Templates
We introduce environment classification and project-specific template libraries and templates in Walrus v0.4. DevOps teams, therefore, can categorize environments into development, staging, and production, then configure infrastructure resources for various environment types.

This feature enables DevOps teams to manage environments at a fine-grained level, separate the permissions to different environments with the same system or project. It strengthens collaboration, focus, and permission separation capabilities between Dev and Ops within the same project.

### Dynamic UI Schema

Due to varying skill levels and configuration requirements among teams within the organization, users can customize UI forms as needed with this great feature. Specifically, users can customize the schema of a template to build a facade for the template without resorting to the version control system. This helps to provide platform capabilities that meet users' requirements flexibly and dynamically.

### Richer Built-in Templates

Templates play a vital role in Walrus, encapsulating various infrastructure capabilities, cloud services, and application services into reusable capability templates. In Walrus v0.4, We add more built-in templates, for example, containerized service and containerized task templates, PostgreSQL, Redis, Kafka, RabbitMQ, traditional host deployment templates, and other various static templates that register external services/resources like MySQL, PostgreSQL, Redis, Kafka, RabbitMQ as static services/resources.

## 100% Open source, Get started now

Walrus is fully open source under the Apache 2.0 license. Get started and deploy Walrus now with the following command on your laptop with Dock installed:

```
sudo docker run -d --privileged --restart=always -p 80:80 -p 443:443 --name walrus sealio/walrus:v0.4.0
```

Walrus thrives on community involvement and contributions. You are more than welcomed to star Walrus on GitHub and join Walrus community on Discord.



- Visit us on GitHub: https://github.com/seal-io/walrus

- Connect with us on Discord: https://discord.gg/fXZUKK2baF