an App Growth Platform to Carry Stack-as-Code Expertise

Helium3 Tech lately launched Heighliner, an open-source and cloud-native software improvement platform that allows you to ship your software stack as code. Builders can summary difficult infrastructure particulars into human-readable configuration recordsdata which you could implement model management, reuse, and share.

With a developer-centric thoughts, Heighliner supplies many pre-configured stacks masking in style programming languages and frameworks. In the meantime, it makes use of Dagger beneath the hood, and builders can customise each side of their stack.

 

InfoQ interviewed Wei Wang, the founding staff member of Heighliner, explaining the overview and imaginative and prescient for Heighliner Stack.

InfoQ: What challenges and ache factors do you foresee within the software improvement and supply? How can Heighliner resolve them?

Wei Wang: Utility improvement and supply is a extremely common time period that encompasses virtually the whole lifecycle of software program engineering. Terraform has solved the issue of infrastructure operations and upkeep to an amazing extent with its IaC (Infra as Code) method. Nonetheless, builders nonetheless face enormous challenges in constructing scalable, elastic, and safe functions in a cloud-native period. Most improvement groups are scuffling with constructing their very own software improvement and supply system and reworking totally different instruments right into a unified layer. 


Let us take a look at a desk of the favored expertise stack when constructing a cloud-native software:



The toolchain makes it troublesome to mix them, which is commonly the duty of the infrastructure staff or the SRE staff within the enterprise, and the excessive price of architects makes it troublesome to implement these instruments in small and medium-sized corporations.


Stack-as-Code is a brand-new definition to explain the whole software improvement and supply workflow with code in a easy method. It consists of software definition, CI/CD, registry, distant improvement debugging, logging, monitoring, alerting, and dashboard. With only a few easy parameters, a whole set of cloud-native improvement and supply greatest practices could be initialized. 

InfoQ: How you can perceive the definition of Stack-as-Code?

Wei Wang: To grasp Stack-as-Code, we have to determine the definition of Stack. After we initialize the Stack, it creates the language framework and the whole toolchain we described above and connects them with pre-configuration. As soon as the Stack completes initialization, an end-to-end workflow for improvement and supply workflow is about up. 


Utilizing the Stack-as-Code, these toolchains are encapsulated as modules in Heighliner. Contemplating scalability, Heighliner makes use of CUE lang which Google invented to outline these modules. On this approach, the constructing blocks could be assembled and described in a declarative approach with out regarding particular particulars of the instruments. In the meantime, it’s simple to customise new Stacks. 


See a Stack example for particulars. Then let’s dig into methods to use Heighliner to declare and hyperlink these instruments with CUE: 



scaffold: scaffoldfactory.#Occasion & {
  enter: scaffoldfactory.#Enter & {
      ......
      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 & {
  enter: cdfactory.#Enter & {
    supplier:    "argocd"
    ......
  }
}



 




On this instance, it initializes a backend repository for the Spring framework and a frontend repository for the VUE framework, utilizing Helm to deploy two companies.


As well as, it additionally declares the applying utilizing GitHub Motion as CI, utilizing Github Packages as picture registry, utilizing Prometheus and Loki because the monitoring and logging system, utilizing Nocalhost for distant improvement and Istio as Service Mesh respectively. Lastly, it declares utilizing ArgoCD to create the GitOps workflow. All of those instruments could be changed by every other instruments in a declarative method. For instance, you may change Github Packages with Harbor as a picture registry.


You do not want to consider the main points of methods to construct a CI/CD circulation or a GitOps workflow, methods to create monitoring metrics and dashboards, and many others. The Stack will deal with all the things and implement it for you. As soon as the initialization is accomplished, the one factor it’s essential do is write enterprise code.

InfoQ: Heighliner Stack has some similarities with KubeVela: InfoQ additionally interviewed the KubeVela staff earlier than. Might you clarify the variations and interoperability between them?

Wei Wang: KubeVela is constructed on OAM and is designed to make deploying and working functions throughout hybrid, multi-cloud environments simpler. Heighliner Stack has a broader imaginative and prescient and is aiming to unravel builders’ issues in software improvement, supply, and operations. At its core, it supplies many pre-configured stacks masking in style programming languages and frameworks. Heighliner will not be a substitute for KubeVela; customers can use KubeVela as an software definition instrument in Heighliner Stack.

InfoQ: Are you able to inform us the mission and imaginative and prescient of Heighliner Stack?

Wei Wang: To cut back the barrier of cloud-native builders and supply ease of use for cloud-native software improvement. 


Within the early days of internet improvement, LAMP considerably lowered the barrier to creating internet functions. Should you evaluate Kubernetes to an working system, the cloud-native house nonetheless lacks SDK within the software layer. Heighliner Stack supplies an SDK for all the applying layers within the cloud-native working system. Builders can spin a cloud-native software up in minutes with out the complexity of configuration.

You may be taught extra about Heighliner from this blog. Get began with Heighliner by following the Quick Start and demo.


https://www.infoq.com/information/2022/06/heighliner-stack-as-code/