Table of Contents
In this article, we will go through Oracle Cloud IaaS Set up in 4 easy steps.
Oracle Cloud is a cloud computing service offered by Oracle Corporation providing servers, storage, network, applications and services through a global network of Oracle Corporation managed data centers. The company allows these services to be provisioned on demand over the Internet which we will see as we go through Oracle Cloud IaaS set up.
Oracle Cloud IaaS
Why Oracle IaaS ?
Oracle Cloud Infrastructure offers a number of unique features and tools that are geared to help migrate or run Oracle’s databases and business applications with unmatched scalability and reliability. Minimal changes are required to move Oracle Applications, reducing the cost and time of migration to the cloud.
Some Terms and Definitions
Data center – A facility used to house computer systems and associated components.
Data region – A geographical region that’s associated with one or more data centers. When you sign up for an Oracle Cloud account, you select a default data region, where your services will be hosted.
Identity domain – A domain that controls the authentication and authorization of the users who can sign in to an Oracle Cloud service and which features they can access.
Oracle Account – Oracle Account is a unique customer account and can correspond to an individual, an organization, or a company that is an Oracle customer.
Service – A Software offered in Oracle Cloud
Service console – The unique console of a service or the administrator console if the service has both an administrator console and a user console
Service Entitlement – Service entitlements represent the right to use Oracle Cloud services, based on the resources you’ve purchased or the rights assigned to you by your Cloud Account administrator.
Service instance – The existence of a cloud service, for example, an instance of Oracle Java Cloud Service
Service instance URL – The web address (URL) that you use to access a provisioned service instance.
Service name – A name assigned to your Oracle Cloud service. The service name must be unique in the identity domain. You can add a longer description to help you identify the service after it’s activated.
Service notification – An event reported on the Infrastructure Classic Console or Applications Console in the Message center. Notifications provide information about upcoming events such as system outages or blackouts, service maintenance, promotion expiry, or resource quota breach.
Infrastructure as a Service (IaaS)
Oracle has branded its Infrastructure as a Service as Oracle Cloud Infrastructure (OCI). Oracle Cloud Infrastructure offerings include the following services:-
Compute: The company provides Virtual Machine Instances to provide different shapes (VM sizes) catering to different types of workloads and performance characteristics. They also provide Bare metal servers and Bare metal GPU servers, without a hypervisor with capability to scale up and down.
Storage: The platform provides Block Volumes, Object Storage, and Archive Storage with capability to enable database, analytics, content, and other applications across common protocols and APIs. We will create storage in below Oracle Cloud IaaS Set Up section.
Networking: This cloud platform provides network with fully configurable IP addresses, subnets, routing, and firewalls to support new or existing private networks with End-to-End Security.
Governance: For Auditing, Identity and Access Management, the platform has capabilities for Data Integrity Checks, Traceability, and access management features.
Database: The platform allows Oracle databases to be deployed on demand in cloud environment with Real Application Clusters, data security, and granular controls.
Load Balancing: The cloud platform offers load balancing capability to automatically route traffic across Availability Domains for high availability and fault-tolerance for hosted applications.
Edge Services: These services are used to monitor the path between users and resources to adapt to changes and outages using secure DNS infrastructure.
Ravello: This service allows deployment of existing VMware or KVM based data center workloads on Oracle Cloud Infrastructure, AWS, or GCP as-is, without any modification to the VMs, network, or storage.
FastConnect: The cloud platform provides private connectivity across on-premises and cloud networks.
Oracle cloud IaaS Set Up
We can use any tool like curl or Postman to set up environment variable along with the below mentioned json script and can use Post method in REST API to upload these script in Oracle Cloud Service Account.
Environment Variable
identityDomainId:<DOMAIN ID>
username:<USERID>
password:<PASSWORD>
zone:<ZONE>
datacenter:<DATACENTER>
In the first Step, we need to create storage which we are going to attach to our Instance. For that we will create below storage.json Orchestration Script and will upload in Oracle Cloud.
storage.json
{ "name" : "/Compute-{{identityDomainId}}/{{username}}/{{name}}-Storage", "description" : "The storage volumes for a compute instance {{name}}", "oplans" : [ { "obj_type" : "storage/volume", "label" : "{{name}} storage volumes", "objects" : [{ "name" : "/Compute-{{identityDomainId}}/{{username}}/{{name}}-bootvol", "properties" : ["/oracle/public/storage/default"], "size": "32G", "bootable" : "true", "imagelist" : "/oracle/public/OL_6.6_UEKR3_x86_64" }, { "name": "/Compute-{{identityDomainId}}/{{username}}/{{name}}-disk2", "bootable": false, "properties": ["/oracle/public/storage/default"], "size": "{{size}}" } ] } ] }
In the next step, we need to create instance.json Orchestration Script and upload in the Cloud.
instance.json
{ "name": "/Compute-{{identityDomainId}}/{{username}}/{{name}}-instance", "description" : "The instance orchestration for {{name}}", "oplans": [{ "label": "{{name}} instance orchestration", "obj_type": "launchplan", "objects": [{ "instances": [{ "label": "{{name}} instance", "name": "/Compute-{{identityDomainId}}/{{username}}/{{name}}", "networking": { "eth0": { "model": "e1000", "dns": ["{{hostname}}"], "seclists": [ "/Compute-{{identityDomainId}}/default/default" ], "nat": "ipreservation:/Compute-{{identityDomainId}}/{{username}}/{{name}}-NwIP1" }, "eth1": { "dns": ["{{hostname}}.{{domain}}"], "ip": "{{ip}}", "ipnetwork":"/Compute-{{identityDomainId}}/{{username}}/ipnet-prod" } }, "storage_attachments": [ { "index": 1, "volume": "/Compute-{{identityDomainId}}/{{username}}/{{name}}-bootvol" }, { "index": 2, "volume": "/Compute-{{identityDomainId}}/{{username}}/{{name}}-disk2" } ], "boot_order": [1], "shape": "{{shape}}", "sshkeys":["/Compute-{{identityDomainId}}/john.wright@example.com/example-Private-Key"] }] }] }] }
Finally, we need to create master.json Orchestration Script and upload in the cloud. Once uploaded we need to start this master script and in turn it will create the respective instance with the help of above instance json script and attach the Storage as well.
master.json
{ "name": "/Compute-{{identityDomainId}}/{{username}}/{{name}}-master", "description" : "The master orchestration for {{name}}", "oplans": [ { "label": "{{name}}-instance", "obj_type": "orchestration", "ha_policy": "monitor", "objects": [ { "name": "/Compute-{{identityDomainId}}/{{username}}/{{name}}-instance" } ] }, { "label": "{{name}}-Storage", "obj_type": "orchestration", "ha_policy": "monitor", "objects": [ { "name": "/Compute-{{identityDomainId}}/{{username}}/{{name}}-Storage" } ] }, { "obj_type": "ip/reservation", "label": "{{name}}-ip-reservation", "objects": [{ "name": "/Compute-{{identityDomainId}}/{{username}}/{{name}}-NwIP1", "parentpool": "/oracle/public/ippool", "permanent": true }] } ], "relationships": [ { "oplan": "{{name}}-instance", "to_oplan": "{{name}}-Storage", "type": "depends" }, { "oplan": "{{name}}-instance", "to_oplan": "{{name}}-ip-reservation", "type": "depends" } ] }
Also Read: Create Virtual Machine in Azure
Reference: Oracle Cloud Documentation