<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bonthu Durga Prasad</title>
    <description>The latest articles on DEV Community by Bonthu Durga Prasad (@bonthu_durgaprasad_60725).</description>
    <link>https://dev.to/bonthu_durgaprasad_60725</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3823916%2F88d64ad7-8a72-4cd5-b139-eef90381c185.png</url>
      <title>DEV Community: Bonthu Durga Prasad</title>
      <link>https://dev.to/bonthu_durgaprasad_60725</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bonthu_durgaprasad_60725"/>
    <language>en</language>
    <item>
      <title>OCI CLI Configuration and Advanced Usage: Automating Tenancy Insights from Command Line</title>
      <dc:creator>Bonthu Durga Prasad</dc:creator>
      <pubDate>Fri, 03 Apr 2026 10:04:54 +0000</pubDate>
      <link>https://dev.to/bonthu_durgaprasad_60725/oci-cli-configuration-and-advanced-usage-automating-tenancy-insights-from-command-line-33oi</link>
      <guid>https://dev.to/bonthu_durgaprasad_60725/oci-cli-configuration-and-advanced-usage-automating-tenancy-insights-from-command-line-33oi</guid>
      <description>&lt;h3&gt;
  
  
  Introduction
&lt;/h3&gt;

&lt;p&gt;In cloud environments, automation and scripting are essential for efficient resource management. While the OCI Console provides a graphical interface, the OCI CLI enables engineers to interact with resources programmatically.&lt;/p&gt;

&lt;p&gt;This guide demonstrates how to configure OCI CLI and extract tenancy-level data using real commands&lt;/p&gt;

&lt;h2&gt;
  
  
  Why OCI CLI
&lt;/h2&gt;

&lt;p&gt;✔ Automation (scripts, pipelines)&lt;br&gt;
✔ Bulk operations&lt;br&gt;
✔ Faster troubleshooting&lt;br&gt;
✔ Integration with DevOps workflows&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;

&lt;p&gt;Local Machine&lt;br&gt;
     │&lt;br&gt;
     ▼&lt;br&gt;
OCI CLI&lt;br&gt;
     │&lt;br&gt;
     ▼&lt;br&gt;
API Request (Signed with Key)&lt;br&gt;
     │&lt;br&gt;
     ▼&lt;br&gt;
OCI Services (IAM, Compute, etc.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Install OCI CLI
&lt;/h2&gt;

&lt;p&gt;bash -c "$(curl -L &lt;a href="https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)&lt;/a&gt;"&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3iuuyn60muzsy88jcby5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3iuuyn60muzsy88jcby5.png" alt=" " width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;oci --version&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4khj22gavoy7rw2d2nvf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4khj22gavoy7rw2d2nvf.png" alt=" " width="550" height="154"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 2: Generate API Keys&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2sul8cd3dptu4kt4vi70.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2sul8cd3dptu4kt4vi70.png" alt=" " width="800" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-&amp;gt; Create a directory .oci&lt;/p&gt;

&lt;p&gt;mkidr .oci&lt;/p&gt;

&lt;p&gt;-&amp;gt; Create a configuration file for the oci cli&lt;/p&gt;

&lt;p&gt;mkdir config&lt;/p&gt;

&lt;p&gt;-&amp;gt; Add the config details like below&lt;/p&gt;

&lt;p&gt;[DEFAULT]&lt;br&gt;
user=ocid1.user.oc1..aaaaaaaapjmafzjfgvdf7rohfvuwlwj6otxwxfqtazd6vvcwe24pfailx4cq&lt;br&gt;
fingerprint=5e:b0:45:e2:07:3f:b8:fa:51:25:ee:4b:7b:d5:d6:e9&lt;br&gt;
tenancy=ocid1.tenancy.oc1..aaaaaaaaf2yv5cljkqlepfllkxolhgvmq5tq7vgfu6tns3ajhnuqn4eikmja&lt;br&gt;
region=ap-mumbai-1&lt;br&gt;
key_file= # TODO&lt;/p&gt;

&lt;p&gt;-&amp;gt; Create one file and add your private key details and change the permissions to read and write only.&lt;/p&gt;

&lt;p&gt;chmod 600 ~/.oci/oci_api_key.pem&lt;/p&gt;

&lt;p&gt;-&amp;gt; Now check with below command for the configuration setup&lt;/p&gt;

&lt;p&gt;oci os ns get&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fblm6rv3l8qutb9xc5p7o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fblm6rv3l8qutb9xc5p7o.png" alt=" " width="550" height="193"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Validate Configuration
&lt;/h2&gt;

&lt;p&gt;oci iam  region list&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwazyisfl6zlj7njfogat.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwazyisfl6zlj7njfogat.png" alt=" " width="800" height="289"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;oci iam compartment list --compartment-id &lt;/p&gt;

&lt;p&gt;You will get the list of compartments over the entire tenancy level&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffoiw9lyqy47bxsuhiler.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffoiw9lyqy47bxsuhiler.png" alt=" " width="800" height="285"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Instances
&lt;/h2&gt;

