<?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: Hari Bantwal</title>
    <description>The latest articles on DEV Community by Hari Bantwal (@paihari).</description>
    <link>https://dev.to/paihari</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%2F1029470%2Fdeaa53aa-3a91-4ac6-ac6b-dfcdd80e6180.png</url>
      <title>DEV Community: Hari Bantwal</title>
      <link>https://dev.to/paihari</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/paihari"/>
    <language>en</language>
    <item>
      <title>Cost and Competence</title>
      <dc:creator>Hari Bantwal</dc:creator>
      <pubDate>Wed, 17 Jul 2024 13:16:17 +0000</pubDate>
      <link>https://dev.to/paihari/cost-and-competence-44g0</link>
      <guid>https://dev.to/paihari/cost-and-competence-44g0</guid>
      <description>&lt;p&gt;Cost and Competence goes hand in hand, with multiverse system out there and the technology to support it, finding the best which fits the purpose and fits the future is the key. &lt;/p&gt;

&lt;p&gt;All the Software and Services built in house, Offered by COTS, SaaS or PaaS provides a business value in the value chain. &lt;/p&gt;

&lt;p&gt;All these Software and Services run on Infrastructure either on prem, Cloud or SaaS.&lt;/p&gt;

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

&lt;p&gt;With the advancement of Technology, consumers have the privilege to choose the best from, though caution with many options, that drives to Analysis Paralysis&lt;/p&gt;

&lt;p&gt;Below is the Comparision of Single Units of Core Infrastructure&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fay7dlo8e59d2fvun5f82.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fay7dlo8e59d2fvun5f82.png" alt="Image description" width="742" height="108"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Single Unit, gives a direction but not the intensity.&lt;/p&gt;

&lt;p&gt;Lets imagine, A typical department/Cost Center catering to business.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkweq7s6zxmo4lopjqxcn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkweq7s6zxmo4lopjqxcn.png" alt="Image description" width="445" height="66"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Cost per month to host this light weight infrastructure&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fixhltln6js81a11yo6yu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fixhltln6js81a11yo6yu.png" alt="Image description" width="535" height="310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IaaS space&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compute: 30% cheaper &lt;/li&gt;
&lt;li&gt;Containers: 25% cheaper &lt;/li&gt;
&lt;li&gt;Block Storage: 65% cheaper&lt;/li&gt;
&lt;li&gt;Egress data(50TB): 91% cheaper&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To be ready for the AI/ML/3D modelling surge and  migration of Huge System of Records to Cloud, &lt;/p&gt;

&lt;p&gt;Oracle is ready with 1.3 million I/O operations per second (IOPS) and up to 12 GB per second throughput per OCI Compute instance with the OCI Block Volume Service. while the immdiate next Compute instances from other providers are providing 800,000 IOPS &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Network space&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Network is a large space to cover, for the next generation of workload that wants to move to Cloud, mainly the System of Records, an dedicated connectivity service that provides a private, secure, and reliable connection between on-premises network and Cloud Providers on a one time basis if it is a complete lift and shift or eco system where the on prem and different cloud providers work in tandem.&lt;/p&gt;

&lt;p&gt;Competence:&lt;/p&gt;

&lt;p&gt;Azure ExpressRoute Bandwidth: 100 GB PS&lt;br&gt;
OCI FastConnect: 400 GB PS&lt;br&gt;
Google Cloud Interconnect: 200 GB PS&lt;br&gt;
AWS Direct Connect: 100 GBPS&lt;/p&gt;

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

&lt;p&gt;Cost:&lt;/p&gt;

&lt;p&gt;Bandwidth: 10 GBPS&lt;br&gt;
Outbound Data: 50TB&lt;br&gt;
Port Hours: 730&lt;/p&gt;

&lt;p&gt;Azure Express Route: USD 4700&lt;br&gt;
OCI Fast Connect:  USD 1300&lt;br&gt;
Google Cloud Interconnect: USD 5800&lt;br&gt;
AWS Direct Connect: USD 2075&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database Space:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There is a huge farm of Database that are offered by the Cloud Providers. Comparision is not the sole scope of this Post.&lt;br&gt;
But in general, As of June 2024, the most popular relational database management system (RDBMS) worldwide was Oracle, with a ranking score of 1244.08. Oracle was also the most popular DBMS overall. MySQL and Microsoft SQL server rounded out the top three. &lt;/p&gt;

&lt;p&gt;While both, Oracle database and MySQL are covers more than half of the DB ecosystem, Oracle Database the proprietory and flagship product of Oracle.&lt;br&gt;
MySQL which is open source under GNU Public licence was bought by Oracle Corporation during the acquisition of Sun Microsystem.&lt;/p&gt;

&lt;p&gt;While the debate is not about, how much Oracle directly influences MySQL outcomes, but thier influence in the Database space cannot be denied.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Competiors turning to Partner:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For organizations seeking to optimize cloud infrastructure capabilities and spending, a multicloud solution might be the best approach. It gives organizations access across cloud providers, so workloads and data can be in an environment best suited to their capabilities. To create an integrated multicloud experience, Oracle and Microsoft offer direct interconnection between Oracle Cloud Infrastructure (OCI) and Azure through FastConnect and ExpressRoute.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blogs.oracle.com/cloud-infrastructure/post/oci-azure-interconnect-networking-multicloud" rel="noopener noreferrer"&gt;https://blogs.oracle.com/cloud-infrastructure/post/oci-azure-interconnect-networking-multicloud&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Oracle Database@Azure is an Oracle database service running on Oracle Cloud Infrastructure (OCI), colocated in Microsoft data centers. This ensures that the Oracle Database@Azure service has the fastest possible access to Azure resources and applications&lt;/p&gt;

