Deploying Scalable Apps with IBM Code Engine
Key Points
- An application in IBM Cloud Code Engine is defined as code that runs and responds to incoming requests, typically as a web server.
- Deploying an app is as simple as selecting a container image in the Code Engine UI and clicking “Create,” after which the platform downloads the image and sets up networking automatically.
- Runtime settings let you adjust memory, CPU, request timeout, and concurrency, and Code Engine will automatically spin up or shut down instances based on load, respecting configurable min‑scale and max‑scale bounds.
- The deployed application is exposed via a TLS‑secured HTTPS URL and can scale down to zero when idle, ensuring you only pay for resources while the app is in use.
Sections
- Deploying Apps with IBM Code Engine - Jenny Lanier explains what constitutes an application and demonstrates a quick‑start deployment of a container image in IBM Cloud Code Engine, outlining the default settings and the behind‑the‑scenes steps for downloading the image and configuring networking.
- Code Engine Simplifies Kubernetes Deployments - The speaker highlights how Code Engine reduces complex Kubernetes setup to a single step, offering a streamlined developer experience while encouraging viewers to explore additional videos and try the service themselves.
Full Transcript
# Deploying Scalable Apps with IBM Code Engine **Source:** [https://www.youtube.com/watch?v=sd1zM57TAB4](https://www.youtube.com/watch?v=sd1zM57TAB4) **Duration:** 00:03:46 ## Summary - An application in IBM Cloud Code Engine is defined as code that runs and responds to incoming requests, typically as a web server. - Deploying an app is as simple as selecting a container image in the Code Engine UI and clicking “Create,” after which the platform downloads the image and sets up networking automatically. - Runtime settings let you adjust memory, CPU, request timeout, and concurrency, and Code Engine will automatically spin up or shut down instances based on load, respecting configurable min‑scale and max‑scale bounds. - The deployed application is exposed via a TLS‑secured HTTPS URL and can scale down to zero when idle, ensuring you only pay for resources while the app is in use. ## Sections - [00:00:00](https://www.youtube.com/watch?v=sd1zM57TAB4&t=0s) **Deploying Apps with IBM Code Engine** - Jenny Lanier explains what constitutes an application and demonstrates a quick‑start deployment of a container image in IBM Cloud Code Engine, outlining the default settings and the behind‑the‑scenes steps for downloading the image and configuring networking. - [00:03:05](https://www.youtube.com/watch?v=sd1zM57TAB4&t=185s) **Code Engine Simplifies Kubernetes Deployments** - The speaker highlights how Code Engine reduces complex Kubernetes setup to a single step, offering a streamlined developer experience while encouraging viewers to explore additional videos and try the service themselves. ## Full Transcript
Hi everyone, my name is Jenny Lanier and I'm with the IBM Cloud team.
Let's talk about how to deploy and manage applications in IBM Cloud Code Engine.
Before we begin, let's first talk about what an "application" is.
An application is any piece of code that is typically meant to run and respond to incoming
requests - such as a web server. While it is also possible to have an application running
even without incoming requests, we're going to focus on the more common case.
With that definition, let's jump right into deploying an application.
From this Code Engine "overview" page you'll see that you can immediately deploy a container image
that you've already built by using this "quick start" dialog.
You'll see that the image name is pre-populated with a sample container image name, so
let's just go ahead and hit "Start creating".
On this page you'll see there are some options available, but let's keep this
really simple, just using the defaults for everything, including the name of the application.
So, since we're not going to change anything,
let's just go ahead and hit the "Create" button to actually do it.
Deploying the app will take a second or two, so let's discuss what's going on behind the scenes.
First, Code Engine will download the image you provided and then deploy that to the Code
Engine runtime. Since applications are meant to accept requests, it will also setup all
of the networking infrastructure necessary to route the requests to your application.
Let's go to the "Runtime" tab to see what kind of runtime configuration options are available to us.
Notice on here you can control things like the amount of memory
and CPU allocated for each instance of your app.
You can also control incoming requests and automatically terminate
any request after a certain amount of time.
The "Concurrency" value controls how many requests your app can handle at one time and
once that limit is reached, Code Engine will create additional instances to handle the load.
Likewise, as the load decreases it will shut down
unneeded instances to automatically manage the scaling of your application for you.
Finally, notice the final two config options - min scale and max scale. This allows you to
control that scaling we just talked about even down to zero instances if there are no incoming
requests - but you are in full control of the lower and upper bounds of this scaling.
Including having a certain number of instances always running, if needed.
Notice the app is now "ready" so let's go ahead and see what it looks like by pressing the
"Application URL" button.
Notice the URL starts with "https", so the application is automatically secured with TLS.
Now, let's pause here for a moment. Think about what we just did.
We deployed a secure internet-facing application, that will automatically
scale up and down with traffic - even to zero - so you don`t have to pay when your app is idle.
And we did all of this with simply the name of our container image.
If you're familiar with platforms like Kubernetes, think about how long it would have taken you to
set up all of the infrastructure needed to do that? The pods, deployments, replicateSets,
load-balancers, ingress... that's a lot of work reduced down to one trivial step.
And that's the simplified developer experience that Code Engine offers,
and to be honest, that developers should expect.
That's all the time we have for today, but hopefully you found this quick walk-through
of how to manage applications in Code Engine exciting and I encourage you to look
at our other videos to see more key Code Engine features. And, of course, we hope that you'll go
to www.ibm.com/cloud/code-engine to play with it yourself.
Thank you.