&lt;p&gt;oci compute instance list --compartment-id &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc5pm3brd9xiyjash4dy0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc5pm3brd9xiyjash4dy0.png" alt=" " width="800" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Real Use Case
&lt;/h2&gt;

&lt;p&gt;oci iam user list --compartment-id  \&lt;br&gt;
--query "data[].{Name:name,ID:id}" --output table&lt;/p&gt;

&lt;p&gt;You will get the user details in a table format&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj2mka0ya1gfkxw7qj8wn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj2mka0ya1gfkxw7qj8wn.png" alt=" " width="800" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Best Practices
&lt;/h2&gt;

&lt;p&gt;✔ Secure private keys&lt;br&gt;&lt;br&gt;
✔ Use profiles&lt;br&gt;&lt;br&gt;
✔ Avoid hardcoding OCIDs&lt;br&gt;&lt;br&gt;
✔ Use scripts for automation&lt;br&gt;&lt;br&gt;
✔ Rotate keys regularly &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;OCI CLI enables engineers to automate cloud operations and retrieve critical data efficiently. By combining CLI commands with scripting, organizations can improve operational efficiency and reduce manual effort.&lt;/p&gt;

</description>
      <category>cli</category>
      <category>oci</category>
      <category>automation</category>
    </item>
    <item>
      <title>OCI Bastion Service: Complete End-to-End Guide for Secure Access to Private Instances</title>
      <dc:creator>Bonthu Durga Prasad</dc:creator>
      <pubDate>Fri, 27 Mar 2026 08:50:05 +0000</pubDate>
      <link>https://dev.to/bonthu_durgaprasad_60725/oci-bastion-service-complete-end-to-end-guide-for-secure-access-to-private-instances-56gb</link>
      <guid>https://dev.to/bonthu_durgaprasad_60725/oci-bastion-service-complete-end-to-end-guide-for-secure-access-to-private-instances-56gb</guid>
      <description>&lt;h4&gt;
  
  
  Introduction
&lt;/h4&gt;

&lt;p&gt;Accessing private compute instances securely is a common challenge in cloud environments. Exposing SSH ports publicly increases the attack surface and violates security best practices.&lt;/p&gt;

&lt;p&gt;In Oracle Cloud Infrastructure, Bastion Service provides a secure way to connect to private instances without assigning public IP addresses.&lt;/p&gt;

&lt;p&gt;This guide provides a complete end-to-end implementation of OCI Bastion Service.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture Overview
&lt;/h2&gt;

&lt;p&gt;Your Laptop&lt;br&gt;
     │&lt;br&gt;
     ▼&lt;br&gt;
OCI Bastion Service&lt;br&gt;
     │&lt;br&gt;
     ▼&lt;br&gt;
Private Subnet&lt;br&gt;
     │&lt;br&gt;
     ▼&lt;br&gt;
Compute Instance (No Public IP)&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OCI account&lt;/li&gt;
&lt;li&gt;VCN with:

&lt;ul&gt;
&lt;li&gt;Public subnet&lt;/li&gt;
&lt;li&gt;Private subnet&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Compute instance in private subnet&lt;/li&gt;

&lt;li&gt;SSH key pair&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Step 1: Create VCN (Quick Setup)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to Networking → VCN&lt;/li&gt;
&lt;li&gt;Create VCN with:&lt;/li&gt;
&lt;li&gt;CIDR: 10.0.0.0/16&lt;/li&gt;
&lt;li&gt;Public subnet : 10.0.64.0/24&lt;/li&gt;
&lt;li&gt;Private subnet : 10.0.128.0/17&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8jsgpovu3wo8q0oh1aie.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8jsgpovu3wo8q0oh1aie.png" alt=" " width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjnbokl18zrajlsyqhrtc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjnbokl18zrajlsyqhrtc.png" alt=" " width="800" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Create Private Compute Instance
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Go to Compute → Instances&lt;/li&gt;
&lt;li&gt;Launch instance&lt;/li&gt;
&lt;li&gt;Instance_Name : Demo_Bastion_service&lt;/li&gt;
&lt;li&gt;Private subnet&lt;/li&gt;
&lt;li&gt;No public IP&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3m7o7fehwhc6mv5h984p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3m7o7fehwhc6mv5h984p.png" alt=" " width="800" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxi0o1mosihm326lzt91.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxi0o1mosihm326lzt91.png" alt=" " width="800" height="490"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can get an instance with private IP&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsawqaznzc7nrii5prpjw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsawqaznzc7nrii5prpjw.png" alt=" " width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Create Bastion
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Navigate → Identity &amp;amp; Security → Bastion&lt;/li&gt;
&lt;li&gt;Click Create Bastion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Configuration&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name: my-bastion&lt;/li&gt;
&lt;li&gt;VCN: Demo_VCN&lt;/li&gt;
&lt;li&gt;Subnet: public subnet&lt;/li&gt;
&lt;li&gt;CIDR: 0.0.0.0/0 (for testing)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9szlm9cpocqxzg7ot4ba.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9szlm9cpocqxzg7ot4ba.png" alt=" " width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Create Bastion Session
&lt;/h3&gt;

