7 good reasons to open source your code
Open source software — software that is free to the user and whose source code can be modified and distributed freely — is ubiquitous and offers solutions to a wide range of needs. Open source as a...
View ArticleThe Elephant in the Giraffe House
Photo by Julian Link on Unsplash The Elephant in the Giraffe House I listen to podcasts on my commute, and the a16z podcast never disappoints. On the episode “On Mentors and Mentees”, the guest Ken...
View ArticleThe Half Life of Programming Knowledge
Programming is hard. I relearned this lesson recently. From time to time, I go on a decluttering spree at home, throwing / donating / recycling things I haven’t used in a while. Last week, the bottom...
View ArticleWORA! WORA! WORA !— the Kubernetes stealth attack
Tora!Tora!Tora! was the code word used to signify complete surprise had been achieved in the attack on Pearl Harbor. Photo Credit: Ebdon on Wikimedia WORA — Write Once, Run Anywhere was the term...
View ArticleDesign patterns in orchestrators: transfer of desired state (part 3/N)
Most datacenter automation tools operate on the basis of desired state. Desired state describes what should be the end state but not how to get there. To simplify a great deal, if the thing being...
View ArticleDesign patterns in Orchestrators (part 2 of N) – southbound APIs
This is part of a series on design patterns in building orchestration systems. The focus is on orchestrators found in clouds, data-centers, networking systems, etc, but the principles should be broadly...
View ArticleDesign patterns in orchestrators (part 1 of n) – idempotent operations
Orchestration is a somewhat overloaded term in the context of automation. Generally, it implies a central controller that tries to bring a complicated system to a desired state. There are usually a...
View ArticleA (round)trip with Java and Go
Can you generate Go code from a Java binary jar? This need arose from writing a prototype Ingress Controller for Kubernetes that uses a NetScaler to provide the Ingress function. Another need was a...
View ArticleConsul-template and Citrix Netscaler
Consul-template (consul-template) is a tool that can drive reconfiguration of applications and infrastructure in response to changes in the keys/values stored in Consul. Usually it is used to populate...
View ArticleApple’s iCloud is a multi-cloud beast
Apple device users have probably taken and stored 100 billion photos: In early 2013, the number was 9 billion There are 100 million iPhones in active use in 2015. If each iPhone takes 1000 pictures per...
View ArticleSave money on your AWS bill
A couple of years ago I was confronted with a bill of several hundred dollars because I’d forgotten to turn off some machines on AWS ( I think it was an ELB – elastic load balancer). Since then, I make...
View ArticleAutomated configuration of NetScaler Loadbalancer for Kubernetes, Mesos and...
There are an incredible number of Cluster Managers for containerized workloads. The top clustered container managers include Google’s Kubernetes, the Marathon framework on Apache Mesos and Docker...
View ArticleQuick Tip: Docker Machine on Apache CloudStack and XenServer
There is now Docker Machine support for Apache CloudStack. See @atsaki‘s work at https://github.com/atsaki/docker-machine-driver-cloudstack docker-machine create -d cloudstack \ --cloudstack-api-url...
View ArticleApache Mesos and Kubernetes on Apache CloudStack
Apache Mesos is a cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks. It can run Hadoop, MPI, Hypertable, Spark, and other...
View ArticleFarming your CloudStack cloud
A couple of years ago, I blogged about my prototype of StackMate, a tool and a service that interprets AWS CloudFormation-style templates and creates CloudStack resources. The idea was to provide an...
View ArticleHow HP Labs nearly invented the cloud
On the heels of HP’s news of not-quite abandoning the Cloud, there is coverage of how AWS stole a march on Sun’s plans to provide compute-on-demand. The timeline for AWS starts late 2003 when an...
View ArticleHow to manage a million firewalls – part 2
Continuing from my last post where I hinted about the big distributed systems problem involved in managing a CloudStack Basic Zone. It helps to understand how CloudStack is architected at a high level....
View ArticleHow to manage a million firewalls – part 1
In my last post I argued that security groups eliminate the need for network security devices in certain parts of the datacenter. The trick that enables this is the network firewall in the hypervisor....
View ArticleCloudStack Basic Networking : frictionless infrastructure
Continuing on my series exploring CloudStack’s Basic Zone: Back to Basics Basic Networking deep dive The origin of the term ‘Basic’ lies in the elimination of switch and router configuration (primarily...
View ArticleCloudStack Basic Networking : deeper dive
In my last post I sang the praise of the simplicity of Basic Networking. There’s a few more details which even seasoned users of CloudStack may not be aware of: Security group rules are stateful. This...
View Article