Use Case: Provisioning an Application Footprint Using Private Catalog Items
As an organization, I want to provision or resize an application footprint across several environments, including development, testing, staging, and production through Fleet Application Management. Each environment requires specific resource sizing, allocation, and tier-based configurations such as, web tier, application tier, database tier. Resources must be named and tagged appropriately for easy identification and management.
Perform the following steps to use Fleet Application Management to provision an application footprint across multiple environments. You can extrapolate these steps to apply to your requirements:
You can apply the same use case to manage infrastructure on an existing active fleet for resizing or reallocation of resources.
1. Define Environments
Create environment types in Fleet Application Management for each implementation phase, or use the Oracle defined environment types. For example:
- Development: Smaller resource sizes for initial testing.
- Testing: Medium-sized resources for functional and integration testing.
- Production: High-performance resources for live operations.
2. Create Private Catalog Items
Create private catalog items for each tier in Fleet Application Management.
Resource Allocation and Sizing
Define resource sizes and allocation for each tier:
- Web tier: Compute instances with medium CPU and memory.
- Development: 1 medium instance.
- Testing: 2 large instances for improved performance.
- Production: 4 instances for scalability, with autoscaling based on CPU utilization.
- Application tier: Compute instances with high CPU and memory.
- Development: 2 medium-sized Compute instances with 4 GB RAM and two vCPUs each.
- Testing: 4 large instances with 8 GB RAM and four vCPUs to handle increased load.
- Production: 8 instances (twice the testing environment) for high availability, with autoscaling enabled.
- Database tier: Database resources optimized for storage and performance.
- Development: A small database instance with two vCPUs and 15 GB RAM.
- Testing: A medium instance with four vCPUs and 30 GB RAM.
- Production: A high-performance instance with eight vCPUs, 64 GB RAM, and high I/O capacity.
For storage, allocate:- 100 GB in development
- 250 GB in testing
- 500 GB in production, with backup and recovery options
Use Terraform variables (variables.tf
) to provide all variable definitions and conf.json
to dynamically assign the variable values.
3. Provision Resources
4. Example Configuration
- Terraform file (
main.tf
): Defines Compute instances with specific shapes and networking configurations. See sample main.tf. - Variable file (
variables.tf
): Includes variables such asinstance_compartment_id
,subnet_id
, anddisplay_name
. See sample variables.tf. - Configuration file(
conf.json
): Specifies values for variables, such as the compartment OCID and subnet ID. See sample conf.json.
For more example configurations, see Oracle Cloud Infrastructure Provider.