Overview

Serverless 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

A single runtime environment. Any workload. Scale on demand.

Pick the type of workload that best fits your needs without learning multiple serverless products.

Resources

IBM Cloud® Code Engine, examined

Explore IBM Cloud Code Engine through our podcast, ebook, tutorial and more.

How IBM Cloud Code Engine empowers developers

Hear Doug Davis, Offering Manager for IBM Cloud Code Engine, tell how developers can spend more time coding.

Serverless in the enterprise

Benefit from the insights of over 1,200 IT executives on the ins and outs of serverless computing.

Hello world

Take the tutorial to see how easy it is to create and deploy an IBM Cloud Code Engine application.

A tour of the UI

Getting started

IBM Cloud Docs page

Getting started

The IBM Cloud Docs web page provides detailed explanations of the product capabilities and how to use them.

Overview

IBM Cloud Code Engine overview window

Overview

The overview window of the IBM Cloud Code Engine user interface explains the benefits of the product and enables you to begin deploying an application or running a job with a container image.

Create or deploy

IBM Cloud Code Engine start creating window

Create or deploy

The “Start creating” window of the IBM Cloud Code Engine user interface is where you can choose to deploy an application or create a job to run.

Project dashboard

IBM Cloud Code Engine my-project window

Project dashboard

The “my-project” window of the IBM Cloud Code Engine user interface shows a summary of your current applications, jobs, image builds and more, in addition to those recently updated.

Configurations

IBM Cloud Code Engine my-application window

Configurations

The “my-applications” window of the IBM Cloud Code Engine user interface shows your current configurations and jobs that are running.

Frequently asked questions

How does IBM Cloud 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. IBM Cloud 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 as-a-service platforms, allowing developers to run any type of code from a unified experience.

How does IBM Cloud 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). IBM Cloud 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 IBM Cloud 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.