How we at Neoflex develop the expertise of DevOps
After selecting DevOps within Neoflex as a separate business line, the team began to actively increase expertise and share the sources of knowledge with each other. In this post I will share with you my personal experience of immersion in the topic and the most interesting resources.
The main sources of information on the topic are the following:
- Internet resources - both independent and developer companies
- Articles and presentations
- Training programs - both paid and free
There are a lot of resources on DevOps on the Internet. They can be divided into several sections.
Independent Internet resources
Independent Internet resources publish general news on trends in the development of information technologies related to DevOps, and operate with high-level information on this topic, allowing you to always be aware of the latest trends and IT events. For system architects and management, the most interesting can be:
devops.com is one of the largest DevOps resources. On it you can find the latest news from the IT world, articles on various topics (clouds, continuous integration and delivery, container technologies, Big Data, security and much more), daily webinars, an extensive selection of topical literature, thematic chats with high-class specialists, structured lists of companies and products for solving DevOps tasks, and much more interesting.
sdtimes.com is a major news resource on software development in general, which broadly covers the topic of DevOps and its related areas (clouds and others). In addition to news and articles that can be found on the site or receive in the form of regular mailing, webinars about DevOps and microservices are quite often arranged by speakers from leading companies in the industry.
dzone.com is also a development news site, which is an aggregator of user-generated content. More than a million developers are registered on the site, regularly posting news on the most pressing topics in software development: processes, technologies and approaches to implementation. The level and interests of the authors are very diverse. Here you can find conceptual materials and practical guidance on the use of specific tools. Due to this, this site may be of interest not only to high-level IT representatives, but also to technical specialists.
www.networkworld.com - this news site focuses more on modern networking technologies, as well as on the creation and operation of information systems and data centers. But the main news of the world DevOps and information technology in general are also presented here. The most interesting will be people who are actively working with the design of infrastructure solutions.
www.sys-con.com is a rather archaic news site on which, in spite of dubious design decisions, actual news appears the fastest. If you want to be aware of everything (even not very significant), what is happening in the world of DevOps, then this site is perfect.
Developer Resources Online
Internet resources of developers who create technologies for implementing DevOps processes are of great interest when diving into this topic. In addition to detailed documentation on their products, you can find a lot of interesting things on their sites - blogs, webinars and much more. These materials are, as a rule, closer to practice, and to a greater degree will be of interest to technical specialists. But there you can also find conceptual things that are interesting to a wider circle of people. I will cite those sites where I most often came across interesting content:
Red hat- I have a particular sympathy for this company and their policies (although their takeover by IBM causes great concerns about the future). But if we discard subjectivity, then in the bottom line their Internet resource can offer a lot of interesting things. For registered users (especially with the “Developer” role), an extensive knowledge base is available on their products and technologies. These are microservices, container technologies, configuration management, Service Mesh, virtualization and much more. In addition to the knowledge base, there is a blog (and there is a lot of interesting information on DevOps there, and not only on Red Hat products), regular webinars on developed products and their new features (it so happened that while writing these lines I received an invitation to a webinar " Implementing Red Hat OpenShift on Amazon Web Services webinar with live Q & A, which will be held on December 5) and an extensive community. It is also worth mentioning that for accounts with the “Developer” role, Red Hat products are available for download completely free of charge, and if you wish, you can not waste time on installation and “feel” them right in the cloud. Tale for techie :)
BlazeMeter is a division of CA Technologies that develops a cloud platform for running functional and performance tests. They have an interesting blog about performance testing with a comparison of various technologies. They also talk about embedding various types of testing into the pipeline of continuous software delivery and the use of containerization technologies. On similar topics regularly hold webinars, recordings of which are also available for viewing. I became interested in BlazeMeter by the nature of my work (in the past I worked in the load testing team). But I should note that CA Technologies also has a large number of products, one way or another connected with DevOps, with its blogs, webinars and knowledge bases. These materials are available on the official website (/).
Cloudbees- a developer company that develops Jenkins continuous integration server and sells various products based on it (Jenkins cloud version, DevOptics for visualizing the value stream using Jira, Git and Jenkins integration and some others). He runs a rather interesting blog about DevOps and continuous software delivery, and with a clear separation of materials for managers from materials for technical specialists. Sometimes they hold webinars dedicated to their products and solutions, but more of an advertising character. They have a very decent knowledge base on Jenkins and related products with high details: from the intricacies of the architecture to the various options for using specific functions. From the cool: conduct their own DevOps radio, where, in the form of podcasts for pleasant light music, they tell about the trends in the development of DevOps and continuous software delivery. Listening to him is probably the most pleasant way to stay in trend.
Puppet Labs is one of the pioneers of the DevOps movement. Best known for publishing an annual report on the state of DevOps in the world. In addition to the report, their site contains a truly extensive collection of various materials on the topic: articles, videos, recorded webinars and future webinars, presentations, podcasts, e-books, analytical reports, and even infographics. Most materials are very high quality and really deserve your attention.
Netflix - does not quite fit the definition of a company-developer, since the main type of their activity is the creation and streaming of serials. Nevertheless, in the IT community it was she who became the pioneer of microservices and an example to follow in terms of corporate culture and innovation. This site belongs to their division, which is responsible for the development of open source technologies. There are a lot of technologies, and they are grouped by tasks. Some links lead to the corresponding GitHub repositories, the rest to individual project pages, where you can find training videos, examples of use and guidelines for participating in the development of the project.
Articles and presentations
Reading current articles and other similar materials on the Internet remains one of the most effective ways to gain knowledge about what is happening in the industry. The above resources are great for this. Here are some articles, presentations and other materials that seemed to me especially interesting and, in my opinion, it makes sense to read them to all those interested in DevOps topics (although it is worth noting that such materials quickly lose their relevance):
Microservice 4.0 Journey, Daniel Oh - a very interesting presentation on the history of the development of microservices and related technologies. In addition to historical background, it describes the current situation in the industry, as well as forecasts for further developments. It should be noted that I have this site opens only when working through a proxy.
MLFlow: Platform for Machine Learning Lifecycle, Mani Parkhe & Tomas Nykodym - another presentation from the same resource, but on the topic of machine learning and working with models based on it. It describes the product MLFlow and the approach to its use to ensure a convenient life cycle of Data Science models. Of particular interest will be those who want to exploit such models in a productive environment.
DevOps 2.0 for Digital Transformation, Jesús Pérez Franco is a small article on DevOps development. The key idea is that the process should cover not only the development process, but also the entire chain from the emergence of ideas on the business side to receiving feedback from end users and extracting benefits from it. The idea is not very new, but someone could miss it. It's time to move from DevOps to BizDevOps :)
Smooth Sailing with Kubernetes, Scott McCloud is a funny and ironic comic about Kubernetes and its advantages. It does not pretend to the depth and breadth of coverage, but it can quickly and easily explain to a person who is not in the subject, why this product is needed and why there is so much excitement around this platform in the IT world. There is also a Russian version .
PERIODIC TABLE OF DEVOPS TOOLS - I can not give a link to the periodic table of DevOps tools from XebiaLabs. They are divided according to their purpose and distribution model. For each given a description and links to official sites. In addition, each tool can be added to the pipeline generator and create a visual CI / CD diagram. It shows all the phases and types of tools that need to be taken into account when designing the deployment pipeline, so it can be effectively used to optimize your current processes and create presentations.
There are a lot of literature on this topic and it can also be divided into two categories - conceptual and technical. The first includes books that describe basic ideas, whether infrastructure as code or mapping, and the second, literature on the use of specific approaches and technologies in practice.
“DevOps Philosophy. The art of IT management "(Jennifer Davis, Katherine Daniels). One of the first books on this topic that appeared in Russia. It focuses more on the cultural component of DevOps - breaking down barriers between development teams, eliminating the policy of mutual recriminations, and encouraging cooperation in achieving common goals. The book may not be very interesting to technical specialists, but managers can be given useful insights (especially those who are not familiar with the topic) and will definitely appreciate the abundance of excellent quotes, for example, “It's not about whether DevOps is formally executed, but about problems are identified and solved. ”
“Project“ Phoenix ”. A novel about how DevOps is changing business for the better "(Gene Kim, Kevin Behr, George Spafford). Similarly to the best seller," Aim. The process of continuous improvement "this book presents its ideas in an easy for the reader artistic form. The heroes of the novel are faced with typical problems for the IT industry and use the basic DevOps approaches to solve them, gradually coping with the crisis and moving from a dark yesterday to a bright tomorrow. The authors do not claim to depth, but thanks to the format for the initial acquaintance with the topic fits perfectly.
“DevOps Guide. How to achieve world-class flexibility, reliability and safety in technology companies ”(Jez Humble, John Willis, Patrick Debois, Gene Kim). This book was written by leading DevOps experts in the world, including the author of The Phoenix Project, Jean Kim and one of the founders of the DevOps movement, Patrick Debois. At the moment, it is considered to be the best and most complete book on DevOps in the world. Without undue modesty, I would like to note that Neoflex took direct part in the translation and publication of this book in Russian. Experts from the Engineering Practices business line, including yours truly, read and reread the draft translation, ruled, argued and ruled again. The results of this work in the form of a Russian-language edition can be ordered on the publisher's website.and found in bookstores. Read and be inspired by health.
“DevOps for IT Managers” (Oleg Skrynnik). The author of this book is one of the recognized experts in the field of DevOps in Russia, as well as managing partner of Cleverics. In addition, Oleg regularly participates in leading DevOps conferences (such as DevOpsDays) in Russia and translations of foreign publications on the same topic (this will be discussed a little further). In this edition, all the key concepts and ideas of DevOps are collected in the most intensive textbook about what a modern manager needs to know about this topic about how to quickly and effectively “implement DevOps” in your company or on a project. It can also serve as a good alternative for those who are too lazy to read the “Guide to DevOps. How to achieve world-class flexibility, reliability and safety in technology companies, differing in substantial volume.
“Running and scaling DevOps in the enterprise” (Gary Grover). This book was published by Cleverics, which was discussed in the previous paragraph. Its author touched upon a very interesting and important topic - the scaling of DevOps processes, which are traditionally described for small projects and teams (“two pizzas” teams), to the level of divisions and processes of a company or an enterprise as a whole. It may be useful for top management of companies to build a digital transformation strategy and to scale DevOps from individual projects and areas where it has been possible locally to transform the development process into an organization as a whole.
On many technologies related to DevOps, quite a few different literatures have already been written, so here I will present those publications that seemed to me to be basic for immersion in this topic:
“Git for a professional programmer” (Scott Chacon, Ben Straub). Any software development is based on writing source code that needs to be stored somewhere and, preferably, versioned. In modern reality, it is best to use Git for these purposes, especially if your team includes more than one developer working on a certain part of the functionality. This book describes in detail the Git version control system, code versioning process, basic commands and advanced utilization features, as well as a comparison with other modern version control systems. After reading it, you can proceed to the next step - setting up continuous integration.
"Jenkins: The Definitive Guide" (John Ferguson Smart) - a large number of products, both cloud and stationary, have been created to configure continuous integration, but I would recommend using Jenkins. Besides the fact that it is free (not counting the cloud-based and enterprise versions from CloudBees), under it are written over a thousand plug-ins, allowing to solve almost any problem when creating a CI / CD. This book describes in detail the architecture of this technology, its principles of operation, and the possibilities of its use, including Jenkins maintenance procedures and much more. When the understanding of the CI / CD processes is formed, you can start exploring container technologies.
"Using the Docker" (Adrien Mouet). Among container technologies, Docker is currently leading the way. A lot of literature has been written on its use and optimal use. But it is this book that has gathered in itself an optimal selection of materials for a full acquaintance with this technology: from a description of the principle of containerization and a detailed review of all the main Docker commands to building a simple microservice of several components and using specialized tools for debugging it. Also in this book is described the orchestration of containers and popular means for its simplification, but I would recommend to give this topic (as one of the most important for understanding the principles of building microservice systems) a little more attention. Do not limit yourself to reading this book, but study additional literature,
“Kubernetes in Action” (Marko Lukša), “The DevOps 2.3 Toolkit: Kubernetes: Deploying and managing highly-available and fault-tolerant applications at scale” (Viktor Farcic), “The Kubernetes Book: Version 3” (Nigel Poulton). Kubernetes, in fact, won the container orchestrator war, leaving the rest far behind. Better than this, only orchestrators, who extend its functionality (such as OpenShift, IBM Cloud Private and Rancher), cope with this business. Therefore, an understanding of the principles of Kubernetes and the objects with which it operates is vital when working with cloud and microservice systems. The system is VERY actively developed and really a lot of literature is published on it, so here 3 books are indicated. After reading them, you will get a comprehensive understanding of the Kubernetes platform, its capabilities and features, and will also be ready to develop and operate containerized applications. In addition, the book is written very decently and is read in one breath, of course, if this topic interests you. But if you need to exploit not only container applications, but, for example, data processing tasks in Hadoop or standalone applications, I recommend paying attention to Apache Mesos.
Mesos in Action (Roger Ignazio). If you are faced with the task of building a data center and centrally managing its resources, then I recommend paying attention to Apache Mesos or its updated DC / OS distribution. This book is devoted to working with this technology and explains the principles of building a Mesos cluster, creating a common pool of resources, as well as creating and launching frameworks to allocate them from the pool for specific tasks and applications. Mesos has created many ready-to-use frameworks (such as Marathon) that allow you to run the most popular types of tasks - Docker, Spark, Jenkins and many other containers. Among other things, Mesos can use Kubernetes as a framework for orchestrating Docker containers, and DC / OS has a directory of services,
DevOps conferences are held in many countries around the world, including Russia. I will give the most important and interesting in terms of content:
DevOpsDays is the largest DevOps conference in the world (more than 160 events held), held annually in many countries around the world, including Russia (in recent years in Moscow). One of the organizers is Patrick Debois - one of the founders of the DevOps movement. The program of the event includes reports, master classes, open sessions and various contests for participants. Among the speakers, as a rule, there are representatives of local companies and a small number of guests from foreign companies actively exploiting and developing technologies and DevOps approaches.
DevOps Pro Moscow is also a very worthy conference on DevOps, held as much as 3 days in Moscow. The program includes speeches by a large number of speakers, including foreign ones, and master classes from representatives of leading Russian and foreign companies that actively promote and develop the DevOps theme. The only minus is that the reports go to 3 streams, so there is a high probability of experiencing the agony of choice - many topics of speeches are very interesting.
DevOops is not a large-scale conference like the previous two, but with really high-profile speakers, mostly from top global companies in the DevOps field. Held in St. Petersburg. The program of the event includes only presentations by speakers and backroom discussions, but on the most topical issues there are only the latest trends in the industry and its future.
Agile, DevOps, ITSM - this conference is dedicated not only to DevOps, but also to other relevant ways of organizing and managing workflows in IT. Focused mainly on managers - technical reports are practically absent. The program includes speaker reports and technological stands of partner companies.
The DevOps theme is inherently divided into a cultural and technological part. Despite the fact that both of them are equally important, training, as a rule, is carried out precisely in the technological part (although there are exceptions). Next will be a list of free and paid platforms on which you can pull up your knowledge in this direction.
Not only are most of the technologies associated with DevOps available to the public, but for many of them the main contributors of projects also provide free training! Fantasy? Now I will prove that no.
Red Hat - I already wrote about this company above, but it is worth going back to it again and praise the training system that they made available by subscription for partner companies. The system is really good: at the disposal of the subscriber there are more than a hundred courses on various Red Hat products, as well as conceptual courses for managers and salespeople. The duration is very different - from half an hour to several days. The presentation of the material in different courses is different. Technical courses are a set of lecture materials on various aspects of the use of the product, to which the course is devoted, interspersed with laboratory work and surveys of intermediate knowledge control. This training system does not require additional fees for passing courses and exams, and therefore got into the free section.
CloudBees - the main contributors of Jenkins, in addition to its cloud version and all sorts of extensions of functionality, also provide a detailed knowledge base on its design and use. Including in the form of online courses dedicated to the most popular server for continuous integration. In the presence of courses on the basics of Jenkins and the construction of pipelines for continuous integration and delivery of software with it, as well as an introduction to the use of DevOptics.
In addition to the above, Puppet Labs - the pioneers of the DevOps movement offer to learn how to use their solution for configuration management and implementing the “Infrastructure as a code” principle for free. There are general courses and courses specific to Open Source and Enterprise versions. Courses are short - the duration does not exceed one hour. Become a specialist in configuration management for the day :)
Chef - craftsmen from Chef have created, perhaps, the most creative online courses for teaching purely engineering technologies. Several dozen courses, called Learn Chef Rally, designed in the form of stylized rally tracks, are also divided into smaller modules with different levels of difficulty. In addition to this, they recorded a few dozen short video demos on the use of Chef, related technologies and interaction with the clouds. Well, not well done?
Microsoft Virtual Academy - Microsoft has its own virtual academy, in which the industry giant provides video courses on working with their technologies. They include dozens of courses associated with DevOps and building continuous software delivery processes using their products. I would not recommend watching them for no particular reason, but if the evil fate in the face of a conservative customer or superiors pushed you with their technologies, then these courses can be extremely useful.
DevOpsInstitute is one of the largest online organizations for training high-level ideas and concepts for DevOps. Here they offer to take courses and be certified by specialties that have become relevant in modern realities - from the DevOps leader to the owner of the process (in the Agile methodology). All the freshest for fashionable and advanced IT specialists.
CloudBees - Again CloudBees. Yes, to them I am also particularly located (probably, because Jenkins has not ceased to please every year for its flexibility and thoughtfulness). In addition to related products, CloudBees also conducts certification for Jenkins knowledge and offers to take a paid course in this case, during which students are prepared for successful certification.
Puppet Labs - in addition to free courses, Puppet Labs also offers paid courses with an instructor for deeper immersion in their product. There are several options to choose from with a different orientation: from simple immersion into Puppet for beginners, to targeted courses for practicing engineers and system architects. These courses will be especially useful if you want to get certified for this product.
Chef - Learn Chef Rally is only part of the training program Chef offers. In addition to independent online courses, there is also the opportunity to get online training with an instructor, personal training with a trainer in one of the accredited centers, as well as private training in any place convenient for the listener. In addition to this, by itself, certification is carried out.
Edureka is a portal that specializes in learning various fashion trends in IT, such as big data technologies and cloud computing. There are not very many courses, but all are quite relevant: Docker, Kubernetes, Git and DevOps in general. Most come with certification, which is always nice.
That's all. I wish you all the curiosity, motivation for self-development and success in this interesting lesson!