DEV Community

Cover image for Management Resources on Tekton
Sibelius Seraphini for Woovi

Posted on

2

Management Resources on Tekton

Nobody has infinite resources to allocate to their CI/CD.
When you are using GitHub Actions or CircleCI you can control the resources based on some spending per month.
If you spend more than you allocate, your team will have to develop without CI/CD until the next month.

When discussing Tekton and self-hosted CI/CD, it's crucial to manage the allocation of resources explicitly. This ensures efficient use of available resources, maintains system performance, and prevents overconsumption or bottlenecks.

At Woovi, we moved from the cloud to our bare-metal hardware, we have constrained resources, so we need to explicitly set resource limits to be used on our services.

Resource Management at Tekton

Tekton only enables us to control resources per step of a given task.
We had 40VCPU and 200GB of RAM to be used in our self-hosted CI/CD.

Our most expensive task is to run tests.
Jest consumes a lot of CPU and memory.

We have a task test-pkg that runs tests in a given package.
We define the resource requests and limits per step
Requests are the minimal resources required to run the step, and limits are the maximum resources that this step can use.

    - name: test-pkg
      resources:
        requests:
          memory: 2Gi
          cpu: 1
        limits:
          memory: 16Gi
          cpu: 8
Enter fullscreen mode Exit fullscreen mode

We decided to allocate 1VCPU and 2Gi of memory per test-pkg, so we can run at most 40 task steps in parallel.

When Kubernetes does not have enough resources to allocate it will queue the task until some resources are freed.

Sum up

When you are using a self-managed service like GitHub Actions or CircleCI you don't need to worry about resources at CPU or Memory level but more about your money budget.
When you move to self-hosted with your hardware, you need to care more about CPU and Memory resources.
It makes you optimize as much as possible.


Woovi is an innovative startup revolutionizing the payment landscape. With Woovi, shoppers can enjoy the freedom to pay however they prefer. Our cutting-edge platform provides instant payment solutions, empowering merchants to accept orders and enhance their customer experience seamlessly.

If you're interested in joining our team, we're hiring! Check out our job openings at Woovi Careers.


Photo by Marcin Jozwiak on Unsplash

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay