From NetDevOps to SecDevOps - Continuous Compliance

Once NetDevOps becomes a part of your DNA, you will surely have some code or techniques to mix again and create new features that will significantly enhance your operations, just like this one. On this occasion, the image speak for itself. Every week, I receive a detailed report and a Jira ticket outlining necessary fixes for any deviations. This allows me to monitor the overall status, prioritize the top 10 deviations in each category, and track their progress over time. We’re just beginning with this methodology, but our aim is to expand it by adding more checks and sites. ...

January 24, 2024 · 3 min · 474 words · Adrian Giacometti

The power of simplicity applied to monitoring

Some time ago I was asked for help to develop a “simple and quick” Python script to monitor the status of a Linux service. They were in the middle of a deployment and they needed something fast. They added, keep the result in a JSON file with the date, serve the directory with HTTP for quick view, and finally post it to ELK for graphics. Ok, this looks simple part by part, but the sum ends up in a very complete solution at the same time! ...

July 26, 2021 · 2 min · 389 words · Adrian Giacometti

How To Netmiko - Full Speed (concurrency options)

In the previous post, we tried Netmiko from: the most basic command to one device, to the whole inventory, and as a bonus filtering devices to stay in a loop to keep throwing command, very useful for troubleshooting scenarios. The timing was already good in comparison to doing it completely manually. Between 6 and 10 seconds per device (in my lab), against long typing minutes. Now we are going to try different options for concurrency. In other words multiprocessing, multithreading (sync and async). ...

May 9, 2021 · 10 min · 2011 words · Adrian Giacometti

How to Netmiko - 5 minutes to all devices

Start using Netmiko is easier than you might think. Going from being a pure network guy to network automation with software development skills is NOT easy, and it is a long shot. Usually, people (like me) start with Ansible just because it is easier when you don’t know much about Python. Plus you can get some things done pretty fast. But at some point when you already acquired some Python skills you need to come back to review fundamentals to close the loop. In this case, I will start with Netmiko. Thanks Kirk for this awesome library! He also offers a free Python for network engineers training course <- This is a must! ...

May 6, 2021 · 9 min · 1762 words · Adrian Giacometti

Cloud & Network automation challenge: AWS, Terraform and FastAPI - part 2/3

This part of the challenge will cover the setup of the infrastructure at AWS with Terraform, and since I’m a fan of Python I will use/learn FastAPI for web front server effect, plus a picture embedded in the served web page will come from a secured S3 bucket. All of this was part of this great training course Networking in Public Cloud Deployments. We will create all the basic infrastructure from your PC just to follow the training course and gain the fundamental knowledge that we will need for what is to come. ...

April 8, 2021 · 7 min · 1374 words · Adrian Giacometti

Cloud & Network automation challenge: Deploy Security Rules in a DevOps/GitOps world with AWS, Terraform, GitLab CI, Slack, and Python (special guest FastAPI) - part 1/3

I found my next challenge while I was defining the Lab exercises for Networking in Public Cloud Deployments training course. Honestly, I didn’t know much about what was ahead, but I had a great learning idea and the will to go through the challenge. I’m not saying that this is correct nor complete, is my first run exploring the whole thing, so I’m just saying “hey! I can do this!, and this is the Proof of Concept. ...

April 8, 2021 · 5 min · 864 words · Adrian Giacometti

Cloud & Network automation challenge: GitLab CI, Slack, and Python - part 3/3

In the previous post we set up the infrastructure at AWS and we stored the states at GitLab. Now let’s go for the most fun part, integrate everything. We will modify a security group to allow HTTP access to the FastAPI app, and we will have all kinds of notifications and requests for approvals sent to Slack. Every step will be logged and stored in the form of messages in Slack and in a DevOps fashion at GitLab: terraform states, artifacts (which are specifics output that you want to store), logs for each run of the pipeline, etc. This will give you incredible traceability of your IaC. ...

April 8, 2021 · 12 min · 2372 words · Adrian Giacometti

Network Security Automation Win - block IP threats in seconds

Not so long ago a customer asked me for help on how to block IP addresses on their regional firewalls infrastructure. They needed a solution urgently, since lately there were some severe attacks on other companies in the region, and they didn’t want to be “on the news” too. Having a network engineer available 7x24 to block IP addresses on all the firewalls is not timewise efficient nor effective. It is simply not realistic to get him to work at any time (like midnight) and configure everything in less than 1 hour without errors and back and forths while chatting in the middle of the crisis with the rest of the organization. ...

December 30, 2020 · 4 min · 713 words · Adrian Giacometti

Cloud migration in 8 minutes: security rules from on-premise Cisco ACI to Oracle Cloud OCI with Terraform

Introduction A couple of months ago I was tasked to accelerate a cloud migration from the networking perspective. Context: Cisco ACI already deployed, with security rules grouped by functions and already agreed with the security team Migration to Oracle Cloud (aka OCI) already started and growing But, since Cisco ACI and Oracle OCI are configured in a different way, now there were two growing and divergent schemas, where manual deployment on OCI would take several months and a lot of conflicts, between operations and delivery. ...

September 25, 2020 · 5 min · 983 words · Adrian Giacometti

How Cisco ACI can easily send real-time notifications straight to your hands

Even if you don’t fully understand what is an API, it is really easy to leverage their power to have some useful information directly sent to a collaboration platform and receive it on your mobile or PC in real-time. All the tools in use are Free: Python, Slack, and WebEx Teams. In this post, I will show you how to send Cisco ACI faults and events to messages straight to Slack and WebEx Teams. ...

June 11, 2020 · 3 min · 459 words · Adrian Giacometti