Posts

Showing posts with the label bash

Java Process Builder

Image
Sometimes applications need to interact with the underlying OS, even with Bash and Process. JVM has a native implementation for Process, in Linux, there are system calls that are invoked. Today I want to show how easy to make Java and bash to talk to each other. This kind of technique can be used for all sorts of DevOps Engineering solutions or automation. So Let's get started!

Linux Terminal Goods II

Image
This is the second post on Linux Terminal good. The first post was more successful then I could possibly imagine. Thanks to an HN Thread I got some great feedback and decided to create a second post.  I was surprised to see how much people care about the terminal and how much impact the first post made. I also learn some cool stuff from the Thread and want to show it here.  I'm using ubuntu 18.04 LTS with ZSH using OhMyZsh .  For this post, I will show 5 utilities to make any engineer life better.  If you want to learn more on OhMyZSH check this one . If you like vintage terminals also check this one out . So So the first 2 tips will be for ZSH but the other 3 will work out for BASH too. let's get started. :D

Generic and Script Remediation

Image
Some time ago I was sharing my experiences with a Dynomite Remediation Process I wrote. Iḿ using remediation systems for a while and IMHO the add lots of value since they automate manual Cloud Operation work and save time for people. Currently, I refactored my Remediation code and now the same code can support Dynomite / Dynomite Manager but also Apache Cassandra. There are very similar concepts between Dynomite and Cassandra Remediation such as discovering AWS EC2 Ips to be remediated, AWs Resourcing(Creating SGs, Deleting LCs, Updating ASGs), Health checking(Is the node up and running? Could I remediate right now or you are in the middle of a backup or just booting up?). Once I identified that core concept I was able to create a high level and generic design for Cassandra and Dynomite. This is great for cases of Patch / Fix(apply a new AMI) or Scale Up(Increase the memory or CPU for instance). Although that the main use cases and most important ones there were some c...