&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/azure/oracle/oracle-db/database-overview" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-us/azure/oracle/oracle-db/database-overview&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Google Cloud and Oracle announced an exciting new strategic cloud partnership today that enables customers to migrate and run mission-critical enterprise workloads seamlessly across Google Cloud and Oracle Cloud Infrastructure (OCI).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cloud.google.com/blog/products/databases/accelerating-cloud-transformation-with-google-cloud-and-oracle" rel="noopener noreferrer"&gt;https://cloud.google.com/blog/products/databases/accelerating-cloud-transformation-with-google-cloud-and-oracle&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Oracle, Microsoft, and OpenAl are partnering to extend the Microsoft Azure Al platform to Oracle Cloud Infrastructure (OCI) to provide additional capacity for OpenAl.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.oracle.com/news/announcement/openai-selects-oracle-cloud-infrastructure-to-extend-microsoft-azure-ai-platform-2024-06-11/?source=:so:ch:or:awr::::&amp;amp;SC=:so:ch:or:awr::::&amp;amp;pcode=" rel="noopener noreferrer"&gt;https://www.oracle.com/news/announcement/openai-selects-oracle-cloud-infrastructure-to-extend-microsoft-azure-ai-platform-2024-06-11/?source=:so:ch:or:awr::::&amp;amp;SC=:so:ch:or:awr::::&amp;amp;pcode=&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reference:&lt;/p&gt;

&lt;p&gt;Size of Cloud&lt;br&gt;
&lt;a href="https://ir.aboutamazon.com/news-release/news-release-details/2024/Amazon.com-Announces-First-Quarter-Results-68b9258cd/" rel="noopener noreferrer"&gt;https://ir.aboutamazon.com/news-release/news-release-details/2024/Amazon.com-Announces-First-Quarter-Results-68b9258cd/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://abc.xyz/assets/91/b3/3f9213d14ce3ae27e1038e01a0e0/2024q1-alphabet-earnings-release-pdf.pdf" rel="noopener noreferrer"&gt;https://abc.xyz/assets/91/b3/3f9213d14ce3ae27e1038e01a0e0/2024q1-alphabet-earnings-release-pdf.pdf&lt;/a&gt;&lt;br&gt;
&lt;a href="https://investor.oracle.com/investor-news/news-details/2024/Oracle-Announces-Fiscal-2024-Fourth-Quarter-and-Fiscal-Full-Year-Financial-Results/default.aspx" rel="noopener noreferrer"&gt;https://investor.oracle.com/investor-news/news-details/2024/Oracle-Announces-Fiscal-2024-Fourth-Quarter-and-Fiscal-Full-Year-Financial-Results/default.aspx&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Iaas Comparison&lt;/p&gt;

&lt;p&gt;Network&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.oracle.com/cloud/networking/fastconnect/" rel="noopener noreferrer"&gt;https://www.oracle.com/cloud/networking/fastconnect/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://azure.microsoft.com/en-us/products/expressroute/" rel="noopener noreferrer"&gt;https://azure.microsoft.com/en-us/products/expressroute/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://cloud.google.com/network-connectivity/docs/interconnect/quotas" rel="noopener noreferrer"&gt;https://cloud.google.com/network-connectivity/docs/interconnect/quotas&lt;/a&gt;&lt;br&gt;
&lt;a href="https://docs.aws.amazon.com/directconnect/latest/UserGuide/dedicated_connection.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/directconnect/latest/UserGuide/dedicated_connection.html&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.megaport.com/blog/comparing-cloud-providers-private-connectivity/" rel="noopener noreferrer"&gt;https://www.megaport.com/blog/comparing-cloud-providers-private-connectivity/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Network Pricing&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.oracle.com/cloud/networking/fastconnect/pricing/?source=:ow:o:s:po:0917CloudSEEDIF" rel="noopener noreferrer"&gt;https://www.oracle.com/cloud/networking/fastconnect/pricing/?source=:ow:o:s:po:0917CloudSEEDIF&lt;/a&gt;&lt;br&gt;
&lt;a href="https://azure.microsoft.com/en-us/pricing/details/expressroute/" rel="noopener noreferrer"&gt;https://azure.microsoft.com/en-us/pricing/details/expressroute/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://cloud.google.com/network-connectivity/docs/interconnect/pricing" rel="noopener noreferrer"&gt;https://cloud.google.com/network-connectivity/docs/interconnect/pricing&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.oracle.com/cloud/price-list/#networking" rel="noopener noreferrer"&gt;https://www.oracle.com/cloud/price-list/#networking&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Database space&lt;/p&gt;

&lt;p&gt;&lt;a href="https://library.ethz.ch/en/locations-and-media/media-types/databases-standards-patents/statista.html" rel="noopener noreferrer"&gt;https://library.ethz.ch/en/locations-and-media/media-types/databases-standards-patents/statista.html&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.statista.com/statistics/1131568/worldwide-popularity-ranking-relational-database-management-systems/" rel="noopener noreferrer"&gt;https://www.statista.com/statistics/1131568/worldwide-popularity-ranking-relational-database-management-systems/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>FX/OTC Volumes and Settlement Components</title>
      <dc:creator>Hari Bantwal</dc:creator>
      <pubDate>Sat, 06 Jul 2024 05:02:17 +0000</pubDate>
      <link>https://dev.to/paihari/fxotc-volumes-and-settlement-components-1k5n</link>
      <guid>https://dev.to/paihari/fxotc-volumes-and-settlement-components-1k5n</guid>
      <description>&lt;p&gt;Every three years, the Swiss National Bank conducts a survey on the turnover1 in the foreign exchange and over﻿-the﻿-counter derivatives markets in Switzerland. This survey is coordinated worldwide by the Bank for International Settlements (BIS).&lt;/p&gt;

&lt;p&gt;In April 2022, the 30 reporting banks recorded turnover in foreign exchange and derivatives transactions of &lt;strong&gt;USD 367 billion per trading day.&lt;/strong&gt; Foreign exchange transactions accounted for USD 350 billion (95%) of this total, and interest rate derivatives transactions for USD 18 billion (5%).&lt;br&gt;
&lt;a href="https://data.snb.ch/en/topics/ziredev/doc/ddum_2022" rel="noopener noreferrer"&gt;Swiss National Bank Report&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;FX/OTC is huge value, but very low margin business, which is core for the functioning of the Banks, Markets and Country in General&lt;/p&gt;