&lt;p&gt;Click Bastion → Create Session&lt;/p&gt;

&lt;p&gt;Select:&lt;br&gt;
Session type: SSH_Port_Forwarding&lt;br&gt;
Target instance: your private instance&lt;br&gt;
Upload public key&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Forqm9navb2bkvwqwcdvs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Forqm9navb2bkvwqwcdvs.png" alt=" " width="800" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Connect to Instance
&lt;/h2&gt;

&lt;p&gt;OCI gives command like:  Copy  the SSH command&lt;/p&gt;

&lt;p&gt;ssh -i  -N -L :10.0.171.0:22 -p 22 &lt;a href="mailto:ocid1.bastionsession.oc1.ap-mumbai-1.amaaaaaa7gqo7aaalvsyyzpplvcrg5ixiyevbeuwfl2xycuchc3j5k6ughga@host.bastion.ap-mumbai-1.oci.oraclecloud.com"&gt;ocid1.bastionsession.oc1.ap-mumbai-1.amaaaaaa7gqo7aaalvsyyzpplvcrg5ixiyevbeuwfl2xycuchc3j5k6ughga@host.bastion.ap-mumbai-1.oci.oraclecloud.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9qiixp7vuwb6o74airuv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9qiixp7vuwb6o74airuv.png" alt=" " width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Change the permission of the .pem file in your computer location specific user who want to access.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;-&amp;gt; Go to the file properties and go to the security and change the permissions over there.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkwgj7djtcee8p0uip660.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkwgj7djtcee8p0uip660.png" alt=" " width="599" height="772"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add your file location over there and local port change it to 22.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;FYR&lt;/p&gt;

&lt;p&gt;ssh -i C:\Test.key -N -L 22:10.0.171.0:22 -p 22 &lt;a href="mailto:ocid1.bastionsession.oc1.ap-mumbai-1.amaaaaaa7gqo7aaalvsyyzpplvcrg5ixiyevbeuwfl2xycuchc3j5k6ughga@host.bastion.ap-mumbai-1.oci.oraclecloud.com"&gt;ocid1.bastionsession.oc1.ap-mumbai-1.amaaaaaa7gqo7aaalvsyyzpplvcrg5ixiyevbeuwfl2xycuchc3j5k6ughga@host.bastion.ap-mumbai-1.oci.oraclecloud.com&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tunneling will be established between your computer and the private server.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqi1psaq5nnro1w4ypvju.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqi1psaq5nnro1w4ypvju.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open putty Go to auth and Go for tunneling and add the details as below.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ktkosscd5g5xu3dc547.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ktkosscd5g5xu3dc547.png" alt=" " width="685" height="675"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-&amp;gt; Now the tunneling will be created between your system and the private server.&lt;/p&gt;

&lt;p&gt;-&amp;gt; You can able to connect the private server without public IP with the bastion service.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foa2rebpowuglndkz1tu4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foa2rebpowuglndkz1tu4.png" alt=" " width="800" height="479"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Verify Connection
&lt;/h2&gt;

&lt;p&gt;-&amp;gt; You can verify the connection by using below command.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;whoami&lt;/li&gt;
&lt;li&gt;hostname -i&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4eh2wum6273mslouxef6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4eh2wum6273mslouxef6.png" alt=" " width="600" height="283"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Security Best Practices
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Do NOT allow 0.0.0.0/0 in production&lt;/li&gt;
&lt;li&gt;Use restricted CIDR&lt;/li&gt;
&lt;li&gt;Use short session duration&lt;/li&gt;
&lt;li&gt;Use IAM policies&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;OCI Bastion Service enables secure and controlled access to private instances without exposing them to the internet. By using Bastion, organizations can implement a secure access architecture aligned with best practices.&lt;/p&gt;

</description>
      <category>oracle</category>
      <category>security</category>
      <category>bastion</category>
    </item>
    <item>
      <title>Infrastructure as Code in OCI using Resource Manager (Terraform)</title>
      <dc:creator>Bonthu Durga Prasad</dc:creator>
      <pubDate>Mon, 23 Mar 2026 09:23:46 +0000</pubDate>
      <link>https://dev.to/bonthu_durgaprasad_60725/infrastructure-as-code-in-oci-using-resource-manager-terraform-3fl2</link>
      <guid>https://dev.to/bonthu_durgaprasad_60725/infrastructure-as-code-in-oci-using-resource-manager-terraform-3fl2</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Infrastructure management in cloud environments has evolved significantly with the adoption of automation and DevOps practices. Manual provisioning is error-prone and difficult to scale.&lt;/p&gt;

&lt;p&gt;In Oracle Cloud Infrastructure, Infrastructure as Code (IaC) is implemented using OCI Resource Manager, a managed Terraform-based service that enables automated, consistent, and repeatable deployments.&lt;/p&gt;

