How IT Svit uses DevOps for Machine Learning frameworks
Augmenting the daily IT operations with Machine Learning is the next frontier, the next way to obtain and secure the competitive edge. Here is how we do it at IT Svit.
As Dr. Werner Wogels, Amazon CTO has pointed out during AWS Summit London 2018 last May, the IaaS has largely matured nearly 10 years ago. AWS still works on improving their offers, yet there is no principal difference between M2 and M5 EC2 instances in terms of functionality. The same goes for the Google Cloud Platform and MS Azure — the playing field is quite level nowadays in terms of hardware, as every business has equal access to the same level of IT infrastructure and cloud resources.
“We matured our IaaS services way back in 2009/2010.” © Werner Vogels, Amazon CTO
During the same event, Dr. Woegels unveiled the new field of competition for the Cloud Service Providers and customers alike — implementing the Artificial Intelligence (AI) & Machine Learning (ML) algorithms across the board. As a matter of fact, MS Azure has 8,000 people in an R&D department dedicated solely to developing and improving Azure AI services and products. This highlights the tremendous importance of AI and ML in modern DevOps strategies.
IT Svit has 2 main ways of combining DevOps and Machine Learning:
- Using DevOps best practices to design, implement and maintain the infrastructure required for training and operating the Machine Learning models, which are used in Big Data analytics projects of our customers.
- Using Machine Learning algorithms in our own AIOps processes to automate the mundane operations and automatically apply the solutions for the repetitive tasks.
Both approaches are equally important for IT Svit, so we describe them in some more details below.
Using DevOps for Machine Learning
When a business wants to make use of the Big Data at their disposal to obtain useful business insights out of it, they need to implement a Big Data solution. This requires a certain infrastructure, that has to be designed, provisioned, configured and maintained. This infrastructure should include the following parts:
- Object storages for gathering differing data types,
- Distributed databases like Cassandra, MongoDB or Redis for storing the normalized information,
- AI features from AWS. Azure or GCP to train the appropriate ML model
- Monitoring, logging, alerting, and backup tools, etc.
Thus said, these are quite common parts for any IT Svit project, so our dedicated DevOps team is able to compose and set up the needed system shortly, as well as running it afterward.
Using Machine Learning for DevOps
The second side of the medal is using the Machine Learning algorithms to augment our daily operations and optimize the performance of the cloud infrastructures for our clients. We covered this in more detail in the recent article about how IT Svit uses AIOps in our projects. In short, our bespoke ML solution gathers the data on all the incidents and the solutions that were applied to them.
This way, in due time the admins will have to only approve the suggestions made by the system (like launching additional instances to deal with a sudden workload spike, etc.) Once the accuracy of predictions grows above 95%, we will allow the system to operate autonomously, thus enabling truly self-healing infrastructures for our clients.
Final thoughts on using DevOps with Machine Learning frameworks
To sum it up, Machine Learning has matured and is now production-ready. Applying it alongside DevOps enables in-depth monitoring and management of ongoing operations, thus helping the companies save significantly on infrastructure maintenance. The same works the other way, as using DevOps approaches ensures quick and reliable infrastructure provisioning and stable operations for Big Data solutions that use Machine Learning models.
Would you like to combine DevOps and Machine Learning in your projects? Please share your thoughts and experience with us!