&lt;p&gt;Below are the 10 steps involved in FX/OTC settlement business&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Trade Capture&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Trade Execution: The initiation of a trade in the FX or OTC derivatives market, where two parties agree on the terms of the transaction.&lt;br&gt;
Trade Recording: The details of the executed trade are captured in the trading system. This includes information such as the type of instrument, trade date, value date, counterparties, notional amount, and agreed price.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Trade Validation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Confirmation Matching: Both parties to the trade send confirmations of the trade details to each other. These confirmations are matched to ensure both parties agree on the trade details.&lt;br&gt;
Trade Validation: Internal validation processes ensure that the trade details are correct and conform to the organization's policies and regulatory requirements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Settlement Instructions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instruction Generation: Based on the trade details, settlement instructions are generated. These instructions detail the accounts and the amounts to be settled.&lt;br&gt;
Instruction Transmission: Settlement instructions are sent to the appropriate clearing or settlement systems. In FX markets, this might involve sending instructions to an FX settlement system like CLS (Continuous Linked Settlement).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Reconciliation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Internal Reconciliation: Comparing internal records of trades and settlements to ensure consistency.&lt;br&gt;
External Reconciliation: Comparing internal records with external records from counterparties, custodians, or settlement systems to identify and resolve discrepancies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Settlement&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Payment Processing: The actual transfer of funds or assets between parties. In FX settlements, this often involves the simultaneous exchange of different currencies.&lt;br&gt;
Delivery vs. Payment (DVP): In the case of securities, ensuring that the delivery of the security and the payment occur simultaneously to mitigate settlement risk.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Risk Management&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Exposure Management: Monitoring and managing the financial exposure resulting from open FX and derivatives positions.&lt;br&gt;
Collateral Management: Managing the collateral posted against derivatives positions to mitigate counterparty risk.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Reporting&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Regulatory Reporting: Providing required reports to regulatory bodies, which may include transaction details, valuations, and risk metrics.&lt;br&gt;
Internal Reporting: Generating reports for internal stakeholders, including risk management, finance, and compliance teams.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Post-Settlement Processing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Accounting: Recording the settled trades in the accounting systems.&lt;br&gt;
Dispute Resolution: Handling and resolving any disputes or discrepancies that arise from the settlement process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Technology and Infrastructure&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;System Integration: Ensuring that trading, risk management, and settlement systems are properly integrated to facilitate smooth processing.&lt;br&gt;
Data Management: Managing the data required for the entire settlement process, ensuring accuracy and integrity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Continuous Improvement&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Process Review: Regularly reviewing and improving settlement processes to enhance efficiency, reduce risk, and comply with evolving regulatory requirements.&lt;br&gt;
Automation: Implementing automated solutions to reduce manual intervention and errors in the settlement process.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Things to Expect from a System</title>
      <dc:creator>Hari Bantwal</dc:creator>
      <pubDate>Tue, 02 Jul 2024 13:52:06 +0000</pubDate>
      <link>https://dev.to/paihari/things-to-expect-from-a-system-590c</link>
      <guid>https://dev.to/paihari/things-to-expect-from-a-system-590c</guid>
      <description>&lt;p&gt;Every System out there which serves a purpose, have all this.&lt;/p&gt;

&lt;p&gt;Leaders are those, who actively identify, adapt and even change before the due time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance:&lt;/strong&gt; The speed at which a system operates and processes data, including response time, throughput, and latency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reliability:&lt;/strong&gt;The ability of a system to operate consistently and accurately over time without failures.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Availability:&lt;/strong&gt; The degree to which a system is operational and accessible when required for use, often expressed as a percentage of uptime.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scalability:&lt;/strong&gt; The capacity of a system to handle increased load or expand to accommodate growth without compromising performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security:&lt;/strong&gt; The protection of a system against unauthorized access, data breaches, and other vulnerabilities. This includes aspects like authentication, authorization, encryption, and auditing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Maintainability:&lt;/strong&gt; The ease with which a system can be maintained, including aspects of code readability, modularity, and documentation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Usability:&lt;/strong&gt; The ease with which users can interact with a system, including interface design, accessibility, and user experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Portability:&lt;/strong&gt; The ability of a system to operate on different platforms or environments with minimal modifications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Interoperability:&lt;/strong&gt; The capability of a system to interact and communicate effectively with other systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Compliance:&lt;/strong&gt; Adherence to laws, regulations, guidelines, and specifications relevant to the industry or domain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flexibility:&lt;/strong&gt; The ease with which a system can adapt to changes in requirements or environments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Efficiency:&lt;/strong&gt; The optimal use of resources by a system, including processing power, memory, and bandwidth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Auditability:&lt;/strong&gt; The ability to trace system activities and operations to support auditing and compliance requirements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recovery:&lt;/strong&gt; The ability of a system to recover from failures, including backup, failover, and disaster recovery mechanisms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Localization:&lt;/strong&gt; The ability of a system to support different languages, regional settings, and cultural expectations.&lt;/p&gt;

</description>
      <category>nfr</category>
      <category>systemofrecords</category>
      <category>systemofengagement</category>
    </item>
    <item>
      <title>Azure Express Route: Unlimited data</title>
      <dc:creator>Hari Bantwal</dc:creator>
      <pubDate>Fri, 28 Jun 2024 08:53:26 +0000</pubDate>
      <link>https://dev.to/paihari/azure-express-route-unlimited-data-49eo</link>
      <guid>https://dev.to/paihari/azure-express-route-unlimited-data-49eo</guid>
      <description>&lt;p&gt;ExpressRoute Circuit Fee (10 Gbps):&lt;/p&gt;

&lt;p&gt;Unlimited Data Plan: $88,000 per month for Zone 2 (Europe) locations​ (Azure)​.&lt;/p&gt;

&lt;p&gt;Additional Costs:&lt;/p&gt;

&lt;p&gt;Global Reach Add-On (if needed for connecting multiple data centers): $0.055 per GB for outbound data transfer within Zone 2​ (Azure)​.&lt;br&gt;
Virtual Network Gateway: Depending on the type, this can be up to $1.36 per hour for the Ultra Performance Gateway, which supports 10 Gbps bandwidth​ .&lt;/p&gt;

&lt;p&gt;Breakdown:&lt;/p&gt;

&lt;p&gt;ExpressRoute Circuit Fee: $88,000 per month.&lt;br&gt;
Virtual Network Gateway:&lt;br&gt;
Ultra Performance Gateway: $1.36 per hour * 730 hours (approx. 1 month) = $992.80 per month.&lt;/p&gt;