&lt;p&gt;This article provides a deep dive into OCI Resource Manager, including architecture, execution flow, state management, drift detection, hands-on examples, and real-world DevOps practices.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Infrastructure as Code (IaC)
&lt;/h2&gt;

&lt;p&gt;Infrastructure as Code (IaC) is the practice of defining and managing infrastructure using code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Automation&lt;/li&gt;
&lt;li&gt;Consistency&lt;/li&gt;
&lt;li&gt;Version control&lt;/li&gt;
&lt;li&gt;Faster deployments&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is OCI Resource Manager
&lt;/h2&gt;

&lt;p&gt;OCI Resource Manager is a managed service that uses Terraform to provision and manage cloud resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Managed Terraform execution&lt;/li&gt;
&lt;li&gt;No need for local setup&lt;/li&gt;
&lt;li&gt;Secure state management&lt;/li&gt;
&lt;li&gt;Easy rollback and updates&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Architecture Overview
&lt;/h2&gt;

&lt;p&gt;Developer&lt;br&gt;
   │&lt;br&gt;
   ▼&lt;br&gt;
Terraform Code (HCL)&lt;br&gt;
   │&lt;br&gt;
   ▼&lt;br&gt;
OCI Resource Manager&lt;br&gt;
   │&lt;br&gt;
   ▼&lt;br&gt;
OCI APIs&lt;br&gt;
   │&lt;br&gt;
   ▼&lt;br&gt;
Cloud Resources (VCN, Compute, Storage)&lt;/p&gt;

&lt;h2&gt;
  
  
  How Resource Manager Executes Terraform
&lt;/h2&gt;

&lt;p&gt;Execution Flow&lt;/p&gt;

&lt;p&gt;User submits job&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
Configuration validated&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
Terraform plan generated&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
Terraform apply executed&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
State file updated&lt;/p&gt;

&lt;h2&gt;
  
  
  Explanation
&lt;/h2&gt;

&lt;p&gt;OCI Resource Manager internally performs Terraform operations such as plan and apply. It manages execution lifecycle and state securely without requiring local tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Components
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Stack
&lt;/h2&gt;

&lt;p&gt;A stack is a collection of Terraform configurations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Job
&lt;/h2&gt;

&lt;p&gt;Jobs execute operations such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Plan&lt;/li&gt;
&lt;li&gt;Apply&lt;/li&gt;
&lt;li&gt;Destroy&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  State
&lt;/h2&gt;

&lt;p&gt;Tracks current infrastructure and dependencies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hands-on Example
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Step 1: Terraform Configuration
&lt;/h2&gt;

&lt;p&gt;resource "oci_core_vcn" "my_vcn" {&lt;br&gt;
  cidr_block   = "10.0.0.0/16"&lt;br&gt;
  display_name = "my-vcn"&lt;br&gt;
}&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Create Stack
&lt;/h2&gt;

&lt;p&gt;Go to Resource Manager&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Upload configuration&lt;/li&gt;
&lt;li&gt;Create stack&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 3: Run Apply Job
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Click Apply&lt;/li&gt;
&lt;li&gt;OCI provisions resources&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  CLI Commands
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;oci resource-manager stack list&lt;/li&gt;
&lt;li&gt;oci resource-manager job list&lt;/li&gt;
&lt;li&gt;oci resource-manager job get --job-id &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Authentication and IAM Integration
&lt;/h2&gt;

&lt;p&gt;OCI Resource Manager integrates with IAM for secure access.&lt;/p&gt;

&lt;p&gt;Authentication is handled using IAM policies and instance principals.&lt;/p&gt;

&lt;p&gt;ex : Allow group DevOps to manage all-resources in compartment Dev&lt;/p&gt;

&lt;h2&gt;
  
  
  Terraform State Management
&lt;/h2&gt;

&lt;p&gt;Terraform state is automatically managed by OCI Resource Manager.&lt;/p&gt;

&lt;h2&gt;
  
  
  State includes:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Resource mappings&lt;/li&gt;
&lt;li&gt;Infrastructure state&lt;/li&gt;
&lt;li&gt;Dependency tracking&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why important:
&lt;/h2&gt;

&lt;p&gt;Ensures Terraform knows existing resources and prevents duplication.&lt;/p&gt;

&lt;h2&gt;
  
  
  Drift Detection
&lt;/h2&gt;

&lt;p&gt;Drift occurs when infrastructure is modified outside Terraform.&lt;/p&gt;

&lt;p&gt;Ex : Manual change → Drift detected → Terraform shows mismatch&lt;/p&gt;

&lt;h2&gt;
  
  
  Resource Manager detects drift by comparing:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Current infrastructure&lt;/li&gt;
&lt;li&gt;Stored state&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Plan vs Apply
&lt;/h2&gt;

&lt;p&gt;Plan → Shows changes&lt;br&gt;&lt;br&gt;
Apply → Executes changes  &lt;/p&gt;

