Cloud and Automation Blog

Category: Uncategorized (page 1 of 1)

ORACLE CLOUD: A Cloud provider that won’t deceive you – PART1


Cloud war is not a myth. Vendors are doing every day their best to provide the best solutions to answer their customer’s needs and to take as much as possible of the market share.

When we talk about cloud providers, most of us will think about AWS, Azure, GCP, or even Alibaba Cloud but we forget to think about a platform that as per Gartner is a “Viable Option When Evaluating Public Cloud Providers” which is OCI.

When oracle started the Cloud journey, its focus was to provide a platform designed for and dedicated to oracle solutions (DBs,…) but the focus changed to be a cloud infrastructure platform in order to compete with public cloud providers like AWS.

Oracle has provided a document on which they give the top 10 reasons to adopt their cloud.

One of these interesting arguments is the PRICE! in the following link, you will be able to understand how 8×8 or Zoom have done a huge economy on network egress cost.

In the next articles, I will start showcasing how to build your first infrastructure on OCI and how to use Terraform to automate this.

Stay Tuned! 🙂



As a continuation of my previous post, I will show you how to install Ansible and how to install the win_chocolatey module.

We will focus on the VM in the purple circle in the following schema.

To start with, I have deployed a CentOs 8 VM on which I have used the following commands to install Ansible:

Ansible is available in the EPEL repository of CentOS 8. So, you can easily install Ansible on CentOS 8.

First, update the DNF package repository cache with the following command:

sudo dnf makecache

Now, to enable EPEL repository, install the epel-release package with the following command:

 sudo dnf install epel-release

To confirm the installation, press Y and then press <Enter>. After that, epel-release package should be installed and the EPEL repository should be enabled.

Now, update the DNF package repository cache again with the following command:

sudo dnf makecache

Now, install Ansible with the following command:

sudo dnf install ansible

To confirm the installation, press Y and then press <Enter>. Follow the process till you reach the end of the installation.

Now, run the following command:

 ansible --version

As you can see, I am running Ansible 2.9.17 and it’s working just fine.

For Centos7, please check this link to perform the installation process.

Now, I will install the chocolatey module.

ansible-galaxy collection install chocolatey.chocolatey

Stay tuned for the next article where we will define our target VMs and connect using winrm. 🙂



A discussion with a dear friend triggered the idea of this article. We discussed together how to automate the usage of chocolatey in azure to maintain the homogeneity of an IT environment while using an internal repository instead of fetching files each time from the internet.

Once I get back home; I started a POC on my Azure subscription. Hereafter a simplified architecture schema of my solution.

Basically, we have a chocolatey server hosted in a separate virtual network that has access to the internet so it can be able to download chocolatey packages. In a separate network the ansible server and our target servers on which we need to deploy packages using ansible.

Humm, it is simple and easy, isn’t it? Well, the answer is yes and no 🙂 I will explain in the coming sections of the article.

I suppose that you know how to deploy the virtual networks, network security group, resource group, and virtual machines. If not hereafter some links to help you achieve that:

Well enough documentation and let’s move to the installation of chocolatey server:

1- Install Chocolatey:

The installation is pretty easy, please check this link for pre-requisites.

And then run this code with administrative rights on Powershell.

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(''))

2Install Choco.server

Now, installing the server version is pretty easy.

choco install chocolatey.server

Once the installation is done, you will be able to access the default page of the server using HTTP://[VM_IP]

In the next part of this article, I will continue discussing the deployment of Ansible, the configuration of the VM, and the execution of win_chocolatey. Stay tuned 🙂