&lt;p&gt;Total Estimated Monthly Cost:&lt;/p&gt;

&lt;p&gt;ExpressRoute Circuit Fee: $88,000&lt;br&gt;
Virtual Network Gateway: $992.80&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Total: $88,992.80 per month&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Please note that these are approximate costs and actual expenses might vary based on additional factors like specific data transfer volumes, additional add-ons, and regional pricing adjustments. For a more precise estimate, you can use the Azure Pricing Calculator and input the specific details of your setup.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Hybrid Cloud Topology Service Controller</title>
      <dc:creator>Hari Bantwal</dc:creator>
      <pubDate>Tue, 11 Jun 2024 09:09:53 +0000</pubDate>
      <link>https://dev.to/paihari/hybrid-cloud-topology-service-controller-2eca</link>
      <guid>https://dev.to/paihari/hybrid-cloud-topology-service-controller-2eca</guid>
      <description>&lt;p&gt;The "&lt;strong&gt;Topology Service Controller&lt;/strong&gt;" in a cloud environment typically refers to a component within a cloud infrastructure that manages and controls the topology of the services running within the cloud. This can include various tasks such as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Service Discovery and Registry:&lt;/strong&gt; Keeping track of all services running in the cloud, including their status, locations, and interdependencies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Network Management:&lt;/strong&gt; Managing the network topology, including routing, load balancing, and ensuring optimal communication paths between services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scaling and Resilience:&lt;/strong&gt; Monitoring the health of services and automatically scaling them up or down based on demand, as well as handling failover and redundancy to ensure high availability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Configuration Management:&lt;/strong&gt; Managing and distributing the configuration of services across the cloud environment, ensuring consistency and correctness.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monitoring and Logging:&lt;/strong&gt; Collecting and analyzing metrics and logs from services to monitor performance, detect issues, and enable troubleshooting.&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>infrastructureascode</category>
    </item>
    <item>
      <title>OKE: Simple Steps</title>
      <dc:creator>Hari Bantwal</dc:creator>
      <pubDate>Wed, 29 May 2024 12:00:47 +0000</pubDate>
      <link>https://dev.to/paihari/oke-simple-steps-2e9</link>
      <guid>https://dev.to/paihari/oke-simple-steps-2e9</guid>
      <description>&lt;ul&gt;
&lt;li&gt;Create an OKE Cluster in OCI, with default settings&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Create kubeconfig file in your connecting machine.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.eu-zurich-1.aaaaaaaa5s4il4pmzpg274oahr4z2at5do3ws7pemss3svdp2cbaobenjnoa --file $HOME/.kube/config --region eu-zurich-1 --token-version 2.0.0  --kube-endpoint PUBLIC_ENDPOINT
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;kubectl create -f https://k8s.io/examples/application/deployment.yaml&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl get pods&lt;/code&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>HTTPS Enablement with DNS Registrar: AWS Route 53, DNS Management: Cloudflare, Loadbalancer:OCI</title>
      <dc:creator>Hari Bantwal</dc:creator>
      <pubDate>Tue, 30 Apr 2024 08:22:46 +0000</pubDate>
      <link>https://dev.to/paihari/https-enablement-with-dns-registrar-aws-route-53-dns-management-cloudflare-loadbalanceroci-293g</link>
      <guid>https://dev.to/paihari/https-enablement-with-dns-registrar-aws-route-53-dns-management-cloudflare-loadbalanceroci-293g</guid>
      <description>&lt;p&gt;The post below describes SSL enablement for a domain registered with AWS Route 53, DNS management in Cloudflare, and the setup of load balancers and compute instances hosted on Oracle Cloud Infrastructure (OCI).&lt;/p&gt;

&lt;p&gt;The background involves three actors due to the domain's previous use for other purposes. Keeping the status quo helps understand the complexities involving multiple actors. The DNS management part can be shifted to either AWS or OCI, reducing the number of actors in the value chain to two.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbe35wl2gz7cya1rhppv6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbe35wl2gz7cya1rhppv6.png" alt="Image description" width="500" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Starting Point.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;bantwal.ch domain obtained from AWS Route 53&lt;/li&gt;
&lt;li&gt;NS Records in AWS Route 53 pointing to Cloudflare&lt;/li&gt;
&lt;li&gt;OCI Instance &lt;em&gt;instance-web-1 and instance-web-2&lt;/em&gt;  serves Apache webserver on &lt;a href="http://PUBLICIP:80"&gt;http://PUBLICIP:80&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Objective&lt;/strong&gt;&lt;br&gt;
1) LoadBalancer in OCI pointing to OCI Instance &lt;em&gt;instance-web-1 and instance-web-2&lt;/em&gt;&lt;br&gt;
2) Associate domain bantwal.ch to Loadbalancer&lt;br&gt;
3) Enable HTTPS access for bantwal.ch&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Steps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) Create Load Balancer on the regional subnet, add backend instance-web-1 and instance-web-2, add HTTP listener&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;2) Navigate to the browser and do http test on public ip of Loadbalancer&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;Objective 1: Done&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3) Domain Registrar setting at AWS Route 53&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;DNS NS records pointing to Cloudflare&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4) DNS Management in CloudFlare&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;DNS A record pointing to the loadbalancer created in Step 1&lt;/p&gt;

&lt;p&gt;SSL TLS Setting is Cloudflare is set to OFF&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;5) Navigate to the browser and do DNS Test&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;Objective 2: Done&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6) Get the Certificate from CA Authority.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This example uses&lt;br&gt;
&lt;a href="https://www.sslforfree.com/"&gt;SSL for Free&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;7) Verification of domain&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This example uses DNS CNAME entry in Registar/DNS Management.&lt;/p&gt;

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

&lt;p&gt;Copy the values. And verify the domain.&lt;/p&gt;

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

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

&lt;p&gt;Download the Certificate&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8)Create Certificate object in OCI&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;Upload the files from the zip file downloaded in previous step.&lt;/p&gt;

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

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

&lt;p&gt;&lt;strong&gt;9)Create HTTPS Listener in Load Balancer&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;10) Add the HTTPS Port to the stateful Ingress on Load Balancer Subnet&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;11) Access the site using SSL&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;12) Verify the Certificate details on the browser&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;Objective 3: Done&lt;/p&gt;