&lt;p&gt;Example : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Plan: Create VCN
&lt;/li&gt;
&lt;li&gt;Apply: Resource created&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Best Practices
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use version control (Git)
&lt;/li&gt;
&lt;li&gt;Separate dev and prod environments
&lt;/li&gt;
&lt;li&gt;Use variables instead of hardcoding
&lt;/li&gt;
&lt;li&gt;Always review Terraform plan
&lt;/li&gt;
&lt;li&gt;Store sensitive data securely
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;OCI Resource Manager simplifies infrastructure provisioning by enabling Infrastructure as Code using Terraform. It ensures consistency, scalability, and automation in cloud deployments.&lt;/p&gt;

&lt;p&gt;Understanding execution flow, state management, and drift detection is essential for building reliable and production-ready cloud environments.&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>oracle</category>
      <category>resourcemanager</category>
    </item>
    <item>
      <title>OCI Block Volume Deep Dive</title>
      <dc:creator>Bonthu Durga Prasad</dc:creator>
      <pubDate>Thu, 19 Mar 2026 11:09:38 +0000</pubDate>
      <link>https://dev.to/bonthu_durgaprasad_60725/oci-block-volume-deep-dive-4p7p</link>
      <guid>https://dev.to/bonthu_durgaprasad_60725/oci-block-volume-deep-dive-4p7p</guid>
      <description>&lt;p&gt;In modern cloud environments, storage plays a critical role in application performance and reliability. In Oracle Cloud Infrastructure (OCI), Block Volume provides scalable, high-performance storage that can be attached to compute instances.&lt;/p&gt;

&lt;p&gt;This article provides a deep dive into OCI Block Volume, covering architecture, performance concepts such as VPUs and autotuning, attachment methods including iSCSI and paravirtualized, hands-on commands, monitoring, and real-world troubleshooting scenarios.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is OCI Block Volume
&lt;/h2&gt;

&lt;p&gt;OCI Block Volume is a network-based storage service that provides persistent storage for compute instances.&lt;/p&gt;

&lt;p&gt;It is commonly used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Databases&lt;/li&gt;
&lt;li&gt;Application storage&lt;/li&gt;
&lt;li&gt;Boot volumes&lt;/li&gt;
&lt;li&gt;High-performance workloads&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Architecture Overview
&lt;/h2&gt;

&lt;p&gt;Architecture Diagram &lt;/p&gt;

&lt;p&gt;Compute Instance&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
Attachment Layer (iSCSI / Paravirtualized)&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
OCI Block Volume Service&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
Distributed Storage Backend&lt;/p&gt;

&lt;p&gt;OCI Block Volume is decoupled from compute, meaning storage persists even if the instance is terminated. Data is replicated across multiple storage servers to ensure high availability and durability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Types of Volumes
&lt;/h2&gt;

&lt;p&gt;OCI provides different types of volumes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Boot Volume → Used for operating system&lt;/li&gt;
&lt;li&gt;Block Volume → Used for application data&lt;/li&gt;
&lt;li&gt;Volume Backups → Used for snapshots and recovery&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Performance
&lt;/h2&gt;

&lt;p&gt;Performance in OCI Block Volume is defined using VPUs (Volume Performance Units per GB).&lt;/p&gt;

&lt;p&gt;Higher VPUs provide higher IOPS and throughput.&lt;/p&gt;

&lt;p&gt;10 VPUs → Low cost workloads&lt;br&gt;&lt;br&gt;
20 VPUs → Balanced workloads&lt;br&gt;&lt;br&gt;
30+ VPUs → High-performance workloads  &lt;/p&gt;

&lt;h2&gt;
  
  
  Autotuning (Dynamic Scaling)
&lt;/h2&gt;

&lt;p&gt;Autotuning allows OCI to automatically adjust volume performance based on workload demand.&lt;/p&gt;

&lt;p&gt;Workload increase → Performance increases&lt;br&gt;&lt;br&gt;
Workload decrease → Cost optimized  &lt;/p&gt;

&lt;p&gt;Attachment Types&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;iSCSI Attachment&lt;br&gt;
Uses TCP/IP-based storage communication and requires manual setup.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Paravirtualized Attachment&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Uses OCI optimized drivers and provides better performance with simpler setup.&lt;/p&gt;

&lt;h2&gt;
  
  
  When to Use What
&lt;/h2&gt;

&lt;p&gt;Use Paravirtualized when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simplicity is required&lt;/li&gt;
&lt;li&gt;Standard workloads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use iSCSI when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Maximum performance is required&lt;/li&gt;
&lt;li&gt;Fine-grained control is needed&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Best Practices
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use paravirtualized attachments when possible
&lt;/li&gt;
&lt;li&gt;Enable autotuning
&lt;/li&gt;
&lt;li&gt;Separate volumes for OS, logs, and database
&lt;/li&gt;
&lt;li&gt;Monitor performance regularly
&lt;/li&gt;
&lt;li&gt;Choose correct VPU levels
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;OCI Block Volume provides flexible and scalable storage for cloud workloads. By understanding architecture, performance tuning, and attachment methods, engineers can design efficient and reliable storage systems in OCI.&lt;/p&gt;

