Tuesday, December 24, 2019

DevOps in Legacy Systems

I had a discussion with one of my then-manager-colleague about ensuring the movement of a planned item even if the only available team member has no expertise to take it on. The simple answer is to get that team member to a starting point with the help of the experienced ones, through a non-heavy pair work format, just enough to give them momentum. It is possible that the task won't be completed...

Monday, December 16, 2019

Quantum Computing: Drivers of the Hype

Last October, I attended PSIA's SoftCon.ph 2019, where one of the plenary hall speakers is a Managing Director from Accenture who discussed a new set of emerging technologies following the SMAC (Social, Mobile, Analytics, Cloud) technologies from 6 years ago. Abbreviated as the DARQ Power which stands for Distributed Ledgers, AI, Reality Extended, and Quantum Computing. The first time I heard...

Saturday, December 14, 2019

My notes on setting up PyCharm with Gerrit

PyCharm Notes1. Install Pycharm 2. Install Git 3. Install Python interpreter 4. Install required Python modules In Pycharm 1.    Clone the projects 2.    For multiple projects in one window – do an ‘attach’ 3.    Configure Python interpreter per project 5.    install packages/plugins  via Settings - e.g. Gerrit plugin 6.  ...

Sunday, August 11, 2019

Best Practices: CI Patterns and Anti-Patterns

Here is the summary of all CI patterns and anti-patterns as mentioned in this article. Refer to the link for a more detailed explanation of these. Build Software at every change Pattern Run a software build with every change applied to the Repository. Anti-patterns Scheduled builds, nightly builds, building periodically, building exclusively on developer's machines, ...

Monday, July 22, 2019

Best Practices: Security Concerns with Microservices

Microservices architecture is more dispersed in nature hence, there will be a larger surface area for attacks and vulnerabilities. But because of this dispersion where services being independent at one another, this architecture allows for a more granular restrictions.  At the infrastructure, the concern is coming from multiple network entry-points, rate limits and traffic throttling configuration,...

Saturday, July 13, 2019

CKAD Learning Series 01: Installing minikube

1. Enable CPU virtualization support which can be done through the BIOS of your laptop/PC. To check, run the command: grep vmx /proc/cpuinfo 2. Add Kubernetes to your repositorycreate this file: /etc/yum.repos.d/kubernetes.repoto contain the snippet below:[kubernetes]name=Kubernetesbaseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg...

Monday, April 8, 2019

Distributing Test Cases to a set of Jenkins slave for execution

This groovy script will distribute a set of testcases to a set of slaves under a certain label. https://github.com/elogs/jenkins/blob/master/groovy/testcaseSlaveDistributor.groovy Prerequisites: The slaves are part of a label The Jenkins job which executes the test cases should have the following capabilities: It has "test case list" as a parameter. Therefore this job should be...

Friday, January 18, 2019

#Throwback: A batch script to clone or update Project from a Git repository

Background:The use-case behind this was that we could not checkout our project from Git repository in Jenkins for reasons I could not remember. I'm just publishing this here as an archive for future reference in case I encounter something of the same nature. https://github.com/elogs/jenkins/blob/master/batch/gitCloneOrPull.bat There should be curl in the system to verify the URLs...