I’ve been neglecting this site since December, 2019. Around that time I went through yet another change in ownership of the company I worked for, or at least a change in the make up of the organization. I started at a company named Jumptap, which was almost immediately acquired by Millennial Media, which was then…
Continue Readingsingle source of truth (env vars)
I came into a new project recently. One of the challenges was that the CICD pieces almost worked for developers, but fell short and all of the QA was being done because of that on the developer’s local laptop. It works on my local… Actually and in fact. Each developer would announce to the group…
Continue ReadingECS Structure via Boto3
This starts with an abstracted config file… [python] ### variables (abstract these further and pull in as a seprate file – then create a new file for a new environment) region = ‘aws region’ cluster_name = ‘cluster’ amiid = ‘ami-123456789123’ instance_type = ‘t2.medium’ key_name = ‘aws key name’ subnet_id_1 = ‘subnet-123456789123’ subnet_id_2 = ‘subnet-123456789125’…
Continue ReadingEssential Management
Good managers are gems. Especially technical managers. One of the things that happens as careers continue is competent people are offered the opportunity to manage. First at the project and team level and then as a more formal position with formal direct reports and hierarchy. A really good technical sysadmin or programmer may or may…
Continue Readingboto3 (AWS & Python)
I’ve worked through the Amazon AWS CLI commands to create and then to deploy an ECS cluster using ec2 containers and an Application Load Balancer to deploy a docker nodejs app. In bash. Because the straightest line between command line and automation with no wasted motion is bash. Once. But if you want a supportable…
Continue ReadingPoints from Experience
I just had a conversation with a college student, first year, studying computer and software engineering and looking for a broad overview of technology and the field’s past and future. Out of that conversation I’m highlighting some stable pieces of data that have held true over time. automation – automate as you go. There’s a…
Continue ReadingSSH Port Forwarding or Ad Hoc VPN
ssh -i localkey -L local_port:localhost:remote_port user@ip I had to look this up again. I haven’t had to use this in a while, maybe five years? I also wanted multiple ports forwarded, and that works like ssh -i localkey -L local_port:localhost:remote_port -L local_port:localhost:remote_port user@ip And… jenkins host inside remote VPC: ssh -i catalyst -L 8080:localhost:18080 centos@bastion-host-ip…
Continue ReadingBlue Green w/S3, Cloudfront, Route53
I tend to code and architect devops with an eye toward NOT being locked into any particular cloud or service. Netsaint -> Nagios -> Icinga Hudson -> Jenkins VMWare -> Vagrant -> Docker -> Kubernetes -> ECS Everything changes. That ideal cloud you are moving on to right now – will change in five years,…
Continue ReadingReload Rather than Restart Jenkins (Updated)
There is a method in the GUI for Jenkins that tells the Jenkins java process to reload its config from disk. From outside the GUI, where devops and automation live, you can do the same thing through the jenkins-cli.jar. This needed a script to craft the other pieces needed, retrieving a key from vault in…
Continue ReadinginitPipeline_JenkinsPlugin, Open-Sourced
I wrote a jenkins plugin while I was idle between Oath and my current gig. This plugin is a simplification of Oath’s (AOL’s) CICD Discover plugin. Re-written from scratch. Instead of crafting java code in the plugin, I walked it back to its origins, where it sends execution to an external executable. The impetus to…
Continue Reading