&lt;p&gt;Proper monitoring and tuning help avoid performance bottlenecks and ensure optimal system behavior.&lt;/p&gt;

</description>
      <category>oracle</category>
      <category>blockvolume</category>
      <category>devplusplus</category>
      <category>devops</category>
    </item>
    <item>
      <title>High Performance Computing Storage in OCI using Lustre File System</title>
      <dc:creator>Bonthu Durga Prasad</dc:creator>
      <pubDate>Wed, 18 Mar 2026 10:22:34 +0000</pubDate>
      <link>https://dev.to/bonthu_durgaprasad_60725/high-performance-computing-storage-in-oci-using-lustre-file-system-ahb</link>
      <guid>https://dev.to/bonthu_durgaprasad_60725/high-performance-computing-storage-in-oci-using-lustre-file-system-ahb</guid>
      <description>&lt;h2&gt;
  
  
  High Performance Computing Storage in OCI using Lustre File System
&lt;/h2&gt;

&lt;p&gt;As cloud workloads evolve, especially in areas like high-performance computing (HPC), machine learning, and big data analytics, traditional storage systems often become a bottleneck. These workloads require high throughput, low latency, and parallel file access.&lt;/p&gt;

&lt;p&gt;In Oracle Cloud Infrastructure, high-performance storage requirements can be addressed using the Lustre File System, a distributed file system designed for large-scale workloads.&lt;/p&gt;

&lt;p&gt;This article explores how Lustre works and how it can be used in OCI environments.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Lustre File System?
&lt;/h2&gt;

&lt;p&gt;Lustre is a parallel distributed file system designed for environments that require high-speed access to large datasets.&lt;/p&gt;

&lt;p&gt;It is commonly used in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;High Performance Computing (HPC)&lt;/li&gt;
&lt;li&gt;Artificial Intelligence and Machine Learning&lt;/li&gt;
&lt;li&gt;Scientific simulations&lt;/li&gt;
&lt;li&gt;Big data processing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Unlike traditional file systems, Lustre distributes data across multiple storage nodes to achieve high performance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Use Lustre in OCI?
&lt;/h2&gt;

&lt;p&gt;Cloud-based HPC workloads demand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;High throughput&lt;/li&gt;
&lt;li&gt;Scalable storage&lt;/li&gt;
&lt;li&gt;Parallel access from multiple compute nodes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lustre provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Parallel read/write operations&lt;/li&gt;
&lt;li&gt;Horizontal scalability&lt;/li&gt;
&lt;li&gt;High bandwidth performance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes it ideal for workloads where multiple compute instances process large datasets simultaneously.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lustre Architecture Overview
&lt;/h2&gt;

&lt;p&gt;Lustre is built using multiple components working together.&lt;/p&gt;

&lt;p&gt;Key Components&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Metadata Server (MDS) → Stores file metadata&lt;/li&gt;
&lt;li&gt;Object Storage Servers (OSS) → Store actual data&lt;/li&gt;
&lt;li&gt;Clients → Compute instances accessing the file system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Architecture Flow&lt;/p&gt;

&lt;p&gt;Compute Nodes (Clients)&lt;br&gt;
        │&lt;br&gt;
        ▼&lt;br&gt;
Metadata Server (MDS)&lt;br&gt;
        │&lt;br&gt;
        ▼&lt;br&gt;
Object Storage Servers (OSS)&lt;br&gt;
        │&lt;br&gt;
        ▼&lt;br&gt;
Distributed Storage&lt;/p&gt;

&lt;p&gt;In this architecture:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clients request metadata from MDS&lt;/li&gt;
&lt;li&gt;Data is read/written from OSS nodes&lt;/li&gt;
&lt;li&gt;Operations happen in parallel for high performance&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How Lustre Works
&lt;/h2&gt;

&lt;p&gt;When a client accesses a file:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Metadata request is sent to MDS&lt;/li&gt;
&lt;li&gt;MDS provides file location information&lt;/li&gt;
&lt;li&gt;Client directly accesses data from OSS nodes&lt;/li&gt;
&lt;li&gt;Data transfer happens in parallel&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This parallel architecture significantly improves performance.&lt;/p&gt;

&lt;p&gt;Real-World Use Cases&lt;/p&gt;

&lt;p&gt;Lustre is widely used in scenarios such as:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Machine Learning Training&lt;/p&gt;

&lt;p&gt;Training large models requires fast access to massive datasets.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;2.Scientific Research&lt;/p&gt;

&lt;p&gt;Simulations generate huge amounts of data that must be processed quickly.&lt;/p&gt;

&lt;p&gt;3.Media Rendering&lt;/p&gt;

&lt;p&gt;Video processing and rendering workflows benefit from high throughput.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Lustre in OCI
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;High throughput storage&lt;/li&gt;
&lt;li&gt;Scalable architecture&lt;/li&gt;
&lt;li&gt;Parallel data access&lt;/li&gt;
&lt;li&gt;Optimized for HPC workloads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Best Practices&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When using Lustre in OCI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use multiple compute nodes for parallel processing&lt;/li&gt;
&lt;li&gt;Design workloads for distributed execution&lt;/li&gt;
&lt;li&gt;Monitor performance and I/O usage&lt;/li&gt;
&lt;li&gt;Use high-performance networking for better throughput&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Lustre File System Limits
&lt;/h2&gt;

