Category
Governance and Administration
1. Introduction
What this service is
Resource Scheduler in Oracle Cloud (Oracle Cloud Infrastructure / OCI) is a governance-and-operations service used to automate time-based actions on cloud resources—most commonly to reduce cost and operational toil by ensuring resources run only when needed.
One-paragraph simple explanation
If you’ve ever had development environments left running overnight or non-production databases consuming budget over the weekend, Resource Scheduler helps by letting you define schedules (for example, “stop every day at 7 PM” and “start every day at 8 AM”) and apply them to supported OCI resources so those actions happen automatically.
One-paragraph technical explanation
Technically, Resource Scheduler provides a control-plane workflow to define time rules, associate them with target resources, and execute supported lifecycle actions at the scheduled times. It integrates with OCI Identity and Access Management (IAM) authorization, OCI Audit logging, and standard compartment-based governance. Supported resource types and actions can vary by region and OCI service capabilities—verify the current list in official OCI documentation and in the OCI Console for your region.
What problem it solves
Resource Scheduler primarily solves: – Cost waste from always-on non-production resources – Operational inconsistency (manual start/stop routines that people forget) – Governance gaps in platform operations (no centralized policy-driven scheduling) – Change fatigue and alert noise caused by resources that should be off but aren’t
2. What is Resource Scheduler?
Official purpose
Resource Scheduler’s purpose in Oracle Cloud is to enable scheduled automation of specific actions for supported OCI resources. In practice, this typically means automated start/stop patterns for environments, but the exact scope depends on what Resource Scheduler exposes in your tenancy and region.
If you find that “Resource Scheduler” is not visible in your OCI Console navigation for your region/tenancy, or if it shows limited target types, treat that as an availability constraint and verify in official OCI docs and your tenancy’s enabled services. OCI capabilities can be rolled out region-by-region.
Core capabilities (high-level)
Resource Scheduler is typically used to: – Define time-based schedules (daily/weekly patterns; timezone-aware scheduling) – Attach schedules to resource targets (resources in a compartment) – Execute supported resource actions automatically – Provide centralized visibility into what is scheduled, where, and by whom (governance)
Major components (conceptual)
Because OCI may represent these objects with slightly different names in the Console/API over time, think in terms of these core concepts:
| Concept | What it means | Why it matters |
|---|---|---|
| Schedule | A time rule (when something should happen) | Encodes business hours, weekdays/weekends, maintenance windows |
| Target (resource) | The OCI resource that will be acted on | Determines the scope and impact |
| Action | The operation performed at schedule time | Typically start/stop-type lifecycle actions; verify supported actions |
| Compartment scope | Administrative boundary in OCI | Enables least privilege and blast-radius control |
| IAM authorization | Permissions needed to create schedules and act on resources | Prevents unauthorized automation |
| Audit trail | Records API/control-plane actions | Required for security reviews and compliance |
Service type
Resource Scheduler is a governance and administration service (control-plane automation). It is not a compute runtime, not an agent on VMs, and not a workflow engine like a general-purpose scheduler; it is intended for resource lifecycle scheduling.
Scope (regional/global/compartment)
In OCI, governance services generally operate at the tenancy level but manage resources by compartment and region: – Tenancy: administrative root – Region: where the target resources exist – Compartment: where access and management are delegated
Verify in official docs whether schedules are region-specific or global objects in your current OCI implementation. In many OCI services, resources are region-scoped, while IAM is global to the tenancy.
How it fits into the Oracle Cloud ecosystem
Resource Scheduler complements: – OCI IAM (who can define schedules and what they can operate on) – Compartments, tags, and quotas (governance boundaries) – OCI Audit (who changed schedules and what actions were executed) – OCI Monitoring/Alarms (validate behavior; detect unexpected usage) – OCI Events/Notifications/Functions (alternative automation paths when you need custom workflows beyond scheduler’s built-in actions)
3. Why use Resource Scheduler?
Business reasons
- Reduce cloud spend by powering down resources outside business hours.
- Increase budget predictability (less “always-on” sprawl).
- Support FinOps goals with repeatable, auditable automation.
Technical reasons
- Automate lifecycle actions without maintaining custom cron servers or scripts.
- Standardize operational patterns across teams and compartments.
- Lower automation complexity compared to building your own scheduler pipeline.
Operational reasons
- Fewer manual tasks for ops teams (no “please turn off dev” tickets).
- Consistency: the same schedule applies every day/week.
- Central visibility into scheduled operations (depending on console features).
Security/compliance reasons
- Auditability: scheduling changes and scheduler-triggered actions can be reviewed through OCI Audit (verify event types in your tenancy).
- Least privilege: can be compartment-scoped so dev teams manage only their environments.
- Reduced attack surface: shutting down non-prod services when not used can reduce exposure time.
Scalability/performance reasons
- Scale operations across many resources without per-resource scripts.
- Reduce resource contention in shared non-prod environments by limiting runtime.
When teams should choose it
Choose Resource Scheduler when: – You need simple, time-based automation for supported OCI resource actions. – You want a governed and auditable way to enforce business-hour operations. – You want to avoid building and maintaining a custom automation stack.
When teams should not choose it
Avoid or supplement Resource Scheduler when: – You need complex orchestration (multi-step workflows, dependencies, approvals). – You require event-driven automation (based on metrics, logs, or custom events). – Your target resource type or required action is not supported in Resource Scheduler in your region/tenancy. – You need cross-region, cross-tenancy automation with centralized workflows (you may need OCI Functions, external CI/CD, or an ITSM workflow).
4. Where is Resource Scheduler used?
Industries
Resource Scheduler is broadly applicable in any industry using OCI: – SaaS and software companies (cost control for dev/test) – Finance and regulated sectors (auditable operations) – Education and research (lab environments, ephemeral projects) – Retail and media (non-production environments, batch windows) – Public sector (standardized operational controls)
Team types
- Platform engineering / cloud foundations teams
- DevOps and SRE teams
- IT operations and governance teams
- FinOps teams partnering with engineering
- Application teams managing their own dev/test compartments
Workloads
- Dev/test environments (VMs, managed databases, analytics sandboxes)
- Training environments (classroom systems that run only during sessions)
- Pre-production stacks with predictable work hours
- Scheduled maintenance windows (where “stop outside window” is acceptable)
Architectures
- Multi-compartment landing zones (per team/per environment)
- Hub-and-spoke network models (shared services + app compartments)
- Shared dev environments used by multiple squads
- Sandboxes and proof-of-concept compartments
Real-world deployment contexts
- Central governance: platform team provides schedules; app teams attach eligible resources.
- Delegated governance: each team controls schedules within its own compartment using tagging policies.
- FinOps-managed: standard “Office Hours” schedules applied by policy or by periodic reviews.
Production vs dev/test usage
- Dev/test: most common; low risk; high cost-savings.
- Production: use cautiously. Production often has uptime requirements, dependencies, and SLAs. If you schedule production resources, ensure you have:
- explicit stakeholder approval,
- validated start/stop sequences,
- runbooks and monitoring,
- and a tested rollback plan.
5. Top Use Cases and Scenarios
Below are realistic ways teams use Resource Scheduler in Oracle Cloud. Exact supported target types/actions depend on OCI service support—verify in official docs and your OCI Console.
1) Weekday office-hours scheduling for dev VMs
- Problem: Dev compute instances run 24/7 but are used only 9–6 on weekdays.
- Why Resource Scheduler fits: Simple recurring schedules; consistent enforcement.
- Example: Start at 08:00 Monday–Friday; stop at 19:00 Monday–Friday.
2) Weekend shutdown of non-production environments
- Problem: Entire non-prod stack runs idle on weekends.
- Why it fits: Weekly rule prevents human error and reduces cost.
- Example: Stop Friday evening; start Monday morning.
3) Classroom/training lab automation
- Problem: Instructors spend time starting/stopping lab environments.
- Why it fits: Predictable training schedule; centralized control.
- Example: Start all training resources 30 minutes before class; stop 30 minutes after.
4) Cost control for shared team sandboxes
- Problem: Shared sandbox used intermittently, but someone always forgets to stop it.
- Why it fits: A schedule acts as a default safety net.
- Example: Sandbox auto-stops nightly; engineers start on demand during the day.
5) Time-bound PoC environments
- Problem: Proof-of-concept resources are created quickly and then forgotten.
- Why it fits: You can attach schedules immediately, limiting long-term waste.
- Example: PoC database scheduled to run only during working hours for 30 days.
6) Pre-prod environment stabilization windows
- Problem: Pre-prod should only run for testing windows and releases.
- Why it fits: Scheduling aligns runtime with planned test windows.
- Example: Start pre-prod at 06:00 for test runs; stop at 22:00.
7) Predictable nightly batch windows (non-prod)
- Problem: Non-prod batch jobs need compute only during specific windows.
- Why it fits: Enforces compute availability for the batch window and stops afterward.
- Example: Start compute at 00:30; stop at 04:30.
8) Tag-driven operational governance (process pattern)
- Problem: Hard to track which resources should be scheduled.
- Why it fits: Even if Resource Scheduler doesn’t auto-discover by tag, teams can standardize: “all resources with tag
Schedule=OfficeHoursmust have schedules attached.” - Example: Policy and periodic audits ensure compliance.
9) Reduce exposure of non-prod endpoints
- Problem: Non-prod endpoints remain accessible after hours.
- Why it fits: Shutting down resources reduces attack surface time.
- Example: Scheduled stop of internet-facing dev systems overnight.
10) Migration staging environments
- Problem: Temporary environments used for migration rehearsals are expensive if left on.
- Why it fits: Schedules ensure runtime only during planned rehearsals.
- Example: Start staging during rehearsal week; stop nightly and fully decommission later.
6. Core Features
Because OCI service capabilities evolve, treat the list below as core patterns for Resource Scheduler, and confirm exact UI/API feature names and supported resources in official docs.
Feature 1: Schedule definitions (recurrence rules)
- What it does: Lets you define when actions should run (daily/weekly patterns and times).
- Why it matters: Converts business requirements (office hours) into an enforceable configuration.
- Practical benefit: Immediate cost reduction for non-prod without custom automation.
- Limitations/caveats: Timezone handling can be a source of mistakes; ensure schedules match your operational timezone.
Feature 2: Timezone-aware execution
- What it does: Supports specifying timezone context for schedules (implementation details may vary).
- Why it matters: Avoids “it stopped at the wrong time” incidents across global teams.
- Practical benefit: Predictable operations aligned with human work patterns.
- Limitations/caveats: Daylight Saving Time (DST) can shift runtimes; validate behavior around DST changes.
Feature 3: Target association (attach schedule to resource)
- What it does: Associates a schedule with a specific supported OCI resource.
- Why it matters: Separates “when” (schedule) from “what” (resource).
- Practical benefit: Reuse schedules across multiple resources.
- Limitations/caveats: Only supported resource types/actions will be selectable.
Feature 4: Action execution for supported lifecycle operations
- What it does: Executes supported operations (commonly start/stop-type actions).
- Why it matters: Eliminates manual operations and reduces missed shutdowns.
- Practical benefit: Fewer operational tickets and reduced cost.
- Limitations/caveats: Not all OCI services support start/stop; some services bill even when “stopped.” Verify resource billing behavior.
Feature 5: Compartment-based governance alignment
- What it does: Works within OCI’s compartment model.
- Why it matters: Platform teams can delegate scheduling authority per compartment.
- Practical benefit: Least privilege and organizational scaling.
- Limitations/caveats: Poor compartment design can lead to over-broad access.
Feature 6: Audit visibility via OCI Audit (control-plane logging)
- What it does: Records schedule changes and related actions through OCI Audit (event names vary).
- Why it matters: Supports compliance and incident investigations.
- Practical benefit: “Who changed the schedule?” becomes answerable.
- Limitations/caveats: Audit is control-plane; it may not capture OS-level changes inside a VM.
Feature 7: Standard OCI tagging support (governance pattern)
- What it does: Typically, OCI resources can be tagged; schedules may also support tagging depending on implementation.
- Why it matters: Enables ownership, cost allocation, and governance.
- Practical benefit: FinOps can filter “scheduled vs not scheduled” by tags.
- Limitations/caveats: Tag enforcement depends on organizational policy, not just the scheduler.
Feature 8: Console-based management for operations teams
- What it does: Provides a GUI flow to define and manage schedules.
- Why it matters: Lowers barrier for adoption.
- Practical benefit: Teams can implement scheduling quickly.
- Limitations/caveats: For large-scale automation, API/CLI/IaC is often preferred—verify current API/CLI coverage for Resource Scheduler.
7. Architecture and How It Works
High-level service architecture
At a high level: 1. An operator defines a schedule in Resource Scheduler. 2. The operator associates the schedule with one or more targets (supported OCI resources). 3. At scheduled times, Resource Scheduler triggers the defined action against the target resource’s control-plane API. 4. OCI IAM authorizes the action according to policies. 5. OCI Audit records the activity. 6. Operators validate outcomes using the target service console (for example, Compute instance state) and OCI Monitoring metrics.
Request/data/control flow
- Control-plane only: Resource Scheduler primarily operates at the OCI control plane level (API actions).
- No data-plane traffic: It does not typically route application data.
- Outcome depends on target service: For example, “stop” on a compute instance changes instance state; it does not automatically manage application shutdown inside the OS unless the service supports graceful behavior.
Integrations with related services
Common ecosystem touchpoints: – OCI IAM: permissions to manage schedules and act on resources – OCI Audit: trace schedule creation/changes and action execution – OCI Monitoring: confirm resource state change via metrics/alarms – OCI Notifications: optional alerts (often built using Monitoring alarms or Events) – OCI Events + Functions: a flexible alternative if you need custom automation logic or unsupported targets
Dependency services
- IAM (authorization)
- Target services (Compute, Database, etc.—whatever is supported)
- Audit (logging, governance)
Security/authentication model
Resource Scheduler follows OCI’s standard model: – Users authenticate via OCI IAM (Console/API). – Authorization is evaluated against policies scoped by compartments. – Service-initiated actions are executed through OCI’s internal service-to-service authorization model (implementation-specific; verify in official docs for the exact service principal behavior, if documented).
Networking model
Resource Scheduler itself is a managed control-plane service. It typically does not require: – VCN configuration – subnets – security lists
However, the target resources may be in private subnets, and their networking controls remain in effect. Scheduling a start/stop action does not change VCN security posture by itself.
Monitoring/logging/governance considerations
- Audit: Use OCI Audit to track schedule modifications and scheduler-driven actions.
- Monitoring: Track “resource up/down” signals using metrics (Compute metrics, DB metrics, etc., depending on target).
- Tagging: Use defined tags for ownership and scheduling intent.
- Quotas: Consider quotas for the target resources; scheduling start operations can fail if quotas are exceeded (for example, if capacity or limits block startup).
Simple architecture diagram (Mermaid)
flowchart LR
U[Operator] -->|Create schedule| RS[Resource Scheduler]
RS -->|At scheduled time: action| API[OCI Service API<br/>(e.g., Compute)]
API --> R[Target Resource]
RS --> A[OCI Audit]
U -->|Verify| C[OCI Console / Monitoring]
Production-style architecture diagram (Mermaid)
flowchart TB
subgraph Tenancy[OCI Tenancy]
subgraph IAM[OCI IAM]
P[Policies]
G[Groups / Users]
end
subgraph Gov[Governance and Administration]
RS[Resource Scheduler]
AU[OCI Audit]
TAG[Tagging / Defined Tags]
end
subgraph Compartments[Compartments]
subgraph Dev[Dev Compartment]
CI1[Compute Instance(s)]
DB1[Managed DB (if supported)]
end
subgraph Shared[Shared Services Compartment]
MON[OCI Monitoring]
AL[Alarms]
NOTIF[OCI Notifications]
end
end
end
G --> RS
P --> RS
RS --> CI1
RS --> DB1
RS --> AU
CI1 --> MON
DB1 --> MON
MON --> AL --> NOTIF
TAG --> CI1
TAG --> DB1
TAG --> RS
8. Prerequisites
Tenancy/account requirements
- An active Oracle Cloud tenancy with access to the target region.
- Access to the OCI Console.
Permissions / IAM roles
For this tutorial, the safest assumption is to use a user with: – Permission to manage the target resource (for example, manage compute instances in a compartment) – Permission to create and manage Resource Scheduler schedules/associations in the same compartment
If you are not a tenancy admin, you will need your administrator to grant appropriate policies. The exact policy syntax for Resource Scheduler can vary by OCI implementation—verify the current Resource Scheduler IAM policy reference in official OCI documentation.
Billing requirements
- Resource Scheduler may not have a distinct line-item cost (often governance services are included), but the target resources do incur charges when running and sometimes when stopped (depending on service).
- Ensure your tenancy has a valid payment method or credits.
Tools (optional but helpful)
- OCI Console (required for this lab)
- OCI CLI (optional for validation and cleanup if you already use it):
https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/cliinstall.htm
Region availability
- Resource Scheduler availability can be region-dependent.
- Verify that Resource Scheduler appears in your OCI Console in your desired region.
Quotas/limits
- Your account must have quota to create a small compute instance (if using compute in the lab).
- Scheduling actions can fail if the target service is at quota or capacity.
Prerequisite services
- A target resource that can be scheduled (in this tutorial: a small Compute instance).
If Compute is not supported by Resource Scheduler in your region/tenancy, choose another supported target type visible in the Resource Scheduler “target” selection UI and follow equivalent steps.
9. Pricing / Cost
Current pricing model (accurate framing without fabricating numbers)
Oracle Cloud pricing is usage-based. For Resource Scheduler itself:
– OCI often does not publish separate per-action pricing for governance services, but this can change.
– Verify whether Resource Scheduler has standalone pricing or is included at no additional charge by checking:
– Oracle Cloud Pricing page: https://www.oracle.com/cloud/pricing/
– OCI Cost Estimator: https://www.oracle.com/cloud/costestimator.html
– The specific Resource Scheduler documentation/pricing notes (if provided)
Pricing dimensions to consider
Even if Resource Scheduler is included, you will pay for the resources it starts: – Compute instance runtime (OCPU and memory hours) – Boot volume and block storage (charged regardless of instance power state in most cases) – Public IP and network egress (depending on usage) – Managed database billing (varies heavily by service; some charge when stopped, others don’t)
Free tier
Oracle has an OCI Free Tier, but eligibility and included resources vary by region and program terms. Verify current Free Tier details here: – https://www.oracle.com/cloud/free/
Key cost drivers (direct and indirect)
Direct drivers – Hours the resource is actually running (compute) – Provisioned storage (boot volumes, block volumes, object storage) – Egress to the internet or between regions
Indirect/hidden drivers – “Stopped” resources may still incur storage and reserved capacity costs. – Scheduled startup can trigger autoscaling or downstream services if you have dependencies. – Operational overhead if schedules cause repeated “cold start” impacts (time-to-ready).
Network/data transfer implications
Resource Scheduler itself doesn’t transfer your application data, but scheduled start/stop can: – Change traffic patterns (morning thundering herd) – Trigger patching/updates pulling packages (egress via NAT/internet gateway) – Trigger backup windows and associated storage/network usage
How to optimize cost with Resource Scheduler
- Schedule non-production resources off by default.
- Combine scheduling with right-sizing (smaller shapes for dev).
- Use tags to track scheduled resources and owners.
- Set budgets and alerts (OCI Budgets) to catch anomalies.
- Validate “stop” behavior: ensure the resource actually stops and does not remain billable in unexpected ways.
Example low-cost starter estimate (no fabricated prices)
A realistic “starter” pattern: – 1 small compute VM used for a few hours/day on weekdays – Storage kept minimal – No heavy egress
To estimate:
1. Use OCI Cost Estimator: https://www.oracle.com/cloud/costestimator.html
2. Select your region, shape, and expected hours (for example, ~9 hours/day * 5 days/week).
3. Add boot volume size and any additional block volumes.
4. Compare to 24/7 runtime to calculate savings.
Example production cost considerations
In production, focus on: – Whether scheduled downtime is acceptable (often not) – Downstream effects (load balancers, DNS, dependent services) – RTO/RPO and backup/restore costs – Operational risk costs (incidents caused by scheduling errors)
10. Step-by-Step Hands-On Tutorial
Objective
Use Resource Scheduler (Oracle Cloud) to automatically stop and start a non-production Compute instance on a short schedule for testing, then convert it into a standard “office hours” schedule. You will also learn how to validate execution and clean up safely.
If your Resource Scheduler UI does not offer Compute instances as a target in your region/tenancy, use any supported target type presented in the Resource Scheduler target selector and follow the same logic (create schedule → associate target → validate → clean up).
Lab Overview
You will: 1. Create (or choose) a small compute instance in a non-production compartment. 2. Create a Resource Scheduler schedule that triggers soon (for quick validation). 3. Attach the schedule to the instance with a stop/start pattern (based on what the UI supports). 4. Validate the instance state changes and confirm audit events. 5. Replace the test schedule with an office-hours schedule. 6. Clean up schedules and optionally terminate the instance.
Expected time
- 30–60 minutes (depends on instance provisioning)
Cost
- Low, but not zero. Compute runtime and storage apply.
Step 1: Prepare a compartment and tags (recommended)
Goal: Keep the lab isolated and easy to clean up.
-
In the OCI Console, choose (or create) a compartment such as: –
Lab-ResourceScheduler -
(Optional but recommended) Create a defined tag key or use freeform tags: –
Environment=Lab–Owner=<your-name>–AutoSchedule=Yes
Expected outcome – You have a dedicated compartment (or at least a clear tag strategy) to locate and remove resources later.
Step 2: Create a small Compute instance (target resource)
Goal: Create a resource that is safe to stop/start.
- Go to Compute → Instances.
- Click Create instance.
-
Choose: – Compartment:
Lab-ResourceScheduler(or your lab compartment) – Name:rs-lab-vm01– Placement: pick an availability domain as offered – Image: an Oracle Linux image (or another small Linux image) – Shape: choose a small/low-cost shape available to you – Networking: default VCN/subnet is OK for this lab – SSH keys: add your SSH public key if you want to log in (optional) -
Add tags (if you created them).
-
Click Create and wait for the instance to become Running.
Expected outcome
– Instance rs-lab-vm01 shows status Running in the Compute Instances list.
Verification – Open the instance details page and confirm: – Lifecycle state: Running – You can see the boot volume and VNIC attached
Step 3: Confirm Resource Scheduler is available in your region
Goal: Ensure you can use Resource Scheduler where the instance exists.
- In the OCI Console navigation menu, look under Governance and Administration for Resource Scheduler.
- Select Resource Scheduler.
If you cannot find it: – Confirm you are in the correct region (top-right region selector). – Confirm your user has sufficient permissions. – If still unavailable, verify in official docs whether Resource Scheduler is enabled/available for your region and tenancy.
Expected outcome – You can open the Resource Scheduler service page.
Step 4: Create a “quick test” schedule (runs soon)
Goal: Create a schedule that triggers in the next few minutes so you can validate behavior immediately.
- In Resource Scheduler, choose the option to Create schedule (wording may vary).
- Provide:
– Name:
rs-quick-test– Description:Quick validation schedule for lab– Timezone: choose your local timezone (be explicit) - Define a schedule rule that will run soon. For example: – If the UI supports one-time execution, set it for 10 minutes from now. – If the UI supports recurrence only, set it to run every hour at a specific minute a few minutes ahead.
Expected outcome – The schedule object exists and is enabled.
Verification
– You can open rs-quick-test and see:
– Next run time (or equivalent)
– Timezone
If the UI does not show “next run time,” rely on the schedule definition and validate via action results later.
Step 5: Associate the schedule with the instance and choose an action
Goal: Attach the schedule to a resource and specify what should happen when the schedule triggers.
- In Resource Scheduler, select your schedule
rs-quick-test. - Choose Add target / Associate resource (exact wording may vary).
- Select:
– Compartment:
Lab-ResourceScheduler– Resource type: Compute instance (if available) – Resource:rs-lab-vm01 - Choose the action to execute at schedule time: – Prefer Stop for the quick test (safe and easy to observe). – If the scheduler requires pairs (stop and start), configure both with appropriate times.
Expected outcome
– The schedule is linked to rs-lab-vm01 and an action is configured.
Verification – The schedule details show at least one target association. – The instance details show no immediate change yet (until the schedule time hits).
Step 6: Wait for the schedule to run and confirm the instance state changes
Goal: Observe the scheduled action.
- At (or shortly after) the scheduled time, go to:
– Compute → Instances →
rs-lab-vm01 - Refresh until you see a lifecycle transition such as: – Running → Stopping → Stopped (terminology may vary in OCI UI)
Expected outcome – The instance transitions to the expected state (e.g., Stopped).
Verification options
– Console: Instance lifecycle state shows Stopped.
– Audit: Go to Governance and Administration → Audit and filter by:
– Compartment: Lab-ResourceScheduler
– Resource: compute instance OCID (if you want a precise filter)
– Time range: last hour
You should see an event corresponding to the stop operation (event naming can vary).
If you do not see the audit event immediately, widen the time range and confirm you’re searching the correct compartment and region.
Step 7: Add a start action (or create a second schedule) to bring the instance back
Goal: Confirm both directions (stop and start) work.
Depending on how your Resource Scheduler UI is structured:
Option A: One schedule supports multiple actions
1. Edit rs-quick-test.
2. Add a second action for Start scheduled a few minutes in the future.
3. Save changes.
Option B: One schedule = one action
1. Create a second schedule:
– Name: rs-quick-start
– Set it to run in ~10 minutes
2. Associate it with rs-lab-vm01 and set action Start.
Expected outcome – The instance returns to Running after the start action fires.
Verification – Compute instance lifecycle returns to Running. – Audit shows a corresponding start operation.
Step 8: Replace quick tests with an “office hours” schedule
Goal: Put a practical schedule in place.
- Create a schedule named
rs-office-hours: – Timezone: your operational timezone – Rules (example pattern):- Start: Monday–Friday at 08:00
- Stop: Monday–Friday at 19:00
- Associate the schedule to
rs-lab-vm01.
Expected outcome – The instance now follows the business-hours schedule.
Verification
– Check schedule “next run” values (if shown).
– Use tags like AutoSchedule=OfficeHours to mark intent.
Validation
Use this checklist:
- Resource Scheduler
- Schedule exists, enabled, correct timezone
- Target association exists for the right compartment/resource
- Compute
- Instance transitions occur at the expected times
- Audit
- Events appear for schedule changes and for the underlying start/stop actions (as applicable)
Troubleshooting
Issue: Resource Scheduler is not visible in the Console
Possible causes: – Region mismatch (you created the instance in Region A but are viewing Region B) – Service not available in your region/tenancy – Permissions missing
Fix: – Switch to the correct region in the Console. – Confirm with your administrator that Resource Scheduler is enabled/available. – Verify IAM policies for your user/group.
Issue: Schedule ran, but resource did not change state
Possible causes: – Target resource type/action not actually supported – The resource was in a transitional or error state – Permissions allow schedule creation but not the underlying action
Fix: – Re-check the target association and selected action. – Confirm you can manually stop/start the resource with your user. – Check Audit logs for a denied/unauthorized event.
Issue: Wrong execution time
Possible causes: – Timezone mismatch – DST change – Schedule rule misconfigured (AM/PM confusion)
Fix: – Set timezone explicitly and document it. – Create a quick test schedule to validate actual behavior.
Issue: Instance stops but workloads don’t recover after start
Possible causes: – Application not configured to auto-start – Dependencies not available (DB still stopped) – OS-level issues
Fix: – Add application boot scripts/systemd units. – Coordinate schedules for dependencies (DB before app, app before batch, etc.). – Consider a more advanced orchestrator if ordering is required.
Cleanup
Clean up to avoid ongoing charges.
-
In Resource Scheduler: – Disable or delete schedules created for this lab (
rs-quick-test,rs-quick-start,rs-office-hours). – Remove target associations if required by the UI before deleting. -
In Compute: – If you no longer need the instance, Terminate
rs-lab-vm01. – When terminating, choose whether to delete the boot volume (deleting saves cost but removes data). -
Verify: – No schedules remain enabled for the lab compartment. – No compute instances remain running unintentionally. – Review boot volumes and public IPs to ensure nothing was left behind.
11. Best Practices
Architecture best practices
- Design for dependency order: If an app depends on a database, ensure the DB starts before the app and stops after it. If Resource Scheduler cannot model dependencies, use:
- separate schedules with offset times, or
- a workflow service (Functions/Events) for orchestrated steps.
- Prefer immutable non-prod: For dev/test, consider rebuilding environments rather than keeping long-lived state.
IAM/security best practices
- Least privilege by compartment: Delegate schedule management only in the compartment where teams operate.
- Separate duties: Platform team owns schedule templates; app teams attach schedules within guardrails.
- Use groups not individuals: Avoid one-off access grants.
Cost best practices
- Stop what you can, right-size what you can’t: Scheduling and right-sizing together yield better savings than either alone.
- Validate billing behavior: Some services continue billing when “stopped” (commonly storage). Confirm per service.
- Tag for chargeback/showback:
CostCenter,Owner,Environment,SchedulePolicy.
Performance best practices
- Plan for cold starts: Morning start can cause CPU spikes, cache warmups, and pipeline delays.
- Stagger startups: Avoid starting all resources at the same minute to reduce load and throttling risks.
Reliability best practices
- Avoid production scheduling unless explicitly required: If uptime matters, do not schedule stops.
- Add monitoring/alarms: Alert if a resource is running outside intended hours (FinOps guardrail).
- Test changes: Modify schedules first in dev compartments.
Operations best practices
- Document schedules: Put schedule intent in descriptions and tags.
- Change management: Treat schedule changes like operational changes—review, approve, and log.
- Create a runbook: What to do if a scheduled start fails Monday morning.
Governance/tagging/naming best practices
- Naming convention examples:
rs-office-hours-devrs-weekend-off-nonprodrs-batch-window-test- Tag examples:
AutoSchedule=trueScheduleName=rs-office-hours-devOwnerTeam=Payments
12. Security Considerations
Identity and access model
- Resource Scheduler is governed by OCI IAM.
- Secure design principle: users who can create schedules should only be able to act on resources they own (via compartment scoping and policies).
Encryption
- Scheduler objects are control-plane configurations. OCI generally encrypts data at rest in managed services; verify Resource Scheduler’s specific data handling guarantees in official documentation.
- Target resource data encryption (block volumes, databases) is separate and must be configured per service.
Network exposure
- Resource Scheduler does not typically require inbound network access.
- Security risk comes from what it starts (e.g., internet-facing dev VMs). Turning resources on/off changes exposure time, not exposure configuration.
Secrets handling
- Resource Scheduler should not require storing secrets for basic start/stop actions.
- If you build advanced automation around it (Functions, scripts), store secrets in OCI Vault and use dynamic groups/instance principals.
Audit/logging
- Use OCI Audit to track:
- schedule creation/deletion
- schedule modifications
- scheduler-triggered operations (and whether they succeeded)
- Retain logs according to compliance requirements.
Compliance considerations
- Scheduling can be part of compliance controls (least privilege, reduced exposure).
- But it can also introduce risk if critical systems stop unexpectedly. Use formal approvals for any production scheduling.
Common security mistakes
- Granting broad “manage all-resources” access so teams can schedule things.
- Not tagging schedules/resources, making it impossible to trace ownership.
- Scheduling internet-facing systems to start automatically without vulnerability management.
Secure deployment recommendations
- Use compartment boundaries and tags.
- Enforce MFA for human administrators.
- Review IAM policies periodically.
- Monitor audit logs for unauthorized schedule changes.
13. Limitations and Gotchas
Because Resource Scheduler support can be tenant/region/service-dependent, confirm details for your environment. Common gotchas include:
- Availability differences by region: Resource Scheduler may not be enabled everywhere.
- Supported target types vary: You may not see your desired resource type in the scheduler target list.
- Action set is limited: Typically lifecycle actions; not a general workflow engine.
- No dependency orchestration: If you need ordered multi-service startup/shutdown, you may need external orchestration.
- Timezone and DST issues: Misconfigured timezone is a frequent cause of “wrong time” incidents.
- Cold start effects: After starting, apps may need warm-up time; scheduled start is not the same as “ready for traffic.”
- Billing surprises: “Stopped” is not “free.” Storage and some service charges may continue.
- Quota/capacity failures: Startup can fail if you’ve hit service limits or the region lacks capacity for the chosen shape.
- Operational visibility gaps: The scheduler may not show rich execution logs in the way a workflow engine does; you may rely on Audit and the target service events.
14. Comparison with Alternatives
Resource Scheduler is best for simple time-based lifecycle automation for supported OCI resources. If you need richer workflows, consider alternatives.
Options compared
| Option | Best For | Strengths | Weaknesses | When to Choose |
|---|---|---|---|---|
| OCI Resource Scheduler | Time-based lifecycle actions on supported resources | Simple, governed, compartment-aligned; reduces manual toil | Limited targets/actions; dependency orchestration may be limited | You need straightforward schedules (office hours, weekend off) |
| OCI Events + OCI Functions | Custom automation logic (event-driven or scheduled via other triggers) | Highly flexible; can orchestrate multi-step workflows | More components to secure/operate; requires code | You need complex logic, approvals, or unsupported targets |
| OCI Resource Manager (Terraform) | Infrastructure as Code provisioning and change management | Repeatable environment creation; drift control | Not a scheduler; “stop at 7 PM” isn’t its main job | You want standardized deployments and lifecycle via IaC |
| OS-level cron/systemd timers on VMs | App-level jobs or in-VM scheduling | Simple for OS tasks; no cloud service dependency | Doesn’t manage cloud resource lifecycle well; fragile | You only need in-VM tasks, not start/stop of OCI resources |
| AWS EventBridge Scheduler / Instance Scheduler | Equivalent scheduling in AWS | Mature scheduling ecosystem | Different cloud; not applicable inside OCI | Multi-cloud teams standardizing scheduling in AWS |
| Azure Automation / Logic Apps schedules | Equivalent scheduling in Azure | Rich workflows and integrations | Different cloud; overhead for OCI integration | You already standardize ops automation in Azure |
| GCP Cloud Scheduler | Equivalent scheduling in Google Cloud | Simple scheduler with HTTP/PubSub targets | Different cloud | You run workloads on GCP |
15. Real-World Example
Enterprise example (regulated organization)
- Problem: A large enterprise runs many non-production environments in Oracle Cloud for testing and QA. These environments are often left running, causing budget overruns and security exposure outside work hours.
- Proposed architecture:
- Compartments:
NonProd/Dev,NonProd/QA,SharedServices - Standard schedules:
OfficeHours,WeekendOff - Resource Scheduler schedules owned by platform team
- Tags enforced:
Owner,CostCenter,Environment,SchedulePolicy - Monitoring alarms: detect resources running outside intended hours
- Audit reviews: monthly review of schedule changes
- Why Resource Scheduler was chosen:
- Aligns with OCI governance model (compartments/IAM)
- Low operational overhead compared to custom automation
- Auditable control-plane actions
- Expected outcomes:
- Significant reduction in non-prod runtime hours
- Fewer manual requests to ops
- Better compliance posture through reduced exposure and better traceability
Startup/small-team example
- Problem: A startup uses OCI for development and staging. The team is small, and engineers forget to turn off staging compute and databases at night.
- Proposed architecture:
- One compartment per environment:
Dev,Staging,Prod - Resource Scheduler office-hours schedule applied to Dev and Staging
- Simple tagging for ownership and cost tracking
- Why Resource Scheduler was chosen:
- Easy to set up without building a serverless automation stack
- Allows engineers to focus on product, not infra chores
- Expected outcomes:
- Lower monthly spend
- Predictable environment availability during working hours
- Reduced risk of leaving test endpoints exposed overnight
16. FAQ
1) Is Resource Scheduler the same as OCI Resource Manager?
No. Resource Scheduler automates time-based actions on supported resources. OCI Resource Manager is Terraform-based Infrastructure as Code for provisioning and managing infrastructure.
2) Does Resource Scheduler cost extra?
Often governance services are included, but pricing can change. Verify on Oracle’s pricing pages and Resource Scheduler documentation. Even if the scheduler is free, the resources it runs are billable.
3) Which OCI resources can Resource Scheduler manage?
It depends on OCI support in your region/tenancy. Check the Resource Scheduler target selection UI and verify in official docs for the supported resource types/actions.
4) Can I schedule production systems?
You can, but it’s usually risky. Only do so with explicit approval, dependency planning, monitoring, and tested runbooks.
5) How do I handle dependencies (DB before app)?
If Resource Scheduler doesn’t support dependency ordering, use separate schedules with offsets or implement orchestration via OCI Functions/Events.
6) What happens if a scheduled start fails?
The resource may remain stopped. Use Monitoring alarms and operational runbooks to detect and respond. Check Audit logs for failure/authorization signals.
7) Does stopping a resource stop all billing?
Not always. Storage is commonly billed regardless. Some managed services continue charging in “stopped” states. Verify billing behavior per service.
8) Can I apply one schedule to many resources?
Commonly yes (reusability is a key benefit), but the exact mechanism depends on the current Resource Scheduler UI/API.
9) How do I prove who changed a schedule?
Use OCI Audit to review schedule update events and the identity that performed them.
10) Can I restrict who can attach schedules to resources?
Yes, through compartment scoping and IAM policies. Define separate compartments for shared resources vs team resources.
11) What timezone does Resource Scheduler use?
Most schedulers are timezone-aware, but you must configure it explicitly. Always set the timezone and validate with a quick test schedule.
12) How do I prevent someone from bypassing schedules by manually starting resources?
You can’t fully prevent manual actions unless you restrict permissions. Use IAM to limit start/stop permissions and use monitoring to detect out-of-hours runtime.
13) Is Resource Scheduler event-driven?
It’s primarily time-based. If you need event-driven behavior, use OCI Events with Functions or other automation tooling.
14) Does Resource Scheduler run inside my VCN?
Typically no. It’s a managed control-plane service and does not require VCN connectivity.
15) What is the safest first adoption step?
Start with one non-production compartment, schedule one or two dev instances, validate behavior, then expand with tagging and monitoring guardrails.
17. Top Online Resources to Learn Resource Scheduler
Because OCI documentation URLs can be reorganized over time, use the official OCI documentation portal and search for “Resource Scheduler” to get the most current reference.
| Resource Type | Name | Why It Is Useful |
|---|---|---|
| Official documentation portal | OCI Documentation: https://docs.oracle.com/en-us/iaas/ | Authoritative source; search for “Resource Scheduler” |
| Official pricing | Oracle Cloud Pricing: https://www.oracle.com/cloud/pricing/ | Confirms pricing model and billable dimensions |
| Pricing calculator | Oracle Cloud Cost Estimator: https://www.oracle.com/cloud/costestimator.html | Build realistic estimates for scheduled runtime patterns |
| Free Tier | Oracle Cloud Free Tier: https://www.oracle.com/cloud/free/ | Understand what can be tested at low/no cost |
| IAM reference | OCI IAM docs: https://docs.oracle.com/en-us/iaas/Content/Identity/home.htm | Required for secure access and least-privilege scheduling |
| Audit reference | OCI Audit docs: https://docs.oracle.com/en-us/iaas/Content/Audit/home.htm | Learn how to track schedule and action history |
| Monitoring reference | OCI Monitoring docs: https://docs.oracle.com/en-us/iaas/Content/Monitoring/home.htm | Validate scheduled actions and create alarms |
| CLI docs | OCI CLI install/use: https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/cliinstall.htm | Helpful for operational workflows and scripted validation |
| Architecture guidance | OCI Architecture Center: https://docs.oracle.com/en/solutions/ | Reference architectures and best practices (search scheduling/governance patterns) |
| Official YouTube | Oracle Cloud Infrastructure YouTube: https://www.youtube.com/@OracleCloudInfrastructure | Often includes governance/operations content and demos |
18. Training and Certification Providers
The following are external training providers. Evaluate course outlines and instructor profiles on their websites.
| Institute | Suitable Audience | Likely Learning Focus | Mode | Website |
|---|---|---|---|---|
| DevOpsSchool.com | DevOps engineers, SREs, platform teams | DevOps practices, cloud operations, automation foundations | Check website | https://www.devopsschool.com/ |
| ScmGalaxy.com | Beginners to intermediate engineers | SCM/DevOps tooling, CI/CD, operational practices | Check website | https://www.scmgalaxy.com/ |
| CLoudOpsNow.in | Cloud operations teams | CloudOps, governance, operational controls | Check website | https://cloudopsnow.in/ |
| SreSchool.com | SREs and reliability-focused engineers | Reliability engineering, monitoring, incident response | Check website | https://sreschool.com/ |
| AiOpsSchool.com | Ops teams exploring AIOps | AIOps concepts, automation, operational analytics | Check website | https://aiopsschool.com/ |
19. Top Trainers
The following are trainer-related sites/platforms to explore. Validate background and offerings directly.
| Platform/Site | Likely Specialization | Suitable Audience | Website |
|---|---|---|---|
| RajeshKumar.xyz | DevOps/cloud training content | Engineers and students | https://rajeshkumar.xyz/ |
| devopstrainer.in | DevOps training programs | DevOps practitioners | https://devopstrainer.in/ |
| devopsfreelancer.com | Freelance DevOps services/training | Teams seeking practical guidance | https://devopsfreelancer.com/ |
| devopssupport.in | DevOps support/training | Ops and DevOps teams | https://devopssupport.in/ |
20. Top Consulting Companies
These are consulting organizations that may help with cloud governance, automation, and platform operations. Confirm service offerings and references directly.
| Company | Likely Service Area | Where They May Help | Consulting Use Case Examples | Website |
|---|---|---|---|---|
| cotocus.com | Cloud/DevOps consulting | Cloud governance design, operational automation, platform enablement | Implement office-hours scheduling standards; tagging strategy; audit-aligned ops processes | https://cotocus.com/ |
| DevOpsSchool.com | DevOps consulting and enablement | DevOps transformation, training + implementation support | Build non-prod cost controls; standard runbooks; operational best practices | https://www.devopsschool.com/ |
| DEVOPSCONSULTING.IN | DevOps/cloud consulting | Automation, CI/CD, cloud operations | Create governance guardrails; integrate monitoring for scheduled resources | https://devopsconsulting.in/ |
21. Career and Learning Roadmap
What to learn before Resource Scheduler
- OCI fundamentals: regions, availability domains, compartments
- OCI IAM basics: users, groups, dynamic groups, policies
- OCI networking basics: VCN, subnets (for understanding targets)
- Compute and storage fundamentals (billing implications of stop/start)
What to learn after Resource Scheduler
- OCI Monitoring + Alarms + Notifications (guardrails)
- OCI Audit deep dives (security and compliance)
- OCI Events and OCI Functions (advanced orchestration)
- OCI Resource Manager (Terraform) for full lifecycle and standardized environments
- FinOps practices: budgets, tagging standards, chargeback/showback
Job roles that use it
- Cloud engineer / cloud operations engineer
- DevOps engineer
- SRE / platform engineer
- Cloud architect (governance patterns)
- FinOps analyst (governance + cost controls)
Certification path (if available)
Oracle certification programs change periodically. For current OCI certification tracks, verify here: – https://education.oracle.com/
Resource Scheduler itself may not be a standalone exam topic, but scheduling/governance patterns commonly appear under cloud operations and architecture competencies.
Project ideas for practice
- Non-prod scheduling baseline: Implement office-hours scheduling for a dev compartment and track cost savings.
- Guardrail alarms: Create an alarm when a resource is running outside allowed hours.
- Tag compliance: Enforce that all non-prod resources must carry
OwnerandSchedulePolicytags. - Orchestrated startup: If Resource Scheduler is limited, build a Functions-based orchestrator that starts DB → app → batch workers in order, with Notifications on failure.
22. Glossary
- OCI (Oracle Cloud Infrastructure): Oracle Cloud’s infrastructure platform (compute, storage, networking, governance services).
- Governance and Administration: OCI category covering identity, audit, tagging, quotas, and administrative controls.
- Resource Scheduler: OCI service used to perform time-based automated actions on supported OCI resources.
- Compartment: OCI’s logical container for organizing and isolating resources and access controls.
- IAM Policy: A statement defining who can do what in which compartment in OCI.
- Audit Log (OCI Audit): Control-plane log of API and console actions for security and compliance.
- Lifecycle State: The current state of a resource (for example, running/stopped for a VM).
- Tag (Defined/Freeform): Metadata used for ownership, cost allocation, automation intent, and governance.
- Control plane vs Data plane: Control plane manages resources via APIs; data plane is the actual application traffic and runtime operations.
- DST (Daylight Saving Time): Seasonal time changes that can affect schedule execution if not planned for.
- FinOps: Practices to manage cloud financial operations—cost visibility, allocation, and optimization.
23. Summary
Resource Scheduler (Oracle Cloud) is a Governance and Administration service that helps you automate time-based actions on supported OCI resources—most commonly to stop and start non-production workloads on predictable schedules.
It matters because it reduces cost waste, improves operational consistency, and supports governance through compartments, IAM policies, and auditability. The biggest cost wins usually come from reducing compute runtime hours, while remembering that storage and some service charges can continue even when resources are stopped.
Use Resource Scheduler when you need simple scheduling with low operational overhead. Avoid relying on it alone when you need complex orchestration, dependency management, or event-driven automation—consider OCI Events and Functions in those cases.
Next learning step: combine Resource Scheduler with OCI Monitoring/Alarms, OCI Audit, and a strong tagging strategy to turn scheduling into a safe, measurable, and scalable operational control across your Oracle Cloud environment.