Standardizing Multi-Cloud K8s Deployments with Tekton

Cloud adoption has grown exponentially over the years, but it comes with cost, security and application availability overhead costs. Each cloud vendor has unique policies, cost structures and provisioning workflows, so they are akin to the proverbial basket—and you should not put all your eggs (read: Apps) in just one!

This is one reason companies prefer multi-cloud today. Each cloud provider has specific strengths; for example, it’s common to see AWS as the preferred choice for scaling and Azure for region-specific legal compliance, while on-premises OpenShift is often used when data security is paramount. Simply put, digital enterprise applications can work efficiently across multiple clouds to ensure better availability, security and compliance. The CNCF Survey 2020 revealed that although multi-cloud usage was a new option in 2020, 26% of respondents to the survey were using a multi-cloud strategy. 

The massive shift toward the consumption of multi-cloud does introduce some challenges. Most enterprises now find continuous deployment (CD) extremely complex while handling multiple pipelines, working with many DevOps tools or complying with multiple standards of cloud deployment. 

While DevOps teams have solved the CI pipeline puzzle using open source tools and plugins, CD still seems to be broken for Kubernetes. DevOps or application architects find it challenging to orchestrate application delivery across clouds because the current DevOps tools are not designed for scaling modern apps on Kubernetes infrastructure. 

Multi-Cloud Challenges

With microservices, the number of change requests and pipelines exponentially increases which require multiple deployments a day to deliver value to the customers. To increase the frequency of deployments, DevOps leaders would need to be mindful of security, scaling, performance, rollbacks, cloud costs and burnouts. 

Industries like BFSI, telecom and health care that are modernizing their infrastructure using a multi-cloud strategy are facing the following challenges while migrating from legacy to cloud-native platforms:

  • Fragmented Security: Secrets management within CI/CD pipelines is not straightforward, as many organizations still store credentials in code repositories. These secrets should not be exposed or compromised into the CI/CD pipelines across clouds. 
  • Lack of Standardization: Development teams waste over ~40% of their time in either coding or fixing manual deployment scripts for every cloud provider. 
  • Inadequate Visibility: There is no single source of truth when it comes to analyzing deployment metrics and logs, which accounts for a lack of transparency. 
  • Scaling: As traditional DevOps tools don’t leverage Kubernetes to their fullest potential, capacities for the CI/CD tools need to be planned in advance before scaling.
  • Lack of Governance: With traditional CI/CD tools, audit trails become a major challenge; so does enforcement of standards across teams and segregation of resources like repositories, registries and clusters. 
  • Compliance Challenges: Local laws force enterprises to host certain apps or databases in a local region, which slows down time-to-market.

As the CNCF Survey 2020 finds, the most common reason for skepticism about containers is complexity and the difficulty of cultural change. This could also be one of the major reasons why early adopters use containers in their non-production environments but find it difficult to use containers in production. The perceived complexity of container deployments could also come down to a lack of skills in Kubernetes and the uncertainty about whether the migration would work as expected. 

Increasing Kubernetes Adoption

With the Kubernetes ecosystem growing, Gartner has predicted the emergence of next-generation DevOps platforms (value stream delivery platforms, or VSDPs) and frameworks that aim to drive efficient application delivery, thus helping teams to deliver value instead of dealing with too many DevOps toolchains.

On one hand, we have traditional GitOps tools for CD and, on the other hand, we have newer CI/CD frameworks, like Tekton, that are helping increase Kubernetes adoption by the DevOps community.

Most of the current CD tools focus on continuous deployment for cloud-native platforms and are oriented around GitOps. They usually sync your Kubernetes clusters as per the application configurations in your repository (similar to the principles governing infrastructure-as-code). But few of these tools also help you visualize your Kubernetes deployment. 

Many developers are happy with current CD tools, which offer basic deployment automation. However, do bear in mind that since a few of them are agentless, all your server codes and secrets are stored in the repository, which is not ideal and definitely not secure. Apart from that, these CD tools ensure security, observability and traceability through declarative deployments. 

Tekton, built and donated by Google, is the most comprehensive framework for CI/CD incubated by the Continuous Delivery Foundation. It redefines how pipelines are defined and executed on a cluster: As shared and customizable building blocks. With shared custom resources that include tasks and pipeline runs, multiple teams can reuse these Tekton entities while working with multiple microservices. 

Tekton has managed to simplify CI and CD pipelines that were a bottleneck to many DevOps teams. However, though Tekton has a steep learning curve, given time and maturity, it could become a de facto standard approach to working with Kubernetes.

While the GitOps CD tools are brilliant in the way they automate the deployment of applications to specified target environments, they are still very narrow in their functions. If you are looking at optimizing only continuous deployments, you will find that most developers are completely satisfied with these CD tools. However, with Tekton, you get to modernize the entire CI/CD pipelines. It can simplify both CI and CD by standardizing deployments. Because Kubernetes is cloud-native, it doesn’t matter where you deploy the clusters and, with modern cloud-native solutions, teams need not bother with under-the-hood scripts and integrations. 

Tekton pipelines can be templatized and reused across Kubernetes workloads, thus reducing your dependencies, turn-around times and uncertainties. 

Another popular approach is using Tekton along with GitOps CD tools for configuring your CI/CD processes on Kubernetes. You could use Tekton pipelines to build your applications and use CD tools to deploy applications using GitOps. Here’s how the overlap would look:

Therefore, Tekton has the potential to become a de facto CI/CD framework.

There are several challenges to multi-cloud deployments, with scalability and governance being the most common. Where GitOps tools help is in automating your continuous deployments; Tekton not only does that but also helps standardize your CI/CD processes. 

With Tekton, you can define custom CI/CD standards based on your use cases and share them with your team. Since Tekton pipelines are reusable and built with Kubernetes-native objects, you can tackle scaling and standardization requirements easily compared to other GitOps CD tools. 

Standardize Kubernetes Deployments with Tekton

With more organizations embracing multi-cloud, deployments are getting more complicated and Kubernetes adoption is seeing a substantial uptick. There is a need to standardize and automate Kubernetes deployments. 

Also, from an organizational point of view, CI/CD must be simple and efficient. Businesses can deliver value faster using an end-to-end CI/CD framework that can orchestrate the entire application life cycle from build to deployment.

To hear more about cloud-native topics, join the Cloud Native Computing Foundation and the cloud-native community at KubeCon+CloudNativeCon North America 2021 – October 11-15, 2021

Siva Gurunathan

Siva Gurunathan is CTO of Ozone, where he focuses on building an end-to-end CI/CD platform which helps ship modern apps at light speed. His diverse experience in managing infrastructure and architecture for big e-commerce companies empowers Ozone to deliver immense value to enterprises.

Siva Gurunathan has 1 posts and counting. See all posts by Siva Gurunathan