&lt;p&gt;Lustre limits are per availability domain:&lt;br&gt;
Resource    Limit&lt;br&gt;
Max file systems    8 per tenant per availability domain&lt;br&gt;
Max capacity per FS 200 TB&lt;br&gt;
Aggregate throughput    200 Gbps per tenancy per availability domain&lt;/p&gt;

&lt;p&gt;The Lustre client is mandatory for any VM or compute instance that wants to access a Lustre file system.&lt;br&gt;
Lustre client works only with Red Hat Compatible Kernel (RHCK) on Oracle Linu&lt;/p&gt;

&lt;h2&gt;
  
  
  Syncing Lustre with Object Storage
&lt;/h2&gt;

&lt;p&gt;OCI Lustre can sync data with Object Storage for cost-effective long-term storage:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Import&lt;br&gt;
• Pull objects from Object Storage → Lustre&lt;br&gt;
• Use case: AI training, data processing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;ul&gt;
&lt;li&gt;Export
• Push files from Lustre → Object Storage
Use case: Save processed results&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;OCI Lustre file systems require a Lustre client kernel module.&lt;br&gt;
However:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Oracle Linux normally uses UEK kernel, not compatible with Lustre&lt;/li&gt;
&lt;li&gt;So you must switch to RHCK kernel (Red Hat Compatible Kernel)&lt;/li&gt;
&lt;li&gt;Then you must build the Lustre client from source code unless a prebuilt package exists&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>oci</category>
      <category>hpc</category>
      <category>devops</category>
      <category>filesystem</category>
    </item>
    <item>
      <title>Understanding Identity and Access Management (IAM) Architecture in Oracle Cloud Infrastructure</title>
      <dc:creator>Bonthu Durga Prasad</dc:creator>
      <pubDate>Sat, 14 Mar 2026 12:17:12 +0000</pubDate>
      <link>https://dev.to/bonthu_durgaprasad_60725/understanding-identity-and-access-management-iam-architecture-in-oracle-cloud-infrastructure-kh1</link>
      <guid>https://dev.to/bonthu_durgaprasad_60725/understanding-identity-and-access-management-iam-architecture-in-oracle-cloud-infrastructure-kh1</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Understanding Identity and Access Management (IAM) Architecture in Oracle Cloud Infrastructure&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Security is one of the most critical aspects when designing cloud infrastructure. In Oracle Cloud Infrastructure, Identity and Access Management (IAM) provides a centralized framework to control access to resources and services.&lt;/p&gt;

&lt;p&gt;IAM allows administrators to define who can access cloud resources and what actions they are allowed to perform, ensuring a secure and well-managed cloud environment.&lt;/p&gt;

&lt;p&gt;In this article, we will explore the core IAM architecture and understand how its components work together.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why IAM is Important&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In a cloud environment, multiple users, applications, and services interact with infrastructure resources. Without proper access control, organizations risk exposing sensitive data or critical infrastructure.&lt;/p&gt;

&lt;p&gt;OCI IAM helps organizations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implement secure access control&lt;/li&gt;
&lt;li&gt;Enforce the principle of least privilege&lt;/li&gt;
&lt;li&gt;Organize resources effectively&lt;/li&gt;
&lt;li&gt;Manage identities and permissions centrally&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Core Components of OCI IAM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;OCI IAM is built using several key components.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Compartments&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Compartments are logical containers used to organize and isolate OCI resources.&lt;/p&gt;

&lt;p&gt;They allow administrators to structure cloud environments and apply access control boundaries.&lt;/p&gt;

&lt;p&gt;Example compartment hierarchy:&lt;/p&gt;

&lt;p&gt;Root Tenancy&lt;br&gt;
 │&lt;br&gt;
 ├── Development&lt;br&gt;
 │       ├── Compute&lt;br&gt;
 │       └── Storage&lt;br&gt;
 │&lt;br&gt;
 └── Production&lt;br&gt;
         ├── Application Servers&lt;br&gt;
         └── Databases&lt;/p&gt;

&lt;p&gt;This structure helps maintain clear separation between environments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Users and Groups&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Users represent identities that can access the OCI Console or APIs.&lt;/p&gt;

&lt;p&gt;Groups are collections of users with similar responsibilities.&lt;/p&gt;

&lt;p&gt;Instead of assigning permissions to individual users, administrators assign policies to groups.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
Group: DevOps&lt;br&gt;
Users:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Alice&lt;/li&gt;
&lt;li&gt;Bob&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This simplifies permission management across teams.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IAM Policies&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Policies define what actions users or groups are allowed to perform on OCI resources.&lt;/p&gt;

&lt;p&gt;Example policy:&lt;/p&gt;

&lt;p&gt;Allow group DevOps to manage instance-family in compartment Production&lt;/p&gt;

