A Survey of DevOps Concepts and Challenges <s> Tools for monitoring <s> Internet companies such as Facebook operate in a "perpetual development" mindset. This means that the website continues to undergo development with no predefined final objective, and that new developments are deployed so that users can enjoy them as soon as they're ready. To support this, Facebook uses both technical approaches such as peer review and extensive automated testing, and a culture of personal responsibility. <s> BIB001 </s> A Survey of DevOps Concepts and Challenges <s> Tools for monitoring <s> When DevOps started gaining momentum in the software industry, one of the first service-based architectural styles to be introduced, be applied in practice, and become popular was microservices. Migrating monolithic architectures to cloud-native architectures such as microservices reaps many benefits, such as adaptability to technological changes and independent resource management for different system components. This article reports on experiences and lessons learned during incremental migration and architectural refactoring of a commercial MBaaS (mobile back end as a service) to microservices. It explains how adopting DevOps facilitated a smooth migration. Furthermore, the researchers transformed their experiences in different projects into reusable migration practices, resulting in microservices migration patterns. This article is part of a theme issue on DevOps. The Web extra at https://youtu.be/MF3-dKTCQ88 is an audio recording of Brian Brannon speaking with author Pooyan Jamshidi and James Lewis, principal engineer at ThoughtWorks, about DevOps and microservices architecture. <s> BIB002
Monitoring tools usually track applications' non-functional properties, such as performance, availability, scalability, resilience, and reliability. Self healing, alerts, log management, and business metric follow up are example tasks performed by monitoring tools; they relate to the runtime category of concepts. Example of tools for monitoring and alerting are Nagios, Zabbix, and Prometheus. Examples of log management tools are Graylog and Logstash. Cloud services also play an essential role in guarantying non-functional properties of applications since they provide elastic resources that can be allocated on demand  . It is also typical for cloud services to provide monitoring and alerting services. The tendency toward cross-functional, full stack teams BIB002 17] , combined with the expectation that developers must be accountable for the product BIB001  pushes the use of these tools to the development team. Therefore, once again, the responsibility for using and mastering specific tools is unclear.