Skip to main content
Your progress
0 of 5 lessons complete0%
T1 / M1.8 / L1 OF 5 / Operator TIER / 9 min

Deploy a service on ZopCloud

Outcome

By the end of this lesson, you will be able to deploy a running service on ZopCloud, name the four objects a deploy needs, and identify which steps a person must do because no assistant can.


TierOperator
JTBD”Get something of mine running, so the rest of this course has something to act on.”
PersonasPlatform Engineer · Developer · SRE
PrerequisitesM1.1, M1.2
Time9 minutes
Bloom verbDeploy (Apply), Name (Remember), Identify (Understand)

1. Concept

Everything you have done so far in this course has acted on somebody else’s resources: an estate that already existed, discovered and scheduled. This module gives you your own.

A ZopCloud deploy needs four objects, in this order:

Terminal window
PROJECT the container. One per product or team.
ENVIRONMENT dev, staging, prod. Lives inside a project.
SERVICE your app. Lives inside an environment.
DEPLOY one shipped version of that service.

Miss one and the next refuses. You cannot deploy a service into nothing, and you cannot create an environment that belongs to no project.

What a person has to do, and why

Three steps in this module have no assistant equivalent at any level of access:

Terminal window
CREATE AN ACCOUNT signing up is a person with an email
CONNECT A CLOUD hands over credentials
GRANT WRITE ACCESS an org setting, ticked by an admin

That is not a gap waiting to be filled. Each one either establishes who you are or hands over the keys, and both stay with a human on purpose. Everything after them is fair game, which is the point of the next lesson.

What you are deploying

Any container image that listens on a port will do. The rest of this module assumes something small and boring: a hello-world HTTP service you do not mind restarting. If you bring a real application, bring one whose staging copy you are free to stop, because L3 puts it on a schedule.


2. Demo

Terminal window
PROJECT university-capstone
ENVIRONMENT dev
SERVICE hello-api
image ghcr.io/<you>/hello-api:v1
port 8080
replicas 1
expose on, so it gets a URL
RESULT
https://hello-api-dev-<suffix>.zop.app 200 OK

The URL is the object that matters for the rest of this module. Keep it.


3. Hands-on (6 min)

Terminal window
1. Sign in to ZopCloud. If you do not have an account, create one first.
2. Create a project. Call it university-capstone.
3. Create an environment inside it. Call it dev.
4. Create a service in that environment:
- point it at a container image you can pull
- set the port your app listens on
- leave replicas at 1
- turn on expose, so the service gets a public hostname
5. Ship the first deploy and wait for it to go green.
6. Open the service URL in a browser. It should answer.
IF IT DOES NOT GO GREEN
Read the build output first, then the running replica's log.
A deploy that never starts is almost always the image or the port.

What you need first.

Terminal window
BEFORE A ZopCloud account. A container image you can pull, and the port it
listens on. A cloud connected in ZopNight if you want L3 to see what
this deploy creates.
ASK nothing yet. Do this one by hand.
CHECK the URL answers before you move on. L2 repeats the whole thing in one
sentence, and it is only a fair comparison if you have done it the
long way once.

4. Knowledge check

Q1

You create a service in an environment that does not exist yet. What happens?

A. The environment is created implicitly with default settings
B. The service is created and stays unassigned until an environment appears
C. The call refuses, because a service lives inside an environment and the parent must exist first
D. The service deploys into the project’s default environment

Show answer

Correct: C. The four objects are strictly nested: project, environment, service, deploy. Nothing is created implicitly on your behalf, which is what makes the shape predictable when an assistant is driving it rather than a person. B describes an orphan, which the platform does not allow.

Q2

Which of these can an assistant do for you today?

A. Create your ZopCloud account
B. Connect your AWS account
C. Create the project, environment and service, and ship the deploy
D. Turn on write access for the organisation

Show answer

Correct: C. Signing up, connecting a cloud and granting write access are all human steps: the first establishes identity, the second hands over credentials, the third is the setting that governs everything an assistant may change. Once those are done, the whole deploy path is available, which is L2.

Q3

Your deploy goes green but the URL returns nothing. The most likely cause:

A. The cloud account lost its credentials
B. The service is listening on a different port than the one you declared
C. Discovery has not run yet
D. The project was created in the wrong region

Show answer

Correct: B. Green means the platform shipped what you asked for and the replica started. An unanswering URL after that is nearly always the port, because nothing upstream can know which port your process actually binds. Discovery is a ZopNight concern and has no bearing on whether the service answers, which is the distinction L3 draws.


5. Apply

Keep three things from this lesson, because the certification requirement checks for them and the rest of this module builds on them:

Terminal window
KEEP
the service URL
the project and environment names
the organisation this all lives in

If you are doing this on a work account, use a sandbox project rather than an existing product’s. Everything in this module is reversible, but the point is to practise without an audience.



Glossary terms touched

Deployment · Environment schedule · Service account · MCP

Start with the bill.

Foundations takes about five hours. The first lesson is nine minutes.

Open curriculum. No login. No paywall. 290 lessons across 7 courses, three publicly verifiable credentials. Read it on the train, take the exam on a Saturday, list the credential on your résumé Monday.

5h median time to finish Foundations
0 logins, paywalls, or marketing forms
open curriculum, public credential verifier
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·