an App Enhancement Platform to Provide Stack-as-Code Practical experience

Helium3 Tech a short while ago launched Heighliner, an open-source and cloud-native application growth system that allows you to supply your application stack as code. Developers can abstract difficult infrastructure information into human-readable configuration information that you can employ version regulate, reuse, and share.

With a developer-centric mind, Heighliner delivers numerous pre-configured stacks masking popular programming languages and frameworks. Meanwhile, it takes advantage of Dagger underneath the hood, and builders can customise just about every component of their stack.

 

InfoQ interviewed Wei Wang, the founding workforce member of Heighliner, describing the overview and vision for Heighliner Stack.

InfoQ: What worries and soreness points do you foresee in the application development and shipping and delivery? How can Heighliner take care of them?

&#13

Wei Wang: Software growth and delivery is a extremely normal term that encompasses pretty much the entire lifecycle of software engineering. Terraform has solved the difficulty of infrastructure functions and servicing to a great extent with its IaC (Infra as Code) method. Having said that, developers still deal with big worries in making scalable, elastic, and protected applications in a cloud-indigenous era. Most progress groups are having difficulties with making their individual application improvement and delivery method and transforming different instruments into a unified layer. 

&#13
&#13

Let us search at a table of the well-known engineering stack when creating a cloud-native software:

&#13
&#13

&#13
&#13

The toolchain would make it tricky to blend them, which is typically the obligation of the infrastructure staff or the SRE staff in the business, and the high cost of architects can make it difficult to put into practice these equipment in little and medium-sized businesses.

&#13
&#13

Stack-as-Code is a brand-new definition to explain the finish application improvement and shipping workflow with code in a easy method. It consists of application definition, CI/CD, registry, distant development debugging, logging, checking, alerting, and dashboard. With just a couple of uncomplicated parameters, a full set of cloud-native enhancement and shipping very best methods can be initialized. 

&#13

InfoQ: How to comprehend the definition of Stack-as-Code?

&#13

Wei Wang: To have an understanding of Stack-as-Code, we require to figure out the definition of Stack. When we initialize the Stack, it creates the language framework and the total toolchain we described over and connects them with pre-configuration. Once the Stack completes initialization, an close-to-close workflow for growth and supply workflow is set up. 

&#13
&#13

Working with the Stack-as-Code, these toolchains are encapsulated as modules in Heighliner. Considering scalability, Heighliner takes advantage of CUE lang which Google invented to determine these modules. In this way, the building blocks can be assembled and described in a declarative way without regarding certain facts of the tools. In the meantime, it is straightforward to customize new Stacks. 

&#13
&#13

See a Stack illustration for particulars. Then let’s dig into how to use Heighliner to declare and link these applications with CUE: 

&#13
&#13


scaffold: scaffoldfactory.#Instance & 
  input: scaffoldfactory.#Input & 
      ......
      repository: [
          
              name:    "shop-backend"
              type:      "backend"
              framework: "spring"
              ci:        "github"
              registry:  "github"
          ,
          
              name:    "shop-frontend"
              type:      "frontend"
              framework: "vue"
              ci:        "github"
              registry:  "github"
          ,
          
              name:    "shop-deploy"
              type:      "deploy"
              framework: "helm"
          ,
      ]
      addons: [
          
              name: "prometheus"
          ,
          
              name: "loki"
          ,
          
              name: "nocalhost"
          ,
          
              name: "istio"
          ,
      ]
  


cd: cdfactory.#Occasion & 
  input: cdfactory.#Input & 
    supplier:    "argocd"
    ......
  



&#13
&#13

 

&#13
&#13
&#13
&#13

In this instance, it initializes a backend repository for the Spring framework and a frontend repository for the VUE framework, applying Helm to deploy two expert services.

&#13
&#13

In addition, it also declares the application employing GitHub Action as CI, applying Github Packages as graphic registry, applying Prometheus and Loki as the checking and logging program, applying Nocalhost for remote improvement and Istio as Service Mesh respectively. Last but not least, it declares making use of ArgoCD to develop the GitOps workflow. All of these equipment can be replaced by any other equipment in a declarative way. For instance, you can substitute Github Packages with Harbor as an impression registry.

&#13
&#13

You really don’t require to think about the aspects of how to construct a CI/CD move or a GitOps workflow, how to generate checking metrics and dashboards, and many others. The Stack will choose care of anything and put into action it for you. As soon as the initialization is accomplished, the only point you will need to do is compose business enterprise code.

&#13

InfoQ: Heighliner Stack has some similarities with KubeVela: InfoQ also interviewed the KubeVela team ahead of. Could you make clear the variations and interoperability in between them?

&#13

Wei Wang: KubeVela is built on OAM and is designed to make deploying and operating purposes across hybrid, multi-cloud environments a lot easier. Heighliner Stack has a broader vision and is aiming to remedy developers’ difficulties in application development, supply, and functions. At its core, it offers several pre-configured stacks covering well known programming languages and frameworks. Heighliner is not an substitute to KubeVela end users can use KubeVela as an software definition tool in Heighliner Stack.

&#13

InfoQ: Can you inform us the mission and eyesight of Heighliner Stack?

&#13

Wei Wang: To reduce the barrier of cloud-native builders and present simplicity of use for cloud-indigenous application advancement. 

&#13
&#13

In the early times of web growth, LAMP considerably reduced the barrier to establishing website apps. If you examine Kubernetes to an operating program, the cloud-indigenous room continue to lacks SDK in the application layer. Heighliner Stack supplies an SDK for all the software layers in the cloud-native functioning method. Builders can spin a cloud-indigenous software up in minutes with out the complexity of configuration.

&#13

You can understand much more about Heighliner from this blog. Get commenced with Heighliner by following the Swift Start off and demo.