Enabling Efficient Application Monitoring in Cloud Data Centers Using SDN
Total Page:16
File Type:pdf, Size:1020Kb
Enabling efficient application monitoring in cloud data centers using SDN Mona Elsaadawy Mohamed Younis Bettina Kemme [email protected] [email protected] Department of Computer Science and Electrical [email protected] Engineering, UMBC School of Computer Science, McGill University Baltimore, Maryland, USA Montreal, Quebec, Canada Abstract to accomplish their goals. For example, user-facing compo- Software Defined Networking (SDN) not only enables agility nents at Google comprise 100s to 1000s of nodes that interact through the realization of part of the network functionality with each other and with other services (e.g., a spell-checking in software but also facilitates offering advanced features at service) to handle user requests. Even simple web applica- the network layer. Hence, SDN can support a wide range of tions today consist of multiple distributed tiers that interact middleware services; network performance monitoring is an with each other and may be integrated with a third party example of these services that are already deployed in prac- such as Facebook, payment gateways, etc. to accomplish tice. In this paper, we exploit the use of SDNs to efficiently one transaction. The performance of these applications has provide application monitoring functionality. The recent a direct impact on business metrics such as revenue and rise of complex cloud applications has made performance customer satisfaction. Examples of this impact are well docu- monitoring a major issue. We show that many performance mented. For example, Google loses 20% traffic for additional indicators can be inferred from messages exchanged among delay of 0.5 second to their page-load time and Amazon application components. By analyzing these messages, we loses 1% of revenue for every 100 ms in latency increase [17]. argue that the overhead of performance monitoring could Given the distributed character of the applications, effective be effectively moved from the end hosts into the SDN mid- logging and monitoring are important to keep track of per- dleware of the cloud infrastructure which enables more flex- formance, and to detect, diagnose and resolve performance- ible placement of logging functionality. This paper explores related problems. several approaches for supporting application monitoring Apart of standard hardware resource utilization measure- through SDN. In particular, we combine selective forwarding ments (CPU, memory, etc.), application layer metrics such as in SDN to enable message filtering and reformatting, and request service time or characteristics of service call distri- propose a customized port sniffing technique. We describe butions are also highly relevant [20]. Common approaches the implementation of the approach within the standard to collect the relevant data are to instrument the application SDN software, namely OVS. We further provide a compre- or the underlying platform to create log messages, such as hensive performance evaluation to analyze advantages and Apache Tomcat’s log valves [12]. An obvious disadvantage disadvantages of our approach, and highlight the trade-offs. is the application and/or platform dependence. Additionally, network monitoring middleware tools such as Wireshark CCS Concepts • Networks → Network measurement; [35], that perform live tracking of message flows and allow Network performance analysis; Data center networks; Pro- for sophisticated analysis of captured packages, can be used to perform some application-level performance assessment, arXiv:1902.11292v2 [cs.NI] 19 Aug 2019 grammable networks. such as request response times. These tools attach to any Keywords Software defined networking, Application log- software component or to the hypervisor and are able to ging, Openflow, Network function virtualization observe all incoming and outgoing messages. What is com- mon among all these approaches is that they generate the logging information on the end-hosts. The tools themselves 1 Introduction can then either additionally perform the analysis, write the Many application domains have started to move their ser- logging information to a file to be analyzed later, or send the vices into the cloud, e.g.,e-commerce, health management, logs to specialized analysis systems that run on a different education, entertainment, and many more. Many cloud ap- set of hosts. In any case, application performance may be af- plications are often deployed as multi-component systems fected by sharing the host resources with the logging and/or where the individual components and their replicas might analysis tasks. run across tens, hundreds or even thousands of nodes and In contrast to these traditional solutions, this paper ex- may communicate with other similarly distributed services plores how some of the application monitoring functionality can be moved to the network layer by taking advantage middleware. The first does the required complete analysis of Software-Defined Networking (SDN) and Network Func- locally on the switch host. The other performs some filtering tion Virtualization (NFV). SDN separates data and control and pre-processing of messages and then sends the neces- flow, and NFV allows software implementations of network sary information to an analysis node, similar in concept to functionality. In fact, SDN already provides some support the selective mirroring approach described above. for targeted network monitoring such as bandwidth and In summary, the contribution of this paper is as follows: message statistics for individual flows. SDN and NFV are • We analyze various approaches in which network com- invaluable for cloud data centers; according to Cisco’s No- ponents are used in support of application monitoring, vember 2018 cloud index report[5] 1/3 of cloud data center outlining their advantages and disadvantages. have partially or fully adopted SDN and 2/3 will do so by • We propose a solution in which monitoring function- 2021. By then SDN and NFV traffic volume will make up ality is loosely integrated into software-based switch 50% of the data traffic within the data center. Given such fast components, allowing for a flexible and adjustable de- adoption, we believe it is important to explore how much ployment of application-based monitoring and analy- SDN can be exploited as a low-level middleware to support sis. cloud-wide application monitoring. • We have implemented and evaluated our proposed We have been inspired to do so by a number of recent stud- solutions, and compared them against existing mon- ies that explore the feasibility of performing a more global itoring solutions that are deployed on the end-hosts network monitoring approach based on SDN [14, 26, 39]. on which the application is running. Our evaluation The most basic approach is to enable the port mirroring fea- is based on the YCSB benchmark and analyzes the ture in switches and routers, in such a way that they mirror corresponding trade-offs in terms of impact on the ap- application traffic to specialized analysis systems. That is, plication performance, general resource consumption, messages are duplicated at the network component, and the switching speed and communication overhead. actual analysis takes place somewhere else. Although such The remainder of the paper is as follows. Section 2 pro- an approach is simple, and does not impose major compu- vides background about SDNs, cloud network architectures tational overhead at the switch/router, the message traffic and traditional end-host based application monitoring. Sec- overhead can be significantly high. Such overhead can be tions 3 and 4 present our network-based application moni- reduced by filtering messages at the SDN switches/routers toring solutions. Specifically, Section 3 focuses on the role using forwarding rules that ensure that only packets that of the software switch and how relevant information can are important for monitoring are mirrored to the specialized be filtered and transmitted to the monitoring component. analysis system. The disadvantage of selective mirroring is Section 4 then explains how application-relevant data can be that it might lead to a delay in the forwarding path. inferred from the individual messages. Section 5 discusses Other research [4, 10, 15, 25, 34, 37] extends the source the validation methodology and report the performance re- code of the SDN switch to have an inclusive analysis func- sults. Section 6 present related work and Section 7 concludes tion. However, the results show significant performance the paper. degradation in terms of the modified SDN switch forwarding throughput. In this paper, we have a closer look at some of 2 Background these approaches and see how they can be adjusted to work for application monitoring. In particular, we analyze how 2.1 Software Defined Networking effective selective mirroring is able to truly filter only rele- In Software Defined Networking, the SDN controller repre- vant messages. We also provide insight into the performance sents the control plane that decides on how messages are implications. routed and SDN switches represent the forwarding plane Furthermore, driven by the deployment limitations of ex- (data plane) that guide messages through the network. The isting approaches, we propose a conceptually different so- controller provides each switch with a set of rules indicating lution that can be used for software switches which run how to forward the different flows of messages they receive on general purpose hardware. Such software switches are from end hosts