First linkdump 2019, it was a busy year until now, with a lot of new topics and tools. Here is a short list of posts and articles I have read the last weeks. A quite interesting tool (basic css) for quick web pages: kognise/water.css Devops In Devops we do a lot of scripting, often with bash. Here is a good article on pitfalls. BashPitfalls - Greg’s Wiki Security More and more important, you can’t start too early implementing security. The DevOps Security Stack - DevOps.com Announcing GitLab for DevSecOps
For GPN19 I prepared a second talk on Documentation with any Editor. The talk was based on a previous one from Froscon 13, but the pipeline tooling changed. This time there was a technical issue during the recording and so there are only the slides available, but you can still watch the video of the Froscon talk: Froscon 13: Documentation with any Editor All scripts and the complete pipeline definition can be found in the GPN19-documentation Gitlab Repository. tl;dr I use Asciidoctor for documentation for years. It’s just easy to write, has more options than Markdown and I create all kinds of output for colleagues, customers or the web, just from one source.
In the first two parts of this little devops series, I showed build templates with Packer and deploying virtual-machines with Terraform. Now we want to install some more packages on our new servers. tl;dr I started using Ansible for deployments some years ago. For example I showed deploying IBM Connections at Social Connections 12 in Vienna. For more details on the functionality, have a look at the post How Ansible Works Ansible uses plain ssh and doesn’t need any additional server or client component. You can run Ansible as a separate task in your deployment pipeline, or add it as post-provisioning task to Terraform.
My last article showed how to build a server template with Packer. Now we want to use this template to create some servers on VMware vSphere. DNS will be registered manually and all IP addresses will be defined as fixed in the config files. This code is tested with Terraform 0.12. tl;dr Terraform provides a good way to implement immutable server life cycle. Immutable means that servers aren’t changed, they get destroyed/deleted and created again when you change something. Immutable servers have a big advantage that configuration drift will not take place.
The last months I built a lot of environments for tests with IBM Connections Componentpack, Rancher, plain Kubernetes, IBM Domino and some more. In former years, I deployed single virtual machines, cloned them and created snapshots to "easily" jump back in cases of errors. Then I found Packer, which helped me to automate the first virtual machines on my local notebook. Now I use Packer to create templates for VMware vSphere, which then are deployed and multiplied with Terraform. Terraform needs some packages installed in the template, that it can provision virtual machines on vSphere. Open VM-Tools