</description>
      <category>aws</category>
      <category>dns</category>
      <category>oraclecloud</category>
      <category>cloudflare</category>
    </item>
    <item>
      <title>Oracle Cluster File System(OCFS2) setup for shared Block Volume</title>
      <dc:creator>Hari Bantwal</dc:creator>
      <pubDate>Mon, 29 Apr 2024 13:04:33 +0000</pubDate>
      <link>https://dev.to/paihari/oracle-cluster-file-systemocfs2-setup-for-shared-block-volume-493p</link>
      <guid>https://dev.to/paihari/oracle-cluster-file-systemocfs2-setup-for-shared-block-volume-493p</guid>
      <description>&lt;p&gt;There are moments when simple tasks can slow down our progress, often because they're not part of our regular routine.  This post captured set of steps to enable Shared Block Volume for multiple OCI Compute Instances. Such a setup also needs Oracle Cluster File System(OCFS2) to be enabled. &lt;br&gt;
I so wish this enablement is possible by a click of Button, API call ...&lt;/p&gt;

&lt;p&gt;Lets make our hands dirty.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Starting point.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Two OCI Instance with the provision to access through SSH keys&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fxgbkc7o0trxpwm1hkafe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fxgbkc7o0trxpwm1hkafe.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Block Volume in the same Availability Domain&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.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%2F2hd3pamw2y4lqnyaeuz9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F2hd3pamw2y4lqnyaeuz9.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attach the Block Volume to Instance&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Navigate to the Unattached Block Volume. Attached Instances &amp;gt;&amp;gt; Attach Instance&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fr837ac7objg1zs8ra55r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fr837ac7objg1zs8ra55r.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Attach the First Instance.&lt;br&gt;
Repeat the same for Second Instance&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F5jxdn5pz6bi3mpnbwfnz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F5jxdn5pz6bi3mpnbwfnz.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setup the Oracle Cluster File System(OCFS2)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1) Add stateful Ingress in Security List of the Instance VCN&lt;/p&gt;

&lt;p&gt;Source: Subnet/VCN CIDR&lt;br&gt;
IP Prototocol: TCP and UDP&lt;br&gt;
Source Port: All&lt;br&gt;
Target Port: 3260 and 7777&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F59dd22i1jl3yfdumgksn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F59dd22i1jl3yfdumgksn.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) Open the Target ports on Local OS Firewall on &lt;strong&gt;instance-1&lt;/strong&gt; and &lt;strong&gt;instance-2&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

sudo firewall-cmd --zone=public --permanent --add-port=7777/tcp
sudo firewall-cmd --zone=public --permanent --add-port=7777/udp
sudo firewall-cmd --zone=public --permanent --add-port=3260/tcp
sudo firewall-cmd --zone=public --permanent --add-port=3260/udp
sudo firewall-cmd --complete-reload


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;3) Install OCFS2 Packages on &lt;strong&gt;instance-1&lt;/strong&gt; and &lt;strong&gt;instance-2&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

sudo dnf install -y ocfs2-tools


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;4) Create Cluster definition on &lt;strong&gt;instance-1&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

sudo o2cb add-cluster ocifs2


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;5) Add the nodes to Cluster on &lt;strong&gt;instance-1&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

sudo o2cb add-node ocifs2 instance-1 --ip &amp;lt;PRIVATE IP OF instance 1&amp;gt;
sudo o2cb add-node ocifs2 instance-2 --ip &amp;lt;PRIVATE IP OF instance 2&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;6) Check the Cluster Config file on &lt;strong&gt;instance-1&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

[opc@instance-1 ~]$ sudo cat /etc/ocfs2/cluster.conf
cluster:
    heartbeat_mode = local
    node_count = 2
    name = ocifs2

node:
    number = 0
    cluster = ocifs2
    ip_port = 7777
    ip_address = 172.17.0.173
    name = instance-1

node:
    number = 1
    cluster = ocifs2
    ip_port = 7777
    ip_address = 172.17.0.154
    name = instance-2



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;7) Copy the content of Cluster Config file to instance-2 at the /etc/ocfs2/cluster.conf&lt;/p&gt;

&lt;p&gt;8) Configure the Cluster Stack in &lt;strong&gt;instance-1&lt;/strong&gt; and &lt;strong&gt;instance-2&lt;/strong&gt; sequentially&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

[opc@instance-1 ~]$ sudo /sbin/o2cb.init configure
Configuring the O2CB driver.
...
...
Cluster to start on boot (Enter "none" to clear) [ocfs2]: ocifs2
...


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;9) Verify the settings for Cluster Stack and note the values are loaded, mounted and online. But the heart beat is not active&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

[opc@instance-1 ~]$ sudo /sbin/o2cb.init status
Driver for "configfs": Loaded
Filesystem "configfs": Mounted
Stack glue driver: Loaded
Stack plugin "o2cb": Loaded
Driver for "ocfs2_dlmfs": Loaded
Filesystem "ocfs2_dlmfs": Mounted
Checking O2CB cluster "ocifs2": Online
  Heartbeat dead threshold: 31
  Network idle timeout: 30000
  Network keepalive delay: 2000
  Network reconnect delay: 2000
  Heartbeat mode: Local
Checking O2CB heartbeat: Not active
Debug file system at /sys/kernel/debug: mounted


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Repeat above steps in &lt;strong&gt;instance-2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;10) Setup the Boot time startup of o2cb and ocfs2 services on &lt;strong&gt;instance-1&lt;/strong&gt; and &lt;strong&gt;instance-2&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

sudo systemctl enable o2cb
sudo systemctl enable ocfs2


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;11) Configure Kernel for Cluster Operation on &lt;strong&gt;instance-1&lt;/strong&gt; and &lt;strong&gt;instance-2&lt;/strong&gt; using SSH&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

sudo sysctl kernel.panic=30
sudo sysctl kernel.panic_on_oops=1


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Add the entries to sysctl configuration file for persistence&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

sudo vi /etc/sysctl.conf
kernel.panic=30
kernel.panic_on_oops=1



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;12) Create OCFS2 Volume on only &lt;strong&gt;instance-1&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

