We are happy to announce that the Kusion v0.10.0 release has been published! This release has 9 contributors, of which 3 are the first-timers, and includes 90 commits. We have made some significant upgrades. In this blog, let’s dive into some of the exciting new features.
Press enter or click to view image in full size
Collaboration Paradigm
Due to complex configurations and an unclear division of responsibilities, the application developers constantly have to deal with a high cognitive burden, while the platform engineers have great troubles managing standardization. To address them, we are making a huge improvement — proposing the collaboration paradigm between application developers and platform engineers, formalizing the core workflow, and implementing the mechanisms to achieve separation of concern, which ultimately drives efficiency improvement and a path for standardization.
Press enter or click to view image in full size
The platform engineers are responsible for creating Kusion modules and maintaining workspaces. The module is a reusable building block that contains two components: a simplified, application developer-oriented schema, and a module generator where platform engineers can shield the underlying complexity with the said schema. And the workspace (you can find more in the next section) configurations are used to manage standardization.
The application developers are responsible for authoring AppConfiguration, which is composed of the developer-oriented and dead-simple schemas. There are few or even no complex infrastructure-related configs exposed to application developers, which will in turn, reduce the cognitive burden for them.
For more detail, please refer to How Kusion Works?
Workspace Management
The workspace is a logical concept representing a target that a stack will be deployed to, which contains a set of configurations that can be reused by multiple stacks. We recommend workspaces grouped by SDLC phases (such as dev, staging, and prod), cloud vendors (such as AWS, Azure, and Alibaba Cloud), or a combination of both.
A workspace contains four types of configurations so far: modules, runtimes, backends and secretStore, and the configuration is organized in YAML format. Kusion CLI provides sub-commands to get, show, create, update, and delete workspaces.
Get KusionStack’s stories in your inbox
Join Medium for free to get updates from this writer.
The following is an example of workspace configurations.
modules:
mysql:
default:
cloud: alicloud
size: 20
instanceType: mysql.n2.serverless.1c
privateRouting: false
subnetID: vsw-xxxxxxxxxxxxxxxxxxxxx
suffix: "-mysql"
smallClass:
instanceType: mysql.n2.small.25
projectSelector:
- foo
- barruntimes:
alicloud:
version: 1.209.1
source: aliyun/alicloud
region: cn-beijing
backends:
oss:
bucket: kusion-bucket
For more detail, please refer to Workspace.
Secret Management
We have also upgraded the secret management workflow in the new collaboration paradigm, and supported a lot more providers. The platform engineers configure the secretStore information in the workspace configs, while the application developers can fill in the blank in the Secret schema to reference a secret in the store. We support storing sensitive data in HashiCorp Vault, AWS Secrets Manager, Azure Key Vault and Alibaba Cloud Secrets Manager.
Press enter or click to view image in full size
For more detail, please refer to Secrets and Using Cloud Secrets Manager.
AppConfiguration Revamp
The AppConfiguration schema has also been revamped accordingly based on the new collaboration paradigm. By stripping platform configurations from the AppConfiguration schema, and having it only contain application developer-focused configs, we hope the AppConfiguration will be much easier for the developers.
In addition, we have also split the Database schema into MySQL and PostgreSQL for better user experience.
For more detail, please refer to AppConfiguration.
Summary
We have introduced the new collaboration paradigm between application developers and platform engineers, implemented the new mechanism to achieve separation of concerns, which drive more efficient innovation and enable standardization by platform engineers. These are the most important upgrades in Kusion v0.10.0.
Aside from the ones mentioned above, there are a ton of small improvements and changes in this release as well. You can find the full details in the Release.
Welcome to our Github and leave some feedback! ⭐️
Github: https://github.com/KusionStack/kusion
Website: https://kusionstack.io