&lt;p&gt;Policies usually define:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Subject (group or dynamic group)&lt;/li&gt;
&lt;li&gt;Action (inspect, read, use, manage)&lt;/li&gt;
&lt;li&gt;Resource type&lt;/li&gt;
&lt;li&gt;Compartment scope&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Policies form the core of OCI authorization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dynamic Groups and Instance Principals&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Modern cloud applications often run on compute instances and need access to OCI services.&lt;/p&gt;

&lt;p&gt;Instead of storing API credentials on servers, OCI provides Instance Principals.&lt;/p&gt;

&lt;p&gt;Instance principals allow compute instances to authenticate with OCI services using instance identity.&lt;/p&gt;

&lt;p&gt;Example access flow:&lt;/p&gt;

&lt;p&gt;Compute Instance&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
Instance Principal&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
Dynamic Group&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
IAM Policy&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
OCI Service Access&lt;/p&gt;

&lt;p&gt;Dynamic groups automatically include instances based on matching rules.&lt;/p&gt;

&lt;p&gt;Example dynamic group rule:&lt;/p&gt;

&lt;p&gt;ALL {instance.compartment.id = ''}&lt;/p&gt;

&lt;p&gt;Example policy:&lt;/p&gt;

&lt;p&gt;Allow dynamic-group app-instances to read buckets in compartment Storage&lt;/p&gt;

&lt;p&gt;This architecture eliminates the need to store credentials on servers.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Real-World Example&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Imagine an application running on an OCI compute instance that needs to upload files to Object Storage.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instead of storing API keys on the instance:&lt;/li&gt;
&lt;li&gt;The instance is added to a dynamic group&lt;/li&gt;
&lt;li&gt;A policy grants access to Object Storage&lt;/li&gt;
&lt;li&gt;The application authenticates using instance principals&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This enables secure and automated access to OCI services.&lt;/p&gt;

&lt;p&gt;Best Practices for OCI IAM&lt;/p&gt;

&lt;p&gt;When designing IAM architecture in OCI, follow these best practices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use groups for permission management&lt;/li&gt;
&lt;li&gt;Follow the principle of least privilege&lt;/li&gt;
&lt;li&gt;Organize resources using compartments&lt;/li&gt;
&lt;li&gt;Avoid storing API keys on compute instances&lt;/li&gt;
&lt;li&gt;Use instance principals whenever possible&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*&lt;em&gt;Conclusion&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Identity and Access Management is a foundational security service in Oracle Cloud Infrastructure. By combining compartments, users, groups, policies, and dynamic groups, organizations can build a secure access control framework for their cloud environments.&lt;/p&gt;

&lt;p&gt;Understanding IAM architecture is essential for designing secure and scalable OCI workloads.&lt;/p&gt;

&lt;p&gt;GitHub Repository&lt;/p&gt;

&lt;p&gt;You can explore the complete IAM implementation and architecture documentation here:&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Durgaprasad9346" rel="noopener noreferrer"&gt;
        Durgaprasad9346
      &lt;/a&gt; / &lt;a href="https://github.com/Durgaprasad9346/oci-iam-access-control-guide" rel="noopener noreferrer"&gt;
        oci-iam-access-control-guide
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      OCI IAM deep dive covering users, groups, policies, dynamic groups, instance principals and advanced access patterns in Oracle Cloud Infrastructure.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;oci-iam-access-control-guide&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;OCI IAM deep dive covering users, groups, policies, dynamic groups, instance principals and advanced access patterns in Oracle Cloud Infrastructure.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Overview&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Identity and Access Management (IAM) is the security foundation of Oracle Cloud Infrastructure (OCI). It controls authentication and authorization for users, services, and applications interacting with cloud resources.&lt;/p&gt;
&lt;p&gt;OCI IAM allows administrators to define who can access resources and what actions they can perform through policies, groups, and dynamic access mechanisms.&lt;/p&gt;
&lt;p&gt;This repository provides an in-depth explanation of OCI IAM components and advanced access patterns used in enterprise cloud environments.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Core IAM Components&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;OCI IAM consists of several key components:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Compartments&lt;/li&gt;
&lt;li&gt;Users&lt;/li&gt;
&lt;li&gt;Groups&lt;/li&gt;
&lt;li&gt;Policies&lt;/li&gt;
&lt;li&gt;Dynamic Groups&lt;/li&gt;
&lt;li&gt;Instance Principals&lt;/li&gt;
&lt;li&gt;Resource Principals&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These components work together to implement secure access control across OCI services.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;IAM Access Flow&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Typical access flow:&lt;/p&gt;
&lt;p&gt;User
│
▼
OCI IAM
│
▼
Group Membership
│
▼
Policy Evaluation
│
▼
Access to OCI Resource&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Repository&lt;/h2&gt;…&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Durgaprasad9346/oci-iam-access-control-guide" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;




</description>
      <category>oracle</category>
      <category>oci</category>
      <category>security</category>
      <category>iam</category>
    </item>
  </channel>
</rss>