[opc@instance-1 ~]$ sudo mkfs.ocfs2 -L "ocfs2" /dev/sdb
mkfs.ocfs2 1.8.6
Cluster stack: classic o2cb
Label: ocfs2
...
Formatting Journals: 
...
Writing lost+found: done
mkfs.ocfs2 successful


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Create a mount directory&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

[opc@instance-1 ~]$ sudo mkdir /ocfs2


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Specify the netdev option in /etc/fstab to allow the system to mount ocfs2 volume during boot time&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

sudo vi /etc/fstab 
/dev/sdb /ocfs2 ocfs2   _netdev,defaults        0 0


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Reload the sysctl and mount&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

sudo systemctl daemon-reload
sudo mount -a 


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Check the mounted block volume&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

[opc@instance-1 ~]$ lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
...
sdb                  8:16   0    1T  0 disk /ocfs2



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;13) OCFS2 Volume setup and mount on  &lt;strong&gt;instance-2&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

[opc@instance-2 ~]$ sudo mkdir /ocfs2
[opc@instance-2 ~]$ sudo vi /etc/fstab 
[opc@instance-2 ~]$ sudo systemctl daemon-reload
[opc@instance-2 ~]$ sudo mount -a 
[opc@instance-2 ~]$ lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
...
sdb                  8:16   0    1T  0 disk /ocfs2


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;14) Test: Create a file on the mounted volume for eg. on &lt;strong&gt;instance-2&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

[opc@instance-2 ~]$ cd /ocfs2/
[opc@instance-2 ocfs2]$ sudo touch shared-cluster-file.txt
[opc@instance-2 ocfs2]$ ls -lart
total 8
drwxr-xr-x.  2 root root 3896 Apr 29 12:03 lost+found
dr-xr-xr-x. 19 root root  265 Apr 29 12:15 ..
-rw-r--r--.  1 root root    0 Apr 29 12:19 shared-cluster-file.txt
drwxr-xr-x.  3 root root 3896 Apr 29 12:19 .


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;15) Test: Access the file on the mounted volume of other instance eg. on &lt;strong&gt;instance-1&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

[opc@instance-1 ~]$ cd /ocfs2/
[opc@instance-1 ocfs2]$ ls -lart
total 8
drwxr-xr-x.  2 root root 3896 Apr 29 12:03 lost+found
dr-xr-xr-x. 19 root root  265 Apr 29 12:04 ..
-rw-r--r--.  1 root root    0 Apr 29 12:19 shared-cluster-file.txt
drwxr-xr-x.  3 root root 3896 Apr 29 12:19 .



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>oci</category>
      <category>ocfs2</category>
      <category>cluster</category>
      <category>blockvolume</category>
    </item>
    <item>
      <title>Useful Commands</title>
      <dc:creator>Hari Bantwal</dc:creator>
      <pubDate>Tue, 19 Mar 2024 22:43:46 +0000</pubDate>
      <link>https://dev.to/paihari/useful-commands-14ji</link>
      <guid>https://dev.to/paihari/useful-commands-14ji</guid>
      <description>&lt;p&gt;SSH from Public Instance to Private Instance&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ssh -t -o ProxyCommand="ssh -i id_rsa ubuntu@PUBLICIP -W %h:%p" -i id_rsa ubuntu@PRIVATEIP&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Create CRT&lt;/p&gt;

&lt;p&gt;&lt;code&gt;openssl req -new -newkey rsa:2048 -nodes -keyout domain.co.key -out domain.co.csr&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Boot Strap Command for nginx on Ubuntu on OCI&lt;/p&gt;

&lt;p&gt;&lt;code&gt;#!/bin/bash&lt;br&gt;
sudo apt update&lt;br&gt;
sudo apt install nginx -y&lt;br&gt;
sudo systemctl start nginx.service&lt;br&gt;
systemctl status nginx&lt;br&gt;
sudo iptables -I INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT&lt;br&gt;
sudo iptables -I OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ubuntu.com/tutorials/install-and-configure-nginx#4-setting-up-virtual-host"&gt;https://ubuntu.com/tutorials/install-and-configure-nginx#4-setting-up-virtual-host&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Command to Install docker/compose on Oracle Linux and run potsgres on OCI&lt;/p&gt;

&lt;p&gt;&lt;code&gt;#!/bin/bash&lt;br&gt;
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo&lt;br&gt;
sudo dnf install docker-ce --nobest -y&lt;br&gt;
sudo systemctl enable --now docker&lt;br&gt;
sudo usermod -aG docker root&lt;br&gt;
sudo systemctl disable firewalld&lt;br&gt;
sudo sudo curl -L "https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose&lt;br&gt;
sudo sudo mv /usr/local/bin/docker-compose /usr/bin/docker-compose&lt;br&gt;
sudo chmod +x /usr/bin/docker-compose&lt;br&gt;
sudo docker run -d -p 5432:5432 --name postgres -e POSTGRES_PASSWORD=changeme postgres&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo docker exec -it postgres bash&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Command to Install and Configure Apache, PHP 8, MySQL, and WordPress on OCI&lt;/p&gt;

&lt;p&gt;&lt;code&gt;#!/bin/bash&lt;br&gt;
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT&lt;br&gt;
sudo netfilter-persistent save&lt;br&gt;
sudo apt update&lt;br&gt;
sudo apt -y install apache2&lt;br&gt;
sudo systemctl restart apache2&lt;br&gt;
sudo apt -y install php&lt;br&gt;
sudo apt -y install php-mysql php-curl php-gd php-zip&lt;br&gt;
sudo systemctl restart apache2&lt;br&gt;
sudo adduser $USER www-data&lt;br&gt;
sudo chown -R www-data:www-data /var/www/html&lt;br&gt;
sudo chmod -R g+rw /var/www/html&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Command to Point the Wordpress server to point to NFS&lt;/p&gt;

