DevOps often come from either programmers (Dev) or admins (Ops). It turns out that this is a mixture and culture of different directions, so the engineer has to study new devops technologies faster than an average IT specialist. There is also an overlapping dependence on specific technologies used in the project.
Computing resources are the basis on which everything is built. If the choice was made on Amazon. (as in most cases), then wait for a discount and buy a course on AWS for $ 10. It will give you an overview of services and resources. To automate Infrastructure-as-Code deployment and support, use the native for AWS CloudFormation – it will be easier to start and always up-to-date. If not “Amazon” or do not want a vendor-loc, then use Terraform.
After the “grid has been spread”, the instances have been raised, you need to pack the application. Here, containerization helps us. This is an area where Docker rules. Start with a simple image creation and container deposition and move on to clustering and services in Kubernetes as your business requests.
To make the management and configuration of the server/services transparent and standardized, use the tools for config-management. My favorite, especially for beginners, is Ansible. Study the examples on Ansible Galaxy and try to modify them on your routine tasks. The alternatives are SaltStack or Chef.
The old Zabbix will help to track and maintain services, if not already implemented. Also look at the newer ones: Prometheus or TICK Stack. The main task of Devops is to speed up the delivery of the product from business to consumers. Automation is only one of the main means, not an end in itself. CI/CD, blue-green, Phoenix, Canary Deployments are also the means that arise as needed. To feel it, to understand the philosophy of DevOps culture, will help classic different books.
Hints & tips
- Do not make up bikes, look for popular solutions to problems, so it will be easier to support not only you.
- Don’t make it harder – make the code clear and simple, so that even a novice person can quickly figure it out. DevOps is a team, not a single superbrain.
- Automate only what works really well and will be used regularly in the future.
- Implement new technologies only if they really work in the future. An architectural error is the most expensive.
In fact, there are a lot of resources on DevOps topic now, it’s difficult to recommend something specific. The main thing is not to stop the process of learning new technologies and fixing the current ones. For all my experience I have read only one book by Jez Humble, David Farley. It is very easy to read and will be understandable for beginners. It still uses examples of old software, but all principles will be relevant today. It has helped me to structure the already available knowledge. The rest is practice, relevant articles on the topic, documentation and, of course, colleagues.
At the moment Devops is considered a serious philosophy that can help a company to grow up quickly. If you are interested in development, it is important to try to implement this system in your company. This will allow you to solve many different problems and do everything you need to do so that you can eventually find the right solutions in this sector. In the future it will be possible to get more interesting results, which will help your company to develop and implement new technologies. The Devops system will help you solve this issue and give you some new tools that you can use in your project.