<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>The Power of Technology &#187; Production Issues</title>
	<atom:link href="http://bigapplezlp.wordpress.com/tag/production-issues/feed/" rel="self" type="application/rss+xml" />
	<link>http://bigapplezlp.wordpress.com</link>
	<description>Seeing The World From The Eyes of an IT Professional</description>
	<lastBuildDate>Tue, 08 Dec 2009 20:03:05 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='bigapplezlp.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/391012454b8af157b98bc083bee7243d?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>The Power of Technology &#187; Production Issues</title>
		<link>http://bigapplezlp.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://bigapplezlp.wordpress.com/osd.xml" title="The Power of Technology" />
		<item>
		<title>Oops, no trace in logs</title>
		<link>http://bigapplezlp.wordpress.com/2008/11/11/oops-no-enough-logs/</link>
		<comments>http://bigapplezlp.wordpress.com/2008/11/11/oops-no-enough-logs/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 21:24:57 +0000</pubDate>
		<dc:creator>bigapplezlp</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[operation]]></category>
		<category><![CDATA[Production Issues]]></category>
		<category><![CDATA[technical support]]></category>

		<guid isPermaLink="false">http://bigapplezlp.wordpress.com/2008/11/11/oops-no-enough-logs/</guid>
		<description><![CDATA[
The Chinese colleagues in my organization usually go out every Monday to have lunch in a nearby Chinese restaurant. It’s a good time to share some common concerns about the economy, the stock market or the food security in China. Topics like work or technologies seldom emerge in the lunch discussion, unless somebody start the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bigapplezlp.wordpress.com&blog=2542283&post=38&subd=bigapplezlp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img height="250" src="http://www.eriding.net/media/photos/geography/newzealand/050209_sholmes_mp_geog_nzland_378.jpg" width="354"></p>
<p>The Chinese colleagues in my organization usually go out every Monday to have lunch in a nearby Chinese restaurant. It’s a good time to share some common concerns about the economy, the stock market or the food security in China. Topics like work or technologies seldom emerge in the lunch discussion, unless somebody start the complaint, like what happened this Monday.</p>
<p>One of my colleagues complained that he spent hours trying to decipher the myth that some messages failed in processing with no reason in Production environment. Eventually, he found out the deploy team rolled out a new server last weekend, which was not configured correctly. The new server, participating in a cluster, grasped some of the messages and failed them. That explained why only some messages failed while other went through successfully.</p>
<p>But, why did it take him so long to figure it out? Two reasons, first of all, he wasn’t aware of the environment change (roll out of new server). Second, there weren’t enough logs to show which server processed the messages. He was browsing through the logs of all the known servers trying to find traces of the failure, with no luck. If there are some central logs or database records showing which server in the cluster processed the message, the error will be obvious.</p>
</p>
<p><span id="more-38"></span>
<p>The first cause demonstrates how important the information of changes is to the resolution of issues. In most organizations, the processes of release management, change management and incident management are disconnected, especially in big organizations when those processes are handled by different groups of people. The remedy will lie in adding necessary actions and tools to link the seemingly independent processes and teams together and to enable the information flow among them.</p>
<p>The second and more fundamental issue, lacking of logs, is very common. All developers who ever provide second line or third line of support to Production issues know the feeling of despair when they cannot find enough logs for the problem. There is nothing they can do! That’s the time they start to complain (or curse) the laziness of the authors of the codes, if not themselves.</p>
<p>But, why the developers who write the codes don’t put in enough logs, if the logs are so important for providing support? I can think of many reasons: lack of time, pressure to deliver, lack of experience (never does a support job), expanded scope (e.g. designed to run in single node but later expand to a cluster), etc. But, the key reason, in my opinion is the disconnection between the development process and the operational process.</p>
<p>When a system is designed, we tend to focus on the requirements of the business functions and neglect the future operations. Developers are evaluated by how many functions they implemented every week in the development cycle, not by how smoothly the codes will operate later in the operation cycle. That’s too far away to worry about today.</p>
<p>We celebrate when each project is “successfully delivered”. The number of production issues and “effectiveness and the efficiency” of the system after the rollout are seldom counted in the measurement of the success.</p>
<p>On the other hand, I am fully aware of the pressure to delivery, especially in a fast-pace business atmosphere like now. There is no time to waste in building unnecessary error-proof functions. It’s hard, if not impossible, to predict all the error conditions that may happen in operation and build preventative methods against them.</p>
<p>So, the ultimate solution is not simply writing as much logs as we can or trying to predict all the error conditions and prevent them from very beginning. Instead, I will advocate a more agile and iterative approach:</p>
<ol>
<li>Build a good and generic logging strategy for any new project, to start with. It should be independent to business logics, easy to use, and flexible to change or extend.
<li>Setup some basic logging rules at day one and educate the developers about the importance of logs. It’s for their own benefit since they will be required to providing technical support.
<li>Put sensible amount of logs, but don’t overdo it at early phrase of a new project.
<li>Measure the success of each project not only by the development time and budget but also by the quality, which is measured by the number of Production issues, the average time to resolve an issue, the availability and the performance.
<li>For each production issue, analyze not only the root cause of the issue, but also the diagnosis process. Fix not only the bug, but also problems of lacking logs.
<li>Gather success or failed patterns of logs during operations. Write down what works and what doesn’t. Standardize them into product wide or department wide logging rules. Recommend or enforce those rules. Change the logging strategy/framework to facilitate those rules. </li>
</ol>
<p>Systematically and consistently following those steps will ensure the health of the software system we are designing and supporting. And hopefully, we can go home early instead stuck in another mysterious production issue which leaves no trace in the logs.</p>
<p>Improving the logging is a repetitive and continuous process. It should be considered as one of the key measurements of the software quality. A clearly defined and constantly improving logging strategy will have enormous impact to the daily operations.</p>
<p>Happy logging!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bigapplezlp.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bigapplezlp.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bigapplezlp.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bigapplezlp.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bigapplezlp.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bigapplezlp.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bigapplezlp.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bigapplezlp.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bigapplezlp.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bigapplezlp.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bigapplezlp.wordpress.com&blog=2542283&post=38&subd=bigapplezlp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bigapplezlp.wordpress.com/2008/11/11/oops-no-enough-logs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5a0ca8baa37538d5cbdbdedf9a295510?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bigapplezlp</media:title>
		</media:content>

		<media:content url="http://www.eriding.net/media/photos/geography/newzealand/050209_sholmes_mp_geog_nzland_378.jpg" medium="image" />
	</item>
		<item>
		<title>Deal With Production Issues &#8211; The ITIL Way</title>
		<link>http://bigapplezlp.wordpress.com/2008/01/21/deal-with-production-issues-the-itil-way/</link>
		<comments>http://bigapplezlp.wordpress.com/2008/01/21/deal-with-production-issues-the-itil-way/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 03:07:18 +0000</pubDate>
		<dc:creator>bigapplezlp</dc:creator>
				<category><![CDATA[ITIL]]></category>
		<category><![CDATA[Incident Management]]></category>
		<category><![CDATA[IT Service Management]]></category>
		<category><![CDATA[Problem Management]]></category>
		<category><![CDATA[Production Issues]]></category>

		<guid isPermaLink="false">http://bigapplezlp.wordpress.com/2008/01/21/deal-with-production-issues-the-itil-way/</guid>
		<description><![CDATA[Production Support &#8211; The ITIL Way is a presentation I prepared, introducing how to handle Production issues in ITIL way.
There are two ITIL processes related to this topic, Incident Management and Problem Management. This topic covers those two processes in details. In the end,  some suggestions about how to improve the current Production Support processes were introduced.
Production issues are what [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bigapplezlp.wordpress.com&blog=2542283&post=21&subd=bigapplezlp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://bigapplezlp.files.wordpress.com/2008/01/deal-with-production-issues-itil-way.ppt" title="Production Support - The ITIL Way">Production Support &#8211; The ITIL Way</a> is a presentation I prepared, introducing how to handle Production issues in ITIL way.</p>
<p>There are two ITIL processes related to this topic, Incident Management and Problem Management. This topic covers those two processes in details. In the end,  some suggestions about how to improve the current Production Support processes were introduced.</p>
<p>Production issues are what trouble us most. They seems to consume our time endlessly. How to tame those issues and take the control of our life back is the main focus of this presentation.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bigapplezlp.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bigapplezlp.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bigapplezlp.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bigapplezlp.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bigapplezlp.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bigapplezlp.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bigapplezlp.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bigapplezlp.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bigapplezlp.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bigapplezlp.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bigapplezlp.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bigapplezlp.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bigapplezlp.wordpress.com&blog=2542283&post=21&subd=bigapplezlp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bigapplezlp.wordpress.com/2008/01/21/deal-with-production-issues-the-itil-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5a0ca8baa37538d5cbdbdedf9a295510?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bigapplezlp</media:title>
		</media:content>
	</item>
	</channel>
</rss>