&lt;p&gt;&lt;code&gt;#!/bin/bash&lt;br&gt;
sudo systemctl stop apache2&lt;br&gt;
sudo mv /var/www /var/www-old&lt;br&gt;
sudo mkdir /var/www&lt;br&gt;
sudo mount -t nfs 20.0.1.94:/wordpress /var/www&lt;br&gt;
sudo systemctl restart apache2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;When WP is migrated to new Host, wp-admin still points to the old host. How to fix this.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;mysql&amp;gt; show databases;&lt;br&gt;
mysql&amp;gt; use &amp;lt;wordpressdb&amp;gt;;&lt;br&gt;
mysql&amp;gt; desc wp_options;&lt;br&gt;
mysql&amp;gt; select option_name from wp_options;&lt;br&gt;
mysql&amp;gt; select option_name from wp_options where option_name = 'siteurl';&lt;br&gt;
mysql&amp;gt; update wp_options set option_value = 'http://&amp;lt;NEW HOST&amp;gt;' where option_name ='siteurl';&lt;br&gt;
mysql&amp;gt; select * from wp_options where option_name = 'home';&lt;br&gt;
update wp_options set option_value ='http://&amp;lt;NEW HOST' where option_name = 'home';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;WP website migrated to HTTPS, images are gone. Add the following lines in wp-config.php&lt;/p&gt;

