Jenkins World 2017 is nearly upon us, and I must admit that I am not actually presenting a talk at the event. I haven't been speaking as much this year, compared to 2016, since I have been very busy building the Evangelism team at CloudBees. Three new hires and one transfer later and it's already time for Jenkins World! Eep!
Azure has started to grow on me. I could imagine myself, a couple years ago, lamenting their poor non-Windows support, clumsy user interfaces (and APIs), and overall "beta dog" performance. Fortunately for cloud users like myself, Microsoft is hungry, and has heavily invested in Azure, becoming very competitive in a very short amount of time. One aspect of Azure I didn't expect to like however, was their web UI. If you're already familiar with the AWS web dashboard, you're probably accustomed to...low expectations, so just about any web interface designed later than 2008 would be an improvement in comparision. Fortunately for me (and you if you use Azure), the Azure "blade UI" was designed more recently, and was clearly created by a team of thoughtful UI designers rather than engineers.
I consider myself one of the world's foremost experts in terrible ways to use Jenkins, partially because my brain is awash with awful ideas, but also because I have been around the project long enough to see hundreds of different "clever" (ab)uses of Jenkins. Today I thought I would share something I came up with a few weeks ago which, to date, might be one of my more deplorable creations.
Jenkins Pipeline has rapidly become one of my favorite tools in the entire Jenkins ecosystem. Part of my job at CloudBees has been advocating for its use, but I can confidently state that I would be a passionate user of Jenkins Pipeline regardless of who was paying me; it is simply better than what preceded it. As Pipeline has evolved and matured, I have pushed for its unilateral adoption within the Jenkins project's own Jenkins environment. Wielding Pipeline as a developer is one thing, managing infrastructure which utilizes it is quite another.
One of the things I have worked on this week has been documenting the "In-process Script Approval" and some of sandboxing features in Jenkins Pipeline. While waiting for some pull requests to be reviewed I had the thought "how bad could disabling the sandbox be?"
Recently Microsoft announced an interesting new addition to their public cloud offering: Azure Container Instances. Azure Container Instances are fast and billed by the second, which is quite compelling on its own. They are interesting in that they provide two novel levels of container orchestration, the first is rather basic:"take this container and run it." The second is an integration with Kubernetes which allows the Kubernetes cluster, most likely one an Azure Container Service, to schedule container workloads through Azure Container Instances rather than on the existing Kubernetes agents )VMs) via the "ACI connector." As this service matures, this could enable some very novel load-based bursting, or cost-saving, deployment patterns on top of Kubernetes in Azure.
Automation is a wonderful thing, and for the past eight or so years, I have been a heavy user of Jenkins as my hammer of choice for just about every nail I needed to automate. There's one dirty little secret about Jenkins however: it's a godawful nightmare to try to automate.
This year's growing season has been the most challenging to date, partially due to the increased square footage, but also due to events outside of my control. Thus far: deer have devoured the tops off some of my strawberries and bush beans. The native soil in the Sebastopol is so chock-full of grass and clover seed that the only way the beets have had a chance has been to tediously hand-weed the bed. When transplants should have been soaking up sun to kick-start growth, the weather turned and stalled growth with sporadic days of rain. Once, it hailed in the west crop.
Based on my records, which is really just an orange spiral notebook, I have been gardening for a bit over three years. During that time, I have learned a tremendous amount about the biology that sustains us, and the tasks necessary to produce edible, and at times even tasty, food from soil, seed, and sunshine. This season is my most ambitious yet, I added an extra 200 sq ft. in the West Crop and I planted a variety of plants which I've never planted before including bush beans, summer squash, potatoes, leeks, beets, pumpkin, strawberries, okra, brussel sprouts, and scallions. Despite working at a frenetic pace to get everything going, I have had time to reflect and wanted to share some of the motivations for my gardening zeal.
This season I have been expanding my gardening with more variety, which I mentioned in my last post, and now with some more space. Thanks to a family member, who has generously granted me use of part of her property, I have prepared and planted a 20x10 foot plot with additional vegetables.