There used to be a saying that the best engineers are sitting with their arms crossed and feet on the table, just watching everything purring along. The Holy Grail of Adminning, so to speak.
When we take a good look at ourselves: the last time we could say that we had nothing to do, well, that's a while back. Usually the day brings a boatload of work. And when the day is over you can be sure that the next day, there will be a fresh load coming your way.
For a lot of engineers the pile of work builds up by calls. A good deal of the calls we get at Solvinity are new releases of customer software. A lot of our customers just hand over a manual and an install package (be it a Drupal site, WordPress, dotnet application, whatever in a zip or tarball) with the deployment instructions and off you go.
Today is the day we say: NO MORE!
But no worries, what we mean to say is: yes we’ll do the work, but we’re going to do it a lot smarter! With arms crossed, feet on the desk, and watching it all purr along.
One of our customers runs weekly sprints with quick release cycles. Multiple deployments per day for the same environment are no exception. If we had to do every release manually we’d be stretched for time, to say the least. And a big requirement for this customer was a ‘fire and forget’ solution for a deployment.
We started designing our logic per application, and learned as we went along. The final solution is based on Rundeck and Ansible and touches almost every part of the customer’s ecosystem. We documented our internal development workflows, versioning methods and project layouts like how a repository is structured, how we build up the inventories, customer playbook examples, Gitlab-CI hooks, and a LOT more. A big plus is that the agreed upon workflows forces both parties to keep each other in the loop when processes change, something that doesn’t always happen when one gets swayed by the issues of the day. This way we keep tabs on the environment, and make sure everything is done in the same manner throughout the entire DTAP street. At this point in time the customer is actively deploying on their environment, multiple times per day, without causing any problems or incidents whatsoever.
But wait! What about call logging? How do we keep our Security & Compliancy team and the auditors happy? We’ve got that covered! Every deployment action is logged. Every. Single. One. Automagically. You’re building an MSSQL cluster? Awesome! Fill out the Ansible playbook, and our code will ‘auto-magically’ CREATE the cluster in our logging system, fetch free IP’s, follows cluster logic, etcetera. And since it’s all desired state, you can use the code and play it again and again.
We’ve got a lot handled, but we’re not there yet. We’ve got next steps planned. For now, I hope this gives you some insights on what we’re doing at Solvinity.
Questions? Just ‘call’!
Dennis Storm - Customer Engineer Linux at Solvinity