Five steps you must take before implementing the DevOps lifecycle
Pieterjan Lambrecht on , updated
Over the past decade, the DevOps approach has gained grounds in the development world, especially amongst start-ups and SaaS companies. Major benefits include a smoother workflow, faster client delivery and higher quality of code. Let’s take a look at five basic steps you must take before implementing the DevOps lifecycle.
Step 1 — Split the monolith
The very first step you should take when taking on a DevOps approach is to modularise and technically split up your code as much as possible. Modularising code is all about putting your code into reusable modules where shared logic is defined. This is especially useful for us, since we have a lot of client-specific code, which reuses code.
Splitting of code repositories is about the splitting up of where you save your code. A lot of industrial companies put their code in a single repository. Ideally however, the code is broken down into multiple repositories, e.g. simply a backend and frontend part. By doing so, both the backend and frontend part can then be tested separately.
For our purposes, splitting up the repository is more interesting, since we can attach specific pipeline actions to it. It also allows us to share client-specific source code with our clients instead of our whole code base. On top of that, it keeps our core product code clean.
Step 2 — Pick your platform
Getting DevOps in the minds of the people requires a central environment to manage your source code and efficiently communicate with co-workers. At Factry, we are staunch supporters of the Gitab platform. Major benefits include a built-in Continuous Integration tool and easy integration with our scrum workflow. To share projects with the open source community, we use its complementary tool GitHub.
As it fits neatly into our development workflow, GitLab halters the need for an extra tool, which is quite important. In general, you should always try to use a small number of tools, avoiding that your workflow gets overly complicated. Thank yourself later.
Step 3 — Install a linter tool
Linter tools or static code analysis tools play a major role in DevOps. They are used to flag programming errors, bugs, stylistic errors, and suspicious constructs as-you-code. Ever since we started using an automated linting tool at Factry, the number of errors in the reviewing stage dropped with 60-70%. As linter tools are very easy to set up and there are many standard configurations available, installing one is definitely a priority when you’re planning on implementing DevOps.
A large number of linter tools are on the market, depending on which programming environment and code language you use. Here’s an extensive list of awesome linter tools for your DevOps pleasure.
Step 4 — Create templates
Why try to reinvent the wheel? In case you already have a pipeline or a testing workflow in place, make sure you can reuse the testing pipeline for new projects. This should be an absolute no-brainer. As future projects can now be set up in a matter of clicks, the initial time investment is negligible compared to the amount of effort they save. Having the templates in place not only speeds up your workflow and delivery times, but equally clears out discussions on best practices.
Step 5 — Use docker containers
Docker containers, as part of our GitLab CI configuration, provide a cloneable build environment. You can re-use these same Docker containers to have the same versions running everywhere, from development into production. Docker compose makes it easy to run multiple containers and Dockstation can be leveraged to use a Docker configuration per project. At the end of the day, this way you have the same versions running in the CI, locally and in production.
Have anything to add to this blog post? Contact me through firstname.lastname@example.org. Interested in working together? Contact our sales team and get a free demo of our software. In case you are up for a new challenge in a DevOps environment, contact our HR department.