published November 20, 2020
Any craftsperson will tell you that you need to choose the right tools for the job in front of you. At Verifa, we take the same approach to developing software. We believe the nature of the job should dictate the choice of tools, not the other way around. That's why we're vendor agnostic and focussed on using whichever tools we think will deliver the best solution.
It's why we work with all three major cloud providers. We have no bias towards any one provider and we'll always go with the cloud option that's right for you. That includes all major providers like AWS, GCP, and Azure, but also smaller vendors like UpCloud. We're comfortable working with your cloud provider of choice, whoever that may be.
Our approach to infrastructure can be described in three words: automation, automation and automation. We believe that infrastructure should be immutable and declared as code so that it can be provisioned automatically. We like to use Terraform where possible and Rancher for multi-environments and on-premise Kubernetes management. If we need configuration as code we'll tend to use Ansible.
Most of the team prefer to use Kubernetes for orchestration, but it can be overkill in small use cases, especially if it's being managed on-premise. We'll advise you on whether Kubernetes is required in your case and suggest lighter options like Nomad if we think they'll work better for you. And if you're using Docker Swarm we can help you there too. Maybe even with a migration?
Modern monitoring and dashboarding tools have made us all more proactive in diagnosing issues. We work with the usual data stores like Prometheus, InfluxDB and ElasticSearch, and build easy to use dashboards on top of them with either Grafana or Kibana.
Our idea of GitOps is that whatever is declared in Git should be automatically reflected in the infrastructure and environment that it provisions. At the beginning of the Verifa journey we were focussed mainly on Continuous Integration and Continuous Delivery. But then GitOps tools like FluxCD emerged, employing a pull-based approach to provisioning, and we became really enthusiastic about Continuous Deployment. This modern GitOps approach helps us to achieve a balance and great clarity between making releases (Continuous Delivery) and maintaining the deployment state (GitOps).
HashiCorp is a company rather than a subset of tools, but we love the HashiCorp stack and it deserves its own mention when we talk about our technology preferences. We've already mentioned how much we like Terraform and Nomad, but we are also big fans of Vault, Packer, Vagrant and Consul. If you are a fan of HashiCorp you will find many friends at Verifa.
From recruitment to product launches, it proved to be a most eventful 12 months
How to know your code is always in a releasable state
This article describes the problem of automatically deploying code to a private GKE cluster and my workaround solution to it.
By submitting your email you agree to our terms and conditions.
We will never share your email with anybody else.