{"id":1173,"date":"2019-02-14T15:36:24","date_gmt":"2019-02-14T06:36:24","guid":{"rendered":"https:\/\/jennifersoft.com\/en\/?p=1173"},"modified":"2019-08-05T17:25:37","modified_gmt":"2019-08-05T08:25:37","slug":"the-role-of-the-apm-and-devops-culture-1-devopsjennifer","status":"publish","type":"post","link":"https:\/\/jennifersoft.com\/en\/blog\/tech\/the-role-of-the-apm-and-devops-culture-1-devopsjennifer\/","title":{"rendered":"The role of the APM and DevOps Culture (1) (DevOps+JENNIFER)"},"content":{"rendered":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/jennifersoft.com\/ko\/wp-content\/uploads\/sites\/2\/2016\/08\/00_DevOps_tit01-1.png\" alt=\"\" class=\"wp-image-2945\"\/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>The\nstart of DevOps<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"text-align:left\">The software development trend has always been evolving.\nInstead of developing everything from scratch in the past, the current\nenvironment allows developers to make soft wares they desire easily through an\nopen platform or an open source, depending on an architecture or purpose of\nuse. In addition, thanks to the advent of cloud, a new paradigm is coming to\nthe development of application and service. It takes much time to prepare\nphysical server, install operating system and publish the service under the\nexisting on premise environment. However, the cloud environment shortens the\ntime of preparing and publishing necessary resources. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As\nsuch, the area of developers has become widen. They are able to operate the\nprocess of development, build, test, publishing, operation efficiently under\nthe traditional business platform. By doing so, they could reflect what\ncustomers want in a timely manner. This is the start of DevOps. Did the advent\nof multiple open sources and spread of cloud really shorten the time of\ndeveloping a new feature? If so, wouldn\u2019t be any problem? <\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Bottleneck\nof developing process<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If the test and publish of DevOps is automated, the\noperators need to monitoring the reflected issues on a regular basis. If a\npotential bug exists that could cause serious malfunction on source code, how\ncould it be detected at the operating level? For instance, when the level of\nload suddenly increases at a certain service during the peak time, the bug is\nlikely to occur. There are many things to consider to find what caused the\nproblem, however, the traffic is not the single reason of the problem. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;The software might have nothing to do with malfunction, other types of open source that was applied to enhance the productivity of product development could be the cause of the problem. Given this type of project is not for commercial use, it could be difficult to respond if any problem occurs. Even if DevOps-oriented environment is made, or a system that could reflect what customers want as fast as it can is prepared, we could notice a bottleneck due to various types of potential, environmental problems. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1119\" height=\"821\" src=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/1-1024x751.png\" alt=\"\" class=\"wp-image-1176\" srcset=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/1-1024x751.png 1024w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/1-300x220.png 300w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/1.png 1119w\" sizes=\"auto, (max-width: 1119px) 100vw, 1119px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>The\nrole of APM at monitoring<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The monitoring stage plays significant role as the final\nstage of developing process on DevOps. Once the monitoring process is completed\nat the actual service, the cause of the problem needs to be detected in a\ntimely manner to move on to the receiving feedback stage. In certain\nconditions, it could take much time. And it will lead to degrade the\nproductivity. It would also prevent from heading toward the new process. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In order to perfectly run the DevOps, users should be\nable to compare the status of transaction that comes into the server between\nprior and after publishing at the monitoring stage. They also must be able to\nrecognize the elements that might delay the response in a timely manner. When\npublished source code lead to the service malfunction, the malfunction needs to\nbe delayed until everything goes back to normal. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For this reason, the role of APM is very important issue to\nDevOps side. We will talk how to use previously described features with\nJENNIFER. To give you more realistic learning effect, a virtual environment\nwill be made with publishing a new service, and a source code with an error\nwill be applied to the service in advance to see how transaction changes before\nand after the publish. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Monitoring\nProcess<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The monitoring process consists of identifying and\nsolving the problem, and republishing when problem is solved. The JENNIFER\ndashboard allows users to monitoring the status of active service and the\nchange of transaction. If the JENNIFER detects any problem on newly published\nsource code, the active service in progress would be stacked up. And the distribution\nchart of transaction becomes different than the previously written pattern. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the operating side, users could apply setting to make\nan event. They could let each person in charge the status of service through messengers\nsuch as email, SMS and Slack. Once the event message is delivered to the\nperson, they could take two actions with JENNIFER. While developers analyze the\ncause of the problem using the smart profiling, the operators could use the PLC\nfeature that would redirect the display by blocking the inflow of transaction\nbefore the service becomes worst condition. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><em>According to JENNIFER, the transaction is defined as data collected right after single request is completed on the server. And the active service is defined as real-time data in progress. <\/em><\/p><\/blockquote>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"912\" height=\"705\" src=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/2.png\" alt=\"\" class=\"wp-image-1177\" srcset=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/2.png 912w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/2-300x232.png 300w\" sizes=\"auto, (max-width: 912px) 100vw, 912px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Monitoring\nThreshold Setup<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You need to apply a few setups on the JENNIFER management\nscreen to process the monitoring stage smoothly before publishing the service. You\nneed to count the number of average active service of agent as it becomes\nthreshold of setting an event alarm and controlling the amount of service load\nwhen an error occurred on the service. However, the threshold is quite\ndifferent depending on the environment. For this reason, you could roughly set\nthe threshold when the service is running without any difficulties. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><em>The agent is defined as a module that collects the performance data by relying on target application and transfers the data to the server. The target application for monitoring is different depending on the platform environment, however, it normally indicates the WAS (Web Application Server) or web server. <\/em><\/p><\/blockquote>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"980\" height=\"306\" src=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/3.png\" alt=\"\" class=\"wp-image-1178\" srcset=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/3.png 980w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/3-300x94.png 300w\" sizes=\"auto, (max-width: 980px) 100vw, 980px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Given the active service is not in the completed status, it is not suitable for analyzing what caused the service malfunction. Therefore, the number of active service shall not be the threshold, and developers must apply the profiling related setup of JENNIFER based on the response time of transaction data that has already been processed. From the threshold, draw a virtual line on the transaction distribution chart. Then, you can use the smart profiling against the transaction located above the line. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"351\" src=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/4-1024x351.png\" alt=\"\" class=\"wp-image-1179\" srcset=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/4-1024x351.png 1024w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/4-300x103.png 300w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/4.png 1027w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">In this article, we talked about the problems faced in the monitoring stage and the role and necessity of APM to solve them. In the next section, we will look at how to use JENNIFER to perform the monitoring process in earnest. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To be continued&#8230; <\/p>\n","protected":false},"excerpt":{"rendered":"The start of DevOps The software development trend has always been evolving. Instead of developing everything from scratch in the&#8230;","protected":false},"author":11,"featured_media":1461,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[78],"tags":[86,104,107],"class_list":["post-1173","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-application-monitoring","tag-devops","tag-msa"],"acf":[],"_links":{"self":[{"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/posts\/1173","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/comments?post=1173"}],"version-history":[{"count":5,"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/posts\/1173\/revisions"}],"predecessor-version":[{"id":1463,"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/posts\/1173\/revisions\/1463"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/media\/1461"}],"wp:attachment":[{"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/media?parent=1173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/categories?post=1173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/tags?post=1173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}