&lt;p&gt;&lt;code&gt;if (isset($_SERVER["HTTP_X_FORWARDED_PROTO"] ) &amp;amp;&amp;amp; "https" == $_SERVER["HTTP_X_FORWARDED_PROTO"] ) {&lt;br&gt;
$_SERVER["HTTPS"] = "on";&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;How to import and export the Mysql Dump&lt;/p&gt;

&lt;p&gt;`mysqldump --no-tablespaces -h 20.0.1.45 -u wordpress -p wordpress &amp;gt; wpdump.sql&lt;/p&gt;

&lt;p&gt;mysql -h 20.0.1.137 -u wordpress -p wordpress &amp;lt; wpdump.sql `&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.oracle.com/en-us/iaas/developer-tutorials/tutorials/wp-on-ubuntu/01-summary.htm"&gt;https://docs.oracle.com/en-us/iaas/developer-tutorials/tutorials/wp-on-ubuntu/01-summary.htm&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-in-mysql"&gt;https://www.digitalocean.com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-in-mysql&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tecmint.com/fix-error-2003-hy000-cant-connect-to-mysql-server-on-127-0-0-1-111/"&gt;https://www.tecmint.com/fix-error-2003-hy000-cant-connect-to-mysql-server-on-127-0-0-1-111/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://serverfault.com/questions/139323/how-to-bind-mysql-server-to-more-than-one-ip-address"&gt;https://serverfault.com/questions/139323/how-to-bind-mysql-server-to-more-than-one-ip-address&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/8020297/mysql-my-cnf-file-found-option-without-preceding-group"&gt;https://stackoverflow.com/questions/8020297/mysql-my-cnf-file-found-option-without-preceding-group&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/19101243/error-1130-hy000-host-is-not-allowed-to-connect-to-this-mysql-server"&gt;https://stackoverflow.com/questions/19101243/error-1130-hy000-host-is-not-allowed-to-connect-to-this-mysql-server&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;CREATE USER 'bob'@'10.0.0.0/255.0.0.0' IDENTIFIED BY 'password123';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://libreswan.org/"&gt;https://libreswan.org/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CLI Spot Check&lt;/p&gt;

&lt;p&gt;oci iam user get --user-id ocid1.user.oc1..userid&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Encrypt and decryprt using OCI Vault&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;IAM&lt;/p&gt;

&lt;p&gt;Allow group '' to manage vaults in compartment HADR&lt;br&gt;
Allow group '' to manage keys in compartment HADR&lt;/p&gt;

&lt;p&gt;OCI CLI&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;plaintext=$(echo "Lets look at the OCI KMS Demo" | base64)
echo $encryptedtext
encryptedtext=$(oci kms crypto encrypt --plaintext $plaintext --key-id &amp;lt;ocid&amp;gt; --endpoint https://&amp;lt;cryptoendpoint&amp;gt;-crypto.kms.eu-frankfurt-1.oraclecloud.com)
export cipher=$(echo $encryptedtext | jq -r '.data | .ciphertext')
decryptedtext=$(oci kms crypto decrypt --ciphertext $cipher --key-id &amp;lt;ocid&amp;gt; --endpoint https://&amp;lt;cryptoendpoint&amp;gt;-crypto.kms.eu-frankfurt-1.oraclecloud.com)
echo $decryptedtext
export b64encodedPlainText=$(echo $decryptedtext | jq -r '.data | .plaintext')
echo $b64encodedPlainText | base64 --decode
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>ssh</category>
      <category>linux</category>
    </item>
    <item>
      <title>Multicloud: OCI-Azure : Cross Cloud Networking: Step by Step Setup</title>
      <dc:creator>Hari Bantwal</dc:creator>
      <pubDate>Tue, 23 Jan 2024 14:39:31 +0000</pubDate>
      <link>https://dev.to/paihari/multicloud-oci-azure-cross-cloud-networking-step-by-step-setup-2ao2</link>
      <guid>https://dev.to/paihari/multicloud-oci-azure-cross-cloud-networking-step-by-step-setup-2ao2</guid>
      <description>&lt;h2&gt;
  
  
  Setup:
&lt;/h2&gt;

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

&lt;h2&gt;
  
  
  Process:
&lt;/h2&gt;

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

&lt;h2&gt;
  
  
  Azure Side
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Creating Resource Group in Azure:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The first step is to create a resource group in Azure, similar to a compartment in infrastructure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The resource group is named "To OCI resource group" and located in the Germany West Central.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Creating Virtual Network in Azure:&lt;/li&gt;
&lt;li&gt;A virtual network is created in Azure within the "To OCI resource group" named "To OCI VNet" &lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Two subnets are configured, one for launching a virtual machine and another for creating a virtual network gateway.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Creating Virtual Network Gateway in Azure:&lt;/li&gt;
&lt;li&gt;A virtual network gateway is created in Azure, named "To OCI virtual network gateway (VNG)" &lt;/li&gt;
&lt;li&gt;The gateway type is set as ExpressRoute with a standard SKU, and it is associated with the "To OCI VNet" and the "gateway subnet."&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>ai</category>
      <category>learning</category>
      <category>oci</category>
      <category>oracle</category>
    </item>
    <item>
      <title>Tool Selection: Option of Many vis-a-vis Problem of Many</title>
      <dc:creator>Hari Bantwal</dc:creator>
      <pubDate>Tue, 23 Jan 2024 13:31:11 +0000</pubDate>
      <link>https://dev.to/paihari/tool-selection-3o7n</link>
      <guid>https://dev.to/paihari/tool-selection-3o7n</guid>
      <description>&lt;p&gt;While having a programmable Infrastructure would assist in the adoption of a Dynamic environment for Cloud Offerings/SaaS, such an undertaking is possible with a variety of open-source/service tools. Below are the list of such tools which covers mostly both end of the spectrum. &lt;/p&gt;

&lt;p&gt;The major hurdle to pass for all in the journey is &lt;a href="https://plato.stanford.edu/entries/problem-of-many/"&gt;"Problem of Many"&lt;/a&gt; by experimenting for a purpose, selecting from many, harnassing its value and adapting ...&lt;/p&gt;

&lt;h2&gt;
  
  
  Identity and Access Management
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/ory/kratos"&gt;Ory Kratos&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Authn and Authz:&lt;/strong&gt; IDP Broker, User Management, Group Management&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/zitadel"&gt;Zitadel&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Authn and Authz:&lt;/strong&gt; IDP Broker, User Management, Group Management&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://evolveum.com/"&gt;Evolveum Midpoint&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;Identity Governance&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.kstone.net/"&gt;Aesir Kstone&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Authn and Authz:&lt;/strong&gt; Hierarchical template based User&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.oneidentity.com/privileged-access-management/"&gt;One Identity PAM/PSM&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Authn and Authz:&lt;/strong&gt; Privileged Access/Password Management&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Information Security
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.brinqa.com/"&gt;Brinqa&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Vulnerability Management:&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.tenable.com/products/tenable-io"&gt;Tenable&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Vulnerability Management:&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.saporo.io/"&gt;Sapora&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Identity Risk Management:&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.cloudflare.com/"&gt;Cloudflare&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Internet Access and DNS:&lt;/strong&gt; Application Firewall, CDN, Proxy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.splunk.com/en_us/products/enterprise-security.html"&gt;Splunk&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Security Information and Event Management&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.adaptive-shield.com/"&gt;Adaptive Shield&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;SaaS Security Posture Management:&lt;/strong&gt; Tool to Assess and Manage Security Posture of multliple SaaS solution&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dataclassification.fortra.com/resources"&gt;Bolodon James Classifier&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Classification:&lt;/strong&gt; Classification of Application and Messages, Emails ...&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.proofpoint.com/us/observeit-is-now-proofpoint"&gt;Proofpoint&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Threat Management&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.trellix.com/platform/data-security/"&gt;Trellix McAfee Data Security&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Data Loss Protection&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.paloaltonetworks.com/prisma/cloud"&gt;Prisma Cloud Palo Alto&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Security Posture Management&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/trufflesecurity/trufflehog"&gt;Trufflehog&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Secrets Management&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://canary.tools/"&gt;Thinkst Canary&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Instrusion Detetection&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.tufin.com/tufin-orchestration-suite/securetrack"&gt;Tuffin Security Track&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Hybrid Cloud Network Security&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.netscout.com/arbor"&gt;Netscout Arbor&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;DDOS Protection&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Operations
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.pagerduty.com/"&gt;PagerDuty&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Operation Platform:&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://superset.apache.org/"&gt;Apache Superset&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Data Exploration and Visualization&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://prometheus.io/"&gt;Prometheus&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;System Monitoring&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://grafana.com/"&gt;Grafana&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Observability Platform&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.cloudquery.io/"&gt;CloudQuery&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;Monitoring Cloud Infrastructure&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Engineering
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.terraform.io/"&gt;Terraform&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Cloud Infrastructure Provision&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://about.gitlab.com/"&gt;Gitlab&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;DevOps Platform and Source Control&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com"&gt;Github&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;DevOps Platform and Source Control&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://backstage.io/"&gt;Backtstage&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Developer Portal Platform&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://tekton.dev/"&gt;Tekton&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Cloud Native CI/CD for Kubernetes artifacts&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://kubevela.io/"&gt;Kubevela&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Hybrid Cloud Software Delivery Platform&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://argo-cd.readthedocs.io/en/stable/"&gt;ArgoCD&lt;/a&gt;&lt;br&gt;
**GitOps Kubernetes Software delivery Platform&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.windmill.dev/"&gt;Windmill&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Developer Platform for APIs, Workflows and Quick UIs&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://supabase.com/"&gt;Supabase&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Developer Platform with state of art Database, Authentication, storage, Edge, Vector capabilities&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;10.&lt;a href="https://hasura.io/"&gt;Hasura&lt;/a&gt;&lt;br&gt;
   &lt;strong&gt;Instant API Platform&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;11.&lt;a href="https://docs.score.dev/docs/"&gt;Score&lt;/a&gt;&lt;br&gt;
  &lt;strong&gt;Tech agnostic Workload definition&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>Multicloud: OCI-Azure Interconnect</title>
      <dc:creator>Hari Bantwal</dc:creator>
      <pubDate>Mon, 27 Nov 2023 20:42:48 +0000</pubDate>
      <link>https://dev.to/paihari/multicloud-oci-azure-interconnect-3aai</link>
      <guid>https://dev.to/paihari/multicloud-oci-azure-interconnect-3aai</guid>
      <description>&lt;h2&gt;
  
  
  OCI-Azure Interconnect Partnership:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Oracle and Microsoft announced a partnership in 2019 to connect Oracle Cloud Infrastructure (OCI) and Microsoft Azure with a secure, low-latency, and high-throughput network known as OCI-Azure Interconnect.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This partnership enables private connectivity between OCI and Azure, offering consistent network performance with around 2-millisecond latency.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Benefits and Use Cases:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;OCI-Azure Interconnect allows for the establishment of a direct connection without the need for an intermediary network provider.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It enables customers to migrate to the cloud or build cloud-native applications using the strengths of both OCI and Azure&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Users can set up single sign-on between Microsoft Azure and OCI for Oracle applications, streamlining authentication.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The private inter-cloud connection bypasses the public internet, enhancing security.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Building Blocks
&lt;/h2&gt;

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

&lt;h2&gt;
  
  
  Scenarios
&lt;/h2&gt;

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

&lt;h2&gt;
  
  
  Step by Step Setup Process
&lt;/h2&gt;

</description>
    </item>
  </channel>
</rss>
