DevOps is not a way of programming; it is a way of solving problems. It is the glue that holds R&D and IT Operations together.
DevOps is not a department; it is a mindset that the organization takes on. Additional staff is not needed, nor is there a need for reorganization. A few tools are needed but not a shift in how the technology organization views itself and how it takes responsibility for technology as a whole.
DevOps is the glue that holds R&D and IT Operations together
DevOps joins at the point of deployment automation and continuous integration. On perspective is that DevOps is responsible for the code and product catalogs. This tends to lean more towards the IT Operation staff, but it is a close tie to your senior developers or architects.
Proper DevOps requires proper monitoring as it points to problems.
Those problems are then approached by a cross functional team in order to solve the problem the fastest for the customer. That customer could be a developer in this model. The developer requires use of their development servers and the network in the building. If one of those critical pieces of infrastructure is down, the organization is losing money.
Development is production. If you are not shipping a product, someone else is, and that is what DevOps is all about. The beautiful thing about it is it can integrate with any SDLC an organization has. Today it fits incredibly well with Agile. That is why you see it in Agile shops. But it is hard to be a true Agile shop and not have a proper DevOps mindset with the proper monitoring tools.
When it comes to monitoring, and it really does not matter if you are running on Google Cloud, Azure, AWS, or you are self-hosted/collocated, there are three primary buckets for monitoring of systems: Metal -> OS; Application Performance; and Database.
Metal – OS
When monitoring Metal -> OS, it is important to also consider the logs that are of most concern. In production systems, security logs, system logs, and application logs are all important. Not all messages are important, but all areas are important.
Application Performance Monitoring
Application performance monitoring (APM) is a great tool for any application, especially consumer facing applications. It alerts you at granular levels where you are having performance issues. It also highlights where in the infrastructure those slowdowns are happening. The server may be taking too long, the transmission rate between servers could be slow or the database could be causing the latency. The best thing about APM, is if the problem is the application it will get you down to the function or method within a class, to sometimes even the line of code. If the problem is not presenting in the application, it will immediately tell you which other logs and alerts to look at.
When it comes to monitoring the database, you want to actively look at and alert around unauthorized access, long running queries, and so many other things. Data has become the asset of every organization. The monitoring and emphasis that should be placed on that data is worth consideration.
If you think that DevOps is Azure vs AWS vs Google Cloud, give us a call. Our team is fully equipped to discuss your options, pricing, features, and cons of each of the cloud service providers. Depending on your size and what you are trying to accomplish, there are many options available and many pricing models that we are very familiar with here at TechCXO.