Overview

Use cases

Deploy your source code

How to deploy your source code with IBM Cloud Code Engine
Play Icon

How to deploy your source code with IBM Cloud Code Engine (03:50)

Deploy your source code

Develop in your choice of language and then “push” your source code to the cloud without worrying about creating or managing containers. Easily connect your code to managed services such as object storage, databases or event streams.

Run a container

How to deploy and manage apps with IBM Cloud Code Engine
Play Icon

How to deploy and manage apps with IBM Cloud Code Engine (03:52)

Run a container

Already have a container image? IBM Cloud Code Engine will deploy, manage and autoscale it for you. No cluster administration, sizing or overprovisioning worries. You pay only for what you actually use.

Create batch jobs

How to run batch jobs with IBM Cloud Code Engine
Play Icon

How to run batch jobs with IBM Cloud Code Engine (04:05)

Create batch jobs

Batch jobs are ideal for nonevent-driven processing – such as ETL workloads, simulations and AI data model processing. Create powerful run-to-completion batch jobs with infinite scale-out (CPU, memory, execution time) and pay only for the resources you need.

Benefits

Features

An easy way to run your code with no infrastructure set up

Pick the type of workload that best fits your needs without learning multiple services

Tutorials

Hello world

icon representing hello world tutorial

Hello world

Visit our "Hello world" tutorial to see for yourself how easy it is to create and deploy an IBM Cloud Code Engine application.

Running batch jobs

icon representing batch jobs tutorial

Running batch jobs

Learn how to run a batch job using the Code Engine console. A job runs one or more instances of your executable code. Unlike applications, which handle HTTP requests, jobs are designed to run one time and exit.

Building apps with buildpacks

Icon representing buildpacks tutorial

Building apps with buildpacks

You can build a container image from source with the Code Engine CLI. The build process uses the buildpacks strategy and stores the image from the build process on Docker Hub. Code Engine supports building from a Dockerfile and Cloud Native Buildpacks.

Serverless web app and eventing

icon representing serverless web apps and eventing

Serverless web app and eventing

Create an application to automatically collect GitHub traffic statistics for repositories and provide the foundation for traffic analytics.

Frequently asked questions

How does Code Engine help developers?

IBM Cloud Code Engine is a fully managed serverless platform that can be used to host cloud native applications whether those are container images, 12-factor apps, functions, batch jobs or just a piece of code. Developers get the best of all worlds by simply choosing which runtime feature they want instead of having to choose one type of hosting platform (CaaS, PaaS, FaaS) with its runtime limitations. Code Engine abstracts away the complexities of the runtime hosting environment, allowing developers to focus on code and not infrastructure management. It allows developers to deploy various artifacts (container images, source code, batch jobs and the like) in a single user experience and will dynamically scale the resulting applications up and down — even to zero — so users pay only when their workloads are running.

What is serverless?

Serverless is an approach to computing that allows developers to focus their time and effort on their code and the business logic instead of worrying about infrastructure. The infrastructure management tasks (for example, provisioning, securing, scaling, scheduling, patching and the like) are the responsibilities of the cloud provider. IBM Cloud Code Engine expands on that concept by including the runtime characteristics of the other *aaS platforms, allowing developers to run any type of code from a unified experience.

How does Code Engine relate to Kubernetes?

IBM Cloud Code Engine is based on Kubernetes, but it hides its complexities so developers can focus on writing code instead of managing the hosting environment. While this is a great experience for most users, some will want to access the full Kubernetes configuration (for example, to integrate with other Kubernetes workloads). Code Engine allows this by exposing familiar Kubernetes tooling (for example, kubectl).

 

Kubernetes Products

 

IBM Cloud Code Engine

 

IBM Cloud Kubernetes Service or Red Hat® OpenShift® on IBM Cloud

 

Red Hat OpenShift on premises

Delivered as

 

IBM Cloud Service

 

IBM Cloud Service

 

Installable software on-premises

Tenancy

 

Multitenant (shared clusters)

 

Single-tenant (dedicated cluster)

 

Single-tenant (dedicated cluster)

Cost

 

Pay only when workloads run (GB-sec, vCPU-sec and invocations)

 

Constant billing for whole cluster (size of cluster time)

 

Constant licensing fee and cost of infrastructure

Management

 

Fully managed

 

Partially managed

 

Self managed

Skills

 

No container, cluster, networking or infrastructure skills required

 

IBM Cloud Kubernetes Service/Red Hat OpenShift, networking and infrastructure skills required

 

Red Hat OpenShift, networking and infrastructure skills required

Does the Free Tier for Code Engine expire?

No, but there are monthly limits that reset each month. This will allow you to run small applications or jobs. Once the Free Tier limit is reached, cost will vary based on:

  • Memory and CPU allocated per instance of the workload
  • Number of instances
  • Lifetime of each instance
  • Number of http-calls

How do I run an application in IBM Cloud Code Engine?

An application is a process that exposes an HTTP endpoint. You can use it as the backend for your web or mobile application, REST API serve, and proxy application. In IBM Cloud Code Engine, you run one CLI command. See the tutorial to get everything set up properly, including running your container image, exposing an HTTPS endpoint and setting up auto-scaling.

How do I run a batch job in IBM Cloud Code Engine?

Batch processing is appropriate for those frequently used programs that can be executed without human interaction. Developers can run large-scale batch job instances in parallel to support various workloads, such as heavy compute tasks, ETL (for example, transcoding), map and reduce, simulations (scientific compute), rendering and any type of parallel data processing. Batch jobs in IBM Cloud Code Engine run as containers, meaning you only need to package them as images and submit them to IBM Cloud Code Engine. That way, your batch job can be isolated for security and your specified batch job CPU and memory request can easily be accomplished.

Can IBM Cloud Code Engine build a container image for me if I don't know how to build one?

Yes. If you want to focus only on writing your source code and don’t want to take care of the image build process, then you can use the build container images feature. You provide source code directly (using a Git repo), and IBM Cloud Code Engine builds and manages the container image for you. Those familiar with IBM Cloud Foundry should recognize the similarities. IBM Cloud Code Engine supports two build strategies. One is Dockerfile build, which uses the Kaniko builder tool. The other is Cloud Native Buildpack, which uses Paketo Buildpacks.