<?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/"
><channel><title>iHeavy, Inc +1-212-533-6828</title> <atom:link href="http://www.iheavy.com/feed/" rel="self" type="application/rss+xml" /><link>http://www.iheavy.com</link> <description>MySQL Expert, Linux EC2 &#38; Scalability Consulting NYC</description> <lastBuildDate>Thu, 17 May 2012 17:26:37 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Consulting essentials: Building your business</title><link>http://www.iheavy.com/2012/05/17/consulting-essentials-building-your-business/</link> <comments>http://www.iheavy.com/2012/05/17/consulting-essentials-building-your-business/#comments</comments> <pubDate>Thu, 17 May 2012 17:08:58 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Business]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=4377</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/05/17/consulting-essentials-building-your-business/">Consulting essentials: Building your business</a></p><p>In the last two posts on how to build a successful consulting business I shared advice and tips on closing deals and managing and completing your engagements. This post will look at where to focus your efforts in order to sustain your consulting business, and build skills. Focus on your subject matter expertise Being a [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/05/17/consulting-essentials-building-your-business/">Consulting essentials: Building your business</a></p><p>In the last two posts on how to build a successful consulting business I shared advice and tips on <a
href="http://www.iheavy.com/2012/05/10/tech-consulting-essentials-getting-the-business/" title="Consulting essentials: Getting the business">closing deals</a> and <a
href="http://www.iheavy.com/2012/05/15/consulting-essentials-managing-completing-engagements/" title="Consulting essentials: Managing &#038; Completing Engagements">managing and completing your engagements.</a></p><p>This post will look at where to focus your efforts in order to sustain your consulting business, and build skills.</p><h2>Focus on your subject matter expertise</h2><p>Being a subject matter expert takes years of education, and professional experience to build.  It&#8217;s your most valuable asset.  Build it, and use it.  This is not to say there isn&#8217;t great value in being a generalist (link) as I&#8217;ve emphasized in blog postings.  But don&#8217;t get distracted trying to do things others can do better. Web-based newsletter managers can do it better than you can, professional invoicing solutions as well. Though you might be able to do a bit of HTML and graphic design, if that&#8217;s not your expertise, hire someone to do your website in WordPress. You&#8217;ll save time and money in the long run, and their professional experience will surely include a few surprising nuggets of value that you wouldn&#8217;t have known yourself.</p><h2>Manage your business with online tools</h2><p>There are a myriad of online tools to help you run your business better.</p><p>Google Analytics &#8211; Get insights on what parts of your site your customers find valuable.  Learn to convert those visitors with downloads, newsletter signups and ebooks for sale.</p><p><a
href="http://www.freshbooks.com/">Freshbooks</a>, <a
href="http://www.zoho.com/invoice/">Zoho</a> or <a
href="http://www.paymo.biz/">Paymo</a> &#8211; There are many online invoicing solutions, so best to evaluate them for your specific needs. The point is, using a solution will save you money in the end, and make you more professional in the process. It&#8217;ll help you track monthly &#038; yearly, send reminders, and summarize things for you all in one place.</p><p>Mailchimp &#8211; Newsletter creation can&#8217;t get any more fun than with mailchimp.  With endless video howtos, documents, and great support, plus templates for your newsletter that come in every shape and size, these guys have really thought of everything.  What&#8217;s more the graphs and campaign reports will give you insight into what topics are popular, and what resonates with your audience.</p><p>Google Docs and Calendars allow you to share your schedule and work with a small team. So whether it&#8217;s communicating things with your clients, or your subcontractors, these tools are essential.</p><p>Dropbox &#8211; Another indispensable tool for collaboration, share documents easily across the web.</p><h2>Don&#8217;t Be a Commodity</h2><p>If your prospect is asking you for a resume, and comparing you to some outsourced resources provide, you&#8217;re not going to get very far as a consultant. Don&#8217;t be a generic resource that sits at the keyboard and churns out code.</p><p>What&#8217;s the alternative? Learn about business, talk to business stakeholders, listen to their concerns, and learn to speak their language. Use stories, and analogies. Reach across the table to speak in terms that everyone can understand. Your value is in symplifying complex technology.</p><h2>Be Hungry &#038; Don&#8217;t Give Up!</h2><p>Being hungry means continuing to improve on your weaknesses, experimenting with different rates until you match the market demand, managing multiple projects and always networking widely. Spend less than you make and build up six to twelve months cushion. This will allow you much more freedom to take only the projects you want. Learn to pick and choose.</p><h2>Further Reading…</h2><p>There are lots of other areas you&#8217;ll lean about, running a successful consulting business. Here are a few:</p><div
id="PageList"><ul><li>managing cash flow</li><li>paying quarterly &#038; yearly corp taxes</li><li>paying subcontractors</li><li>managing &#038; accounting for expenses</li></ul><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/05/17/consulting-essentials-building-your-business/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Consulting essentials: Managing &amp; Completing Engagements</title><link>http://www.iheavy.com/2012/05/15/consulting-essentials-managing-completing-engagements/</link> <comments>http://www.iheavy.com/2012/05/15/consulting-essentials-managing-completing-engagements/#comments</comments> <pubDate>Tue, 15 May 2012 16:47:49 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Business]]></category> <category><![CDATA[communication]]></category> <category><![CDATA[completing engagements]]></category> <category><![CDATA[consulting]]></category> <category><![CDATA[management]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=4358</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/05/15/consulting-essentials-managing-completing-engagements/">Consulting essentials: Managing &#038; Completing Engagements</a></p><p>This is the second in a series of three articles on Consulting Essentials. Read the previous post, Consulting essentials: Getting the business Communicating well and knowing when to step in or stand back is the linchpin of successful consulting. Some people have natural charm. If you&#8217;re one of these people you&#8217;ll find consulting is definitely [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/05/15/consulting-essentials-managing-completing-engagements/">Consulting essentials: Managing &#038; Completing Engagements</a></p><p><em>This is the second in a series of three articles on Consulting Essentials.<br
/> Read the previous post, <a
href="http://www.iheavy.com/2012/05/10/tech-consulting-essentials-getting-the-business/">Consulting essentials: Getting the business</a></em></p><p>Communicating well and knowing when to step in or stand back is the linchpin of successful consulting.<br
/> Some people have natural charm. If you&#8217;re one of these people you&#8217;ll find consulting is definitely for you.  You&#8217;ll use that skill all the time as each new client brings a half dozen or a dozen new people to interact with.</p><p>If it doesn&#8217;t come easily, practice practice practice. Try to get out of your own head space, and hear what troubles your client, and what big business challenges worry them.</p><h2>Be ready to help but don&#8217;t try to be the hero</h2><p><a
href="http://www.iheavy.com/2012/05/15/consulting-essentials-managing-completing-engagements/the_flash/" rel="attachment wp-att-4362"><img
src="http://www.iheavy.com/wp-content/uploads/2012/05/the_flash.jpg" alt="" title="the_flash" width="320" height="240" class="alignleft size-full wp-image-4362" /></a><br
/> A decade ago I worked for an Internet startup. They were having serious performance problems which was slowing down the site, and turning users away. When digging into the systems I found serious security issues besides the performance ones, and got distracted trying to wrap up those lest someone break in and destroy or steal their business assets. Communicating the situation to the client, they looked aghast. After explaining the situation to them, they understood the risks and explained that the current priorities were to get users back online.</p><p>The technical problems I saw may not have been aligned with the business priorities. Your job is to make your client happy. Provide your professional opinion and advice whenever and wherever your skills come into play, but let them run their own business.</p><p>If you&#8217;re focusing on one area, and you discover other problems or things that may need resolving going forward, bring this to the attention of the client.  Allow them to prioritize for themselves.  It&#8217;s their business not yours.  Your job is to give your professional opinion, raise concerns that you see, but most importantly solve problems they want you to solve.</p><h2>Project Your Personality</h2><p>Smile a lot and listen to people.  Make sure you&#8217;re talking less than half the time. When you first engage with a client, they should be speaking more like two-thirds of the time.  You want to get in the habit of listening, and stepping in your clients shoes.  You want to understand their pain, their business concerns and how to satisfy them.</p><h2>Manage Time Efficiently</h2><p>Get things done. Everybody talks about it, but not everyone does it. I personally avoid all the faddish tools for this, and use a simple checklist. Focus on the task at hand. Give yourself a doable list of tasks each day, and check them off as you go. Try hard to avoid working on things not on that list. The last point relates back to the principle of solving only the problems that you&#8217;ve been asked to solve.</p><h2>Communicate Successes &#038; Progress</h2><p>In many engagements you&#8217;ll come upon struggles and get blocked by situations that seem intransigent. I can&#8217;t emphasize enough how important it is to communicate with the client during these situations.  Don&#8217;t get stuck thinking it will make you look weak. Communicating with the client has a number of surprising advantages.</p><p>For one sometimes they&#8217;ll have a solution, such as a different angle on the business problem, or insight and details that just simplify the problem you think you thought needed to be solved.</p><p>Second, it allows the client to adjust schedules in advance if something will take a little longer.  You&#8217;d be surprised how often a client will sympathize with a difficult problem.</p><p>Lastly, involving the client intimately allows them to enjoy the triumph when you solve the problem.  This helps morale, communicates more about what it is you do day-to-day and how you work through a problem. And overall it helps them appreciate the intrinsic value you&#8217;re providing.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/05/15/consulting-essentials-managing-completing-engagements/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Consulting essentials: Getting the business</title><link>http://www.iheavy.com/2012/05/10/tech-consulting-essentials-getting-the-business/</link> <comments>http://www.iheavy.com/2012/05/10/tech-consulting-essentials-getting-the-business/#comments</comments> <pubDate>Thu, 10 May 2012 11:59:20 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Business]]></category> <category><![CDATA[business strategies]]></category> <category><![CDATA[consulting]]></category> <category><![CDATA[marketing]]></category> <category><![CDATA[small business]]></category> <category><![CDATA[startup]]></category> <category><![CDATA[tech consulting]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=4312</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/05/10/tech-consulting-essentials-getting-the-business/">Consulting essentials: Getting the business</a></p><p>Over the years, a lot of people have approached me asking how to become a tech consultant. What do I need to do to get started? How can I take my first step? I also hear from managers and CEOs that have asked how I got my start, and how I keep the business running. [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/05/10/tech-consulting-essentials-getting-the-business/">Consulting essentials: Getting the business</a></p><p><a
href="http://www.iheavy.com/2012/05/10/tech-consulting-essentials-getting-the-business/lego-people/" rel="attachment wp-att-4321"><img
class="alignleft size-full wp-image-4321" title="lego people" src="http://www.iheavy.com/wp-content/uploads/2012/05/lego-people.jpg" alt="" width="350" height="263" /></a></p><p>Over the years, a lot of people have approached me asking how to become a tech consultant. What do I need to do to get started? How can I take my first step?</p><p>I also hear from managers and CEOs that have asked how I got my start, and how I keep the business running. What lessons from consulting can be applied to startups and small businesses? Having worked independently for many years I&#8217;ve built up my own cache of strategies and methods which I hope can be helpful to anyone looking to strike it out on their own.</p><p>This is the first of a series of three articles on consulting essentials.</p><h2>Networking to avoid the feast or famine cycle</h2><p>If no one knows about your services, it doesn&#8217;t matter how good you are, you won&#8217;t have regular work. Some consultants get involved in a regular full-time engagement, and after a year or more experience a lot of down time when that gig ends.</p><p>Want to avoid the feast or famine cycle? Get out there and meet people. Go to meetups, and exchange cards. Go to startup and venture events such as <a
href="http://ultralightstartups.com/">Ultralight</a> or <a
href="http://www.hatchery.vc/">The Hatchery</a>. Participate in <a
href="http://generalassemb.ly/">General Assembly </a> and related incubators. Start a newsletter, and say something interesting and useful every month. Add every professional colleague you encounter to your list. A newsletter is an invaluable way to keep in touch with folks in your professional world, and the value keeps growing over time.</p><p>Build your network, connect people together and keep in contact with people. This makes you a focal point, and that will bring business to you.</p><h2>Proposals &amp; Meetings &#8211; Always be Closing</h2><div
id="Post_SubList"><ol><li>Take many meetings and interviews</li><p>If you&#8217;re drawing a wide net, you should have tons of opportunities to meet prospects. Sometimes these may be framed as interviews, while other times a meeting of peers. Ultimately as a professional services provider, you should think of it as a partnership where each party contributes to solve a business problem. Hone your speaking skills, compliment people, smile, listen carefully to people&#8217;s concerns and try to frame answers in language that works uniquely for each person.</p><li>Talk with Economic Buyers</li><p>In order to get hired for your services, ultimately you&#8217;ll need to be talking with the person who manages the budget for such hiring. However often there are gatekeepers or even human relations folks between you and that person. If you&#8217;re being asked for a resume you&#8217;re probably going down the wrong road. Typically a stake holder will ask you about solutions you&#8217;ve provided for other customers, how you executed, and what were some of the highlights. They won&#8217;t be giving you a test, or asking you to solve a riddle or coding problem.</p><li>Send quotes</li><p>If you are active in business, networking regularly and reaching out to new contacts and colleagues then you should find many asking for advise and expertise. Always be sending out quotes. Sending out a quote is not a do or die arrangement. You should be sending out many many more than you expect to win. By continuing to pitch, you test the market for the demand of your skills, package your services in new and creative ways, and frame solutions that should hopefully resonate with your prospects.</p><li>Cherry Pick the Best Clients</li><p>All clients are not created equal. Some are trying to get a lot for less than market value, and will try hard to micromanage and squeeze value out of you. This isn&#8217;t personal. Business is about maximizing value for a given price. It&#8217;s important though to qualify the client, make sure they have the budget to be worth your while, and do your due diligence. Better to have a half dozen to a dozen projects in one year, than fifty tiny projects.</p><li>Give Audience to fulltime offers</li><p>If you&#8217;re good at consulting, you&#8217;ll gain a lot of experience, exposure to many types of businesses, many technologies, and many environments. This is valuable experience, and business owners and startups will try to hire you. As part of the *listen* part, it&#8217;s always ok to hear out a prospect. Leave the &#8220;door open&#8221; as they say. Provide real explanation for what appeals to you, from independence, freedom of schedule, choosing projects, and compensation. Creative discussion about budgets and pricing options can well turn such a discussion into how you might work together on a <em>situational</em> or <em>project</em> basis.</p><p>Although independent consulting isn&#8217;t for everyone for those who&#8217;ve made a career out of it, taking a fulltime opportunity is a step away from that freedom unless you&#8217;re making a deliberate career change. Doing this can be a signal you don&#8217;t have a full stream of work, that you&#8217;re experiencing the famine cycle, and you&#8217;re looking for safety and security.</p><p>Consulting services cost more hour per hour than a fulltime resource. But typically you work in shorter bursts or stints. What&#8217;s more your availability is always a business value. Lastly because you can ride the crest, stay in demand, stay relevant and stay fresh, you&#8217;ll continue to command top dollar.</p></div><h2>Price Your Services Properly</h2><p>I’ve met many freelancers over the years who struggle to get paid, or struggle with cash flow. If this is happening you’re either not keeping the pipeline full or not charging sufficiently for your services. What exact price is right for you of course will vary. My personal recommended method is to research the large firms in your services space. Find out what their junior and senior folks are billed out at. These firms of course have a lot of overhead, so 50% of those rates should be a good base number to work around. Furthermore these calculations can be used in discussions with prospects to sell your services. Remind prospects that they’ll be getting the same professional experience, more customer focus because you’re a one man shop, and pay half the price for it. A proverbial win-win.</p><div
id="Post_SubList"><ol><li>Discount by Reducing Value</li><p>Beware taking too much pro-bono work, or giving discounts at the outset of an assignment. This signals to the savvy firm that you’re keen to close the deal, and will probably negotiate further. You’ll have little room to renegotiate rates higher, once the engagement has begun. You’ve already set a precedent.</p><p>So if a firm asks for a discount, be sure to reduce the entire package in some way. Total number of hours, on-call coverage, amount of software or widgets delivered etc.</p><li>Experiment with Different Billing Models</li></ol></div><p>Hourly billing is not the only model in town. If you’re finding it’s a lot of work to keep track of hours, or you and your client are staying unduly focused on these details, consider other models. Pricing by the day may work, for example. Further options may include billing by the week or even by the month. Chances are you’ll want to discount somewhat for larger incremental steps in pricing. Keep in mind that with monthly billing for example, your project cannot end on June 10th or July 5th. It will always roll forward to the end of a month. So offering a discount for larger billing periods may even out in the end.</p><p>In the next post: How to manage and complete engagements.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/05/10/tech-consulting-essentials-getting-the-business/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>3 things CEOs should know about the Cloud</title><link>http://www.iheavy.com/2012/05/08/3-things-ceos-should-know-about-the-cloud-2/</link> <comments>http://www.iheavy.com/2012/05/08/3-things-ceos-should-know-about-the-cloud-2/#comments</comments> <pubDate>Tue, 08 May 2012 16:44:04 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Cloud Computing]]></category> <category><![CDATA[amazon ec2]]></category> <category><![CDATA[aws]]></category> <category><![CDATA[cloud]]></category> <category><![CDATA[cloud deployments]]></category> <category><![CDATA[cloud hosting]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=4302</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/05/08/3-things-ceos-should-know-about-the-cloud-2/">3 things CEOs should know about the Cloud</a></p><p>You&#8217;ve heard all the buzz and spiel about the cloud, and there&#8217;re good reasons to want to get there. On-demand compute power makes new levels of scalability possible. Low up front costs means moving capital expenditure to operating expenditure and saving a bundle in the process. We won&#8217;t give you anymore of the rah rah [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/05/08/3-things-ceos-should-know-about-the-cloud-2/">3 things CEOs should know about the Cloud</a></p><p><a
href="http://www.iheavy.com/2012/04/11/3-things-ceos-should-know-about-the-cloud/bigcloud/" rel="attachment wp-att-4290"><img
src="http://www.iheavy.com/wp-content/uploads/2012/04/bigcloud.jpg" alt="" title="bigcloud" width="320" height="204" class="alignleft size-full wp-image-4290" /></a>You&#8217;ve heard all the buzz and spiel about the cloud, and there&#8217;re good reasons to want to get there. On-demand compute power makes new levels of scalability possible. Low up front costs means moving capital expenditure to operating expenditure and saving a bundle in the process. We won&#8217;t give you anymore of the rah rah marketing hoopla. You&#8217;ve heard enough of that. We&#8217;ll gently play devil&#8217;s advocate for a moment, and give you a few things to think about when deploying applications with a cloud provider. Our focus is mainly on Amazon EC2.</p><p>You might also be interested in a wide reaching <a
href="http://www.iheavy.com/2010/12/14/introduction-to-ec2-cloud-deployments/">introduction to deploying on Amazon EC2</a>.</p><div
id="PostList"><ol><li>Funky Performance</li><p>One of the biggest hurdles we see clients struggle with on Amazon EC2 is performance. This is rooted in the nature of shared resources. Computer servers, just like desktops rely on CPUs, Memory, Network and Disk. In the virtual datacenter, you can be given more than your fair share without you even knowing it. More bandwidth, more CPU, more disk? Who would complain? Well if your application behaves erratically, while you suddenly compete for disk resources you&#8217;ll quickly feel the flip side of that coin. Stocks go up, and they can just as easily come right back down.</p><p>Variability around disk I/O seems to be the one that hits applications the hardest, especially the database tier of many web applications. If your application requires extremely high database transaction throughput, you would do well to consider physical servers and a real RAID array to host your database server. Read <a
href="http://www.iheavy.com/2011/07/18/iops-what-is-it-and-why-is-it-important/">more about IOPs</a></p><li>Uncertain Reliability &#8211; A Loaded Gun</li><p>Everybody has heard the saying, don&#8217;t hand someone a loaded gun. In the case of Amazon servers, you really do load your applications onto fickle and neurotic servers.</p><p>Imagine you open a car rental business. You could have two brand new fully reliable cars to rent out to customers. Your customers would be very happy, but you&#8217;d have a very small business. Alternatively you could have twenty used Pintos. You&#8217;d have some breaking down a lot, but as long as you keep ten of them rented at a time, your business is booming.</p><p>In the Amazon world you have all the tools to keep your Ford Pintos running, but it&#8217;s important to think long and hard about reliability, redundancy, and automation. Read <a
href="http://www.iheavy.com/2011/04/26/amazon-ec2-outage-failures-lessons-and-cloud-deployments/">more about Failures, Lessons &amp; the Chaos Monkey</a></p><li>Iffy Support</li><p>Managed hosting providers vary drastically in terms of the support you can expect. Companies like Rackspace, Servint or Datapipe have Support built into their DNA. They&#8217;ve grown up around having a support tech that your team can reach when they&#8217;re having trouble.</p><p>Amazon takes the opposite approach. They give you all the tools to do everything yourself. But in a crunch it can be great to have that service available to help troubleshoot and diagnose a problem. Although they&#8217;re now offering support contracts, it&#8217;s not how they started out.</p><p>If you have a crack operations team at your disposal, or you hire a third party provider like <a
href="www.iheavy.com/consulting-service/">Heavyweight Internet Group</a> Amazon Web Services gives you the flexibility and power to build phenomenal and scalable architectures. But if you&#8217;re a very small team without tons of technical know-how, you may well do better with a service-oriented provider like Rackspace et al.</ol></div><h2>A few more considerations…</h2><div
id="PageList"><ul><li>Will your cloud provider go out of business?</li><li>Could a Subpoena against your provider draw you into the net?</li><li>Since you don&#8217;t know where your sensitive data is, should you consider encryption?</li><li>Should I keep additional backups outside of the cloud?</li><li>Should I use multiple cloud providers?</li><li>Should I be concerned about the lack of perimeter security?</li></ul></div><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/05/08/3-things-ceos-should-know-about-the-cloud-2/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Ten things to remember about MySQL backups</title><link>http://www.iheavy.com/2012/05/03/ten-things-remember-mysql-backups/</link> <comments>http://www.iheavy.com/2012/05/03/ten-things-remember-mysql-backups/#comments</comments> <pubDate>Thu, 03 May 2012 21:33:27 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Database Management]]></category> <category><![CDATA[backups]]></category> <category><![CDATA[database management]]></category> <category><![CDATA[database recovery]]></category> <category><![CDATA[fire drills]]></category> <category><![CDATA[mysql]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=4260</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/05/03/ten-things-remember-mysql-backups/">Ten things to remember about MySQL backups</a></p><p>Use Hot Backups Hot backups are an excellent way to backup MySQL.  They can run without blocking your application, and save tons on restore time.  Percona&#8217;s xtrabackup tool is a great way to do this.  We wrote a how-to on using xtrabackup for hotbackups. Use Logical Backups Just because we love hot backups using xtrabackup [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/05/03/ten-things-remember-mysql-backups/">Ten things to remember about MySQL backups</a></p><p><a
href="http://www.iheavy.com/?attachment_id=4264"><img
class="alignleft size-full wp-image-4264" title="Backups - Your Digital Life Preserver" src="http://www.iheavy.com/wp-content/uploads/2012/05/Screen-shot-2012-05-03-at-5.40.10-PM.png" alt="" width="238" height="236" /></a></p><div
id="PostList"><ol><li>Use Hot Backups</li><p>Hot backups are an excellent way to backup MySQL.  They can run without blocking your application, and save tons on restore time.  Percona&#8217;s xtrabackup tool is a great way to do this.  We wrote a <a
href="http://www.iheavy.com/2012/04/17/easy-mysql-replication-with-hotbackups-2/">how-to on using xtrabackup for hotbackups.</a></p><li>Use Logical Backups</li><p>Just because we love hot backups using xtrabackup doesn&#8217;t mean mysqldump isn&#8217;t useful.  Want to load data into Amazon RDS?  Want to isolate and load only one schema, or just one table?  All these great uses make mysqldump indispensable.  Use it in combination with periodic hot backups to give you more recovery options.</p><li>Replication isn&#8217;t a backup</li><p>While replication provides a great way to keep a hot copy of your production database, it&#8217;s not the same as a backup.  Why?  Operator error, that&#8217;s why!  People make mistakes, drop tables and database schemas that later need to be restored.  This can and will happen, so head off the disaster by doing real backups.</p><p>As an additional note, if you&#8217;re using replication, you surely want to <a
href="http://www.iheavy.com/2012/04/26/bulletproofing-mysql-replications-with-checksums/">perform regular checksums of your data</a>.  These ensure that the primary and secondary do indeed contain the same data.</p><li>Firedrills &amp; Restore Time</li><p>The only way to be sure your backup is complete is to test restoring everything.  Yes it&#8217;s a pain, but it will inevitably be a learning experience.  You&#8217;ll document the process to speed it up in future tests, you&#8217;ll learn how long recovery takes, and find additional pieces to the pie that must be kept in place.  Doing this in advance of d-day is</p><p>Different backups have different recovery times.  In the industry vernacular, your RTO or recovery time objective should inform what will work for you.  Although a mysqldump may take 30 minutes to complete, your restore of that data might take 8 hours or more.  That&#8217;s due in part to rebuilding all those indexes.  When you perform the dump one create index statement is formulated from the data dictionary, but on import the data must be sorted and organized to rebuild the index from scratch.  Percona&#8217;s mysqldump utility will capitalize on MySQL&#8217;s fast index rebuild for Innodb tables.  According to the Percona guys this can bring a big improvement in import time.  Yet another great reason to use the Percona distro!</p><li>Transaction Logs</li><p>If you want to be able to do point in time recovery, you&#8217;ll need all the binlog files as well.  These are being created all the time, while new transactions are completed in your database. If your last backup was last night at 3am, and you want to recovery today until 3pm, you&#8217;ll need all the binary logs from the intervening hours to apply to that backup.  This process is called point-in-time recovery, and can bring your database restore up to the current commited transactions.</p><li>Backup Config Files</li><p>Don&#8217;t forget that lonely /etc/my.cnf file.  That&#8217;s an important part of a backup if you&#8217;re rebuilding on a newly built server.  It may not need to be backed up with the same frequency, but should be included.</p><li>Stored Code &amp; Grants</li><p>Stored procedures, triggers and functions are all stored in the mysql database schema.  If you are doing a restore of just one database schema, you may not have this, or it may make the restore more complicated.  So it can be a good idea to backup code separately.  mysqldump can do this with the &#8211;routines option.  Hot backups by their nature, will capture everything in the entire instance &#8211; that is all database schemas including the system ones.</p><p>Grants are another thing you may want to backup separately.  For the same reasons as stored code, grants are stored in the system tables.  Percona toolkit includes a nice tool for this called pt-show-grants.  We recommend running this periodically anyway, as it&#8217;ll give you some perspective on permissions granted in your database.  You&#8217;re reviewing those right?</p><li><strong>Events &amp; Cronjobs</strong></li><p>MySQL allows the running of events inside the database.  SHOW EVENTS or SHOW EVENTS schema_name will display the events scheduled.</p><p>You may also have cronjobs enabled.  Use crontab -l to display those for specific users.  Be sure to check at least &#8220;mysql&#8221; and &#8220;root&#8221; users as well as other possible application users on the server.</p><li>Monitoring</li><p>Backups are a nit picky job, and often you don&#8217;t know if they&#8217;re complete until it&#8217;s time to restore.  That&#8217;s why we recommend firedrills above, and they&#8217;re very important.  You can also monitor the backups themselves.  Use an error log with mysqldump or xtrabackup, and check that logfile for new messages.  In addition you can check the size of the resulting backup file.  If it has changed measurably from the recent backup sizes, it may indicate problems.  Is your backup size 0, something serious is wrong.  Half the size of recent ones, it may have failed halfway through, or the filesystem filled up.</p><li>Security</li><p>This is often overlooked area, but may be a concern for some environments.  Is the data contained in your backup sensitive?  Consider where the backups are stored and retained for long term.  Reason who has access to those files, and make use of the least privileges rule.</ol></div><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/05/03/ten-things-remember-mysql-backups/feed/</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>Tyranny of a Google vote</title><link>http://www.iheavy.com/2012/04/30/tyranny-of-a-google-vote-2/</link> <comments>http://www.iheavy.com/2012/04/30/tyranny-of-a-google-vote-2/#comments</comments> <pubDate>Mon, 30 Apr 2012 11:15:11 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Business]]></category> <category><![CDATA[content strategy]]></category> <category><![CDATA[search marketing]]></category> <category><![CDATA[seo]]></category> <category><![CDATA[website strategy]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=4166</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/04/30/tyranny-of-a-google-vote-2/">Tyranny of a Google vote</a></p><p>For the past year I’ve been seeing headline blogs analyzing the effect of Google’s last algorithm update, dubbed the Panda. There was much talk of unfair relegation from the first page of Google search results, and general indignance by the SEO community. As with any subject in which I only have cursory knowledge I didn’t [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/04/30/tyranny-of-a-google-vote-2/">Tyranny of a Google vote</a></p><div
id="attachment_4172" class="wp-caption alignleft" style="width: 330px"><a
href="http://www.iheavy.com/2012/04/30/tyranny-of-a-google-vote-2/googleinchains-2/" rel="attachment wp-att-4172"><img
class="size-full wp-image-4172 " title="GoogleInChains" src="http://www.iheavy.com/wp-content/uploads/2012/04/GoogleInChains1.jpg" alt="" width="320" height="179" /></a><p
class="wp-caption-text">Image by Hajo de Reijger, politicallyillustrated.com</p></div><p>For the past year I’ve been seeing headline blogs analyzing the effect of Google’s last algorithm update, dubbed the Panda. There was much talk of unfair relegation from the first page of Google search results, and general indignance by the SEO community.</p><p>As with any subject in which I only have cursory knowledge I didn’t think much of it. I thought that as long as I didn’t engage in link-buying and whatever is known as “black hat” tactics, the search engines would be fair. What I didn’t realise with Google was how subjective it has become in ranking websites. I was particularly tripped up in the area of duplicate content.</p><p>Some of my articles are syndicated to DZone.com, a hub for tech bloggers. They’d approached me about a year ago asking if I’d like them to carry our content. It seemed like a good way to gain visibility so I agreed.</p><p>Recently, I ran a Google search on the actual content that was syndicated and found the following results:</p><table><tbody><tr><th>Title</th><th>Dzone rank</th><th>iheavy rank</th></tr><tr><td>Zero Downtime &#8211; What is it?</td><td>#21</td><td>(not in first 5 pages)</td></tr><tr><td>Deploying MySQL on EC2</td><td>#1</td><td>(not in first 5 pages)</td></tr><tr><td>Cloud Computing Use Cases</td><td>#5</td><td>(not in first 5 pages)</td></tr></tbody></table><p>Now DZone.com&#8217;s pagerank is a 6 while iheavy.com is a 3. Google&#8217;s algorithm is probably weighing the pagerank of Dzone higher, and serving up those results at the expense of the original. It could be that the algorithms can&#8217;t determine which is original but Google&#8217;s bots know full well when content is published, so it knows the iheavy.com content was created before.</p><p>More likely it cannot supersede the ranking algorithm. It is one based on popularity.</p><h2>What&#8217;s Original Content?</h2><p>All of this raises the question of the value of original content. In this case we&#8217;ve given this site permission to carry our content, not knowing whether that would be good or bad for us. Nevertheless, it does seem to go against common sense, and perhaps what Internet users intuition might tell them, that they were not clicking through to the original creator of some content.</p><h2>Can Google&#8217;s Algorithm Discern Original Work? Is there an incentive to do so?</h2><p>The update brings up interesting questions about Google&#8217;s ranking algorithm. In a world where the popularity indicator is given the highest weight, will we find what we are looking for? In my case, I write articles related to my area of expertise, which is on web architecture, scalability and general tech consulting matters. Of course I want people to find my site when they’re looking for solutions to problems relevant to them. Yet in Google’s calculations, popularity trumps provenance.</p><p>Many bigger sites are experiencing the same thing and at an even larger scale. According to SEO Moz, Panda is <a
href="http://www.seomoz.org/blog/how-googles-panda-update-changed-seo-best-practices-forever-whiteboard-friday">forcing a change onto the role of SEOs</a>, turning them into that of web strategists. While traditional SEO methods of optimizing for keywords, and putting out quality content still count, design and user experience, shareability, likeability; what’s known as “signals” that could predict the site’s popularity, are influencing the overall results of your site.</p><p>As an independent business owner with limited resources my time off hours is invested in writing better articles that appeal to people searching for MySQL or scalability consulting and less about putting in the bells and whistles to raise site popularity. But if that’s what Google favors then I’ll probably have to rethink my approach.</p><p>As much as I can squeeze out of a busy schedule, there’s not a high chance that this website can surpass a giant such as Dzone in popularity.</p><p>The Internet is meant to be a place where the pint-sized can have a fair chance at making an impression. With the way search algorithms have evolved, things are looking more like a reality TV talent contest where skill alone without good looks and a nice smile are just not enough to win the popular vote.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/04/30/tyranny-of-a-google-vote-2/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>The Power of Habit by Charles Duhigg</title><link>http://www.iheavy.com/2012/04/27/the-power-of-habit/</link> <comments>http://www.iheavy.com/2012/04/27/the-power-of-habit/#comments</comments> <pubDate>Fri, 27 Apr 2012 08:01:49 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Book Review]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=4151</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/04/27/the-power-of-habit/">The Power of Habit by Charles Duhigg</a></p><p>Habits. We all have them. The good ones we celebrate, but the bad ones we struggle with. Duhigg’s book may introduce some ideas to those of us less familiar with behavioral sciences but it fails to effectively teach us how to form good habits and break the bad ones. Filled with pages of stories from [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/04/27/the-power-of-habit/">The Power of Habit by Charles Duhigg</a></p><p><a
href="http://www.iheavy.com/2012/04/27/the-power-of-habit/book-review-the-power-of-habit/" rel="attachment wp-att-4154"><img
class="alignleft size-full wp-image-4154" title="Book Review The Power of Habit" src="http://www.iheavy.com/wp-content/uploads/2012/04/power_habit.jpg" alt="" width="300" height="456" /></a>Habits. We all have them. The good ones we celebrate, but the bad ones we struggle with. Duhigg’s book may introduce some ideas to those of us less familiar with behavioral sciences but it fails to effectively teach us how to form good habits and break the bad ones.</p><p>Filled with pages of stories from successful brands such as Pepsodent which Duhigg credits for turning the brushing of teeth into a daily routine; and perhaps more tenuous ones about leaders such as Paul O’ Neill, the CEO of Alcoa who purportedly turned around the fortunes of an ailing organisation by changing its safety practices.</p><p>From cue, routine to reward we must first identify the habit, then in a way that parallels the success of Alcoholic Anonymous, you replace the routine, keeping the cue and reward. In discussing the success of AA and others, he brings up the importance of belief in long term success of habit change. He references William James&#8217; famous quote &#8220;Believe that life is worth living, and your belief will help create that fact&#8221;.</p><p>Still, I couldn&#8217;t help thinking that for the average business manager it lacked actionable advice of the kind you might find in a Jim Collins Good to Great or Chip Conley&#8217;s Peak. These books also have excellent story telling, but break things down in a very specific set of steps and attributes that an organization or individual can apply today.</p><p>Duhigg&#8217;s writing is easy to read and that’s probably the book’s greatest strength. Yet with most of it grounded more in interesting anecdotes than credible research, the examples unfortunately give for more entertaining reading than any deep insight.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/04/27/the-power-of-habit/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Bulletproofing MySQL replication with checksums</title><link>http://www.iheavy.com/2012/04/26/bulletproofing-mysql-replications-with-checksums/</link> <comments>http://www.iheavy.com/2012/04/26/bulletproofing-mysql-replications-with-checksums/#comments</comments> <pubDate>Thu, 26 Apr 2012 10:33:03 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[checksum]]></category> <category><![CDATA[mysql replication]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=4140</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/04/26/bulletproofing-mysql-replications-with-checksums/">Bulletproofing MySQL replication with checksums</a></p><p>Your MySQL replications running well? You might not even know if they aren&#8217;t. One of the scariest things about MySQL replication is that it can drift out of sync with the master “silently”. No errors, no warnings. What and Why? MySQL&#8217;s replication solution evolved as a statement based technology. Instead of sending actual block changes, [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/04/26/bulletproofing-mysql-replications-with-checksums/">Bulletproofing MySQL replication with checksums</a></p><p><a
href="http://www.iheavy.com/2012/04/26/bulletproofing-mysql-replications-with-checksums/bulletproof-glass/" rel="attachment wp-att-4206"><img
src="http://www.iheavy.com/wp-content/uploads/2012/04/bulletproof-glass.png" alt="bulletproof glass" title="bulletproof-glass" width="320" height="214" class="alignleft size-full wp-image-4206" /></a><br
/> Your MySQL replications running well? You might not even know if they aren&#8217;t. One of the scariest things about MySQL replication is that it can drift out of sync with the master “silently”. No errors, no warnings.</p><div
id="PostList"><ol><li>What and Why?</li><p>MySQL&#8217;s replication solution evolved as a statement based technology. Instead of sending actual block changes, MySQL just has to log committed transactions, and reapply those on the slave side. This affords a wonderful array of topologies and different uses, but has it&#8217;s drawbacks. The biggest occur when data does not get updated or changed in the same way on the slave. If you&#8217;re new to MySQL or coming from the Oracle world you might expect that this would flag an error. But there are many scenarios in which MySQL will not flag an error:</p><div
id="Post_SubList"><ul><li>mixed transactional and non-transactional tables</li><li>use of non-deterministic functions such as uuid()</li><li>stored procedures and functions</li><li>update with LIMIT clause</li></ul></div><p>There are others but suffice it to say if you want to rely on your slave being consistent, you need to check it!</p><li>The solution &#8211; mathematical checksums</li><p>If you&#8217;re a seasoned Linux user, you&#8217;re probably familiar with the md5sum command. It creates a checksum on a file. You can do so on different servers to compare a file in a mathematically exact way. In fact rsync uses this technique to efficiently determine what files or pieces of files need to be copied across a network. That&#8217;s what makes it so fast!</p><p>It turns out that MySQL can checksum tables too. However were we to build our own solution, we might have trouble doing so manually as table data is constantly in a state of flux.</p><p>Enter Percona&#8217;s pt-table-checksum tool formerly part of Maatkit. Run it periodically against your master schemas or the entire instance if you like. It will store checksums of all of your tables in a special checksum table. The data from this table then will propagate through replication to all of your connected slaves.</p><p>The tool then has a check mode, which allows you to verify all the connected slaves are ok, or report the differences if it finds any.</p><li>Step-by-step Setup</li><p>First you&#8217;ll need to grab a copy of the percona toolkit. Note that if you previously installed maatkit then you may want to delete those old scripts to avoid confusion. mk-table-checksum if you used maatkit, or pt-table-checksum if you have 1.0 versions. You likely installed using wget or perl Makefile, so you may need to go and remove those manually.</p><p>Assuming you&#8217;ve already got the percona repository installed issue:</p><div
class="code"> <code>$ yum install -y percona-toolkit</code></div><p>I&#8217;ve found some of the maatkit tools to be rather fussy about getting all the options right. The first thing to do which will help simplify this is to add a section in your local user&#8217;s &#8220;.my.cnf&#8221; file like this:</p><div
class="code"><p><code>[client]</p><p>user=root</p><p>password=myrootpassword</code><br
/> </code></div><p>That way the percona tools will look for this whenever it needs authentication credentials. Otherwise we assume localhost for this example, so you should verify you can connect with the mysql client as root from localhost.</p><p>Now let's checksum the "mysql" system schema.</p><div
class="code"> <code>$ pt-table-checksum --replicate=test.checksum --create-replicate-table --databases=mysql localhost</code></div><p>Note the --create-replicate-table option. You only need this option the first time. From there the test.checksum table will exist.</p><p>You should see some output that looks like this:</p><div
class="code"> <code>TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE</p><p>04-24T16:06:45 0 0 0 1 0 0.099 mysql.columns_priv</p><p>04-24T16:06:45 0 0 32 1 0 0.100 mysql.db</p><p>04-24T16:06:45 0 0 0 1 0 0.096 mysql.event</p><p>04-24T16:06:45 0 0 0 1 0 0.096 mysql.func</p><p>04-24T16:06:45 0 0 38 1 0 0.102 mysql.help_category</p><p>04-24T16:06:45 0 0 452 1 0 0.106 mysql.help_keyword</p><p>04-24T16:06:46 0 0 993 1 0 0.096 mysql.help_relation</p><p>04-24T16:06:46 0 0 506 1 0 0.100 mysql.help_topic</p><p>04-24T16:06:46 0 0 0 1 0 0.099 mysql.host</p><p>04-24T16:06:46 0 0 0 1 0 0.104 mysql.ndb_binlog_index</p><p>04-24T16:06:46 0 0 0 1 0 0.107 mysql.plugin</p><p>04-24T16:06:46 0 1 1 1 0 0.115 mysql.proc</p><p>04-24T16:06:46 0 0 0 1 0 0.186 mysql.procs_priv</p><p>04-24T16:06:46 0 1 1 1 0 0.097 mysql.proxies_priv</p><p>04-24T16:06:47 0 0 0 1 0 0.097 mysql.servers</p><p>04-24T16:06:47 0 0 0 1 0 0.096 mysql.tables_priv</p><p>04-24T16:06:47 0 0 0 1 0 0.098 mysql.time_zone</p><p>04-24T16:06:47 0 0 0 1 0 0.097 mysql.time_zone_leap_second</p><p>04-24T16:06:47 0 0 0 1 0 0.100 mysql.time_zone_name</p><p>04-24T16:06:47 0 0 0 1 0 0.100 mysql.time_zone_transition</p><p>04-24T16:06:47 0 0 0 1 0 0.095 mysql.time_zone_transition_type</p><p>04-24T16:06:47 0 1 38 1 0 0.100 mysql.user</p><p></code></div><li>How to check slaves</li><p>Once you've collected all those fancy checksums for your tables, nicely timestamped, you'll want to verify that your slaves are happily in sync. You can do that with the following command, also on the master:</p><div
class="code"> <code>$ pt-table-checksum --replicate=test.checksum --replicate-check-only --databases=mysql localhost</code></div><p>If there's no differences you'll see no output. If you have a difference it'll look something like this:</p><div
class="code"> <code>Differences on ip-10-15-27-19</p><p>TABLE CHUNK CNT_DIFF CRC_DIFF CHUNK_INDEX LOWER_BOUNDARY UPPER_BOUNDARY</p><p>mysql.user 1 1 1</code></div><p>In our case you can see we created some users on the slaves accidentally, hence the differences. It illustrates how easy it is for differences to creep into your environment and also how easy it now is to find them!</p><li>Special Cases</li><p>Since one of my clients uses Drupal, they've had trouble replicating the semaphore table. This tables is a MyISAM table, and unfortunately no one dares convert it to InnoDB. So from time to time some gunk builds up in there, and it fails on the slave. We could clean out the table, but we decided to just filter out this one table. Since Drupal doesn't use fully qualified schema.table names in it's code, only "use" we have found this to be safe.</p><p>However the percona toolkit explicitely checks for replication filters and will not run. It'll stop with an error as follows:</p><div
class="code"> <code>$ pt-table-checksum --replicate=test.checksum --databases=sean --ignore-tables=semaphore localhost</p><p>04-24T15:59:29 Replication filters are set on these hosts:</p><p>ip-10.15.27.19</p><p>replicate_ignore_table = sean.semaphore</p><p>ip-10-15-27-72</p><p>replicate_ignore_table = sean.semaphore</p><p>ip-10-15-27-18</p><p>replicate_ignore_table = sean.semaphore</p></div><p>Please read the --check-replication-filters documentation to learn how to solve this problem. at /usr/bin/pt-table-checksum line 6166.</code></div><p>The solution is the --nocheck-replication-filters option. Keep in mind that this sanity check is there for a reason, so be sure to skip the relevant tables in your checksum building, and checksum checks.</p><p>To build checksums skipping the semaphore table use this command:</p><div
class="code"> <code>$ pt-table-checksum --replicate=test.checksum --ignore-tables=prod.semaphore --nocheck-replication-filters localhost</code></div><p>Now you can check your slaves but ignore the semaphore table:</p><div
class="code"> <code><br
/> $ pt-table-checksum --replicate=test.checksum --replicate-check-only --ignore-tables=prod.semaphore --nocheck-replication-filters localhost</code></div><p>We also found a bug which preventing us from specifying multiple tabes on the ignore-tables line. So we used multiple invocations to do different schemas like this:</p><div
class="code"> <code><br
/> $ pt-table-checksum --replicate=test.checksum --replicate-check-only --databases=prod1 --ignore-tables=prod1.semaphore --nocheck-replication-filters localhost</p><p>$ pt-table-checksum --replicate=test.checksum --replicate-check-only --databases=prod2 --ignore-tables=prod2.semaphore --nocheck-replication-filters localhost</code></div><li>Crash Protection</li><p>If you've used MySQL replication for any length of time, you've probably seen a server crash. MySQL replication can have trouble restarting if you're using temporary tables, as they'll be missing upon restart. Also MySQL before 5.5 leaves syncing the info files to the operating system. So they may be incorrect after a crash.</p><p>1. Use MySQL 5.5 if possible</p><p>There are some new parameters in 5.5 that protect the info files from a crash. These are a great addition, and will make your slave databases more bulletproof.</p><div
class="code"> <code>sync_master_info = 1</p><p>sync_relay_log = 1</p><p>sync_relay_log_info = 1</code></div><p>2. Don't use temporary tables</p><p>After a restart they'll simply be gone, so queries requiring or running against them will fail.</p><p>The Percona guys' new book High Performance MySQL third edition, suggests an alternate solution to using temporary tables. Use a special schema to hold your temp data, but create them as normal permanent tables. Be sure your application creates them with unique names, using the connection_id() for example. Lastly have a cleanup process drop tables periodically, based on closed connection_ids.</ol></div><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/04/26/bulletproofing-mysql-replications-with-checksums/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Don&#8217;t be that guy–Social tips for geeks</title><link>http://www.iheavy.com/2012/04/23/dont-be-that-guy-social-tips-for-geeks/</link> <comments>http://www.iheavy.com/2012/04/23/dont-be-that-guy-social-tips-for-geeks/#comments</comments> <pubDate>Mon, 23 Apr 2012 17:00:31 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Business]]></category> <category><![CDATA[communication]]></category> <category><![CDATA[management]]></category> <category><![CDATA[people skills]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=4106</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/04/23/dont-be-that-guy-social-tips-for-geeks/">Don&#8217;t be that guy–Social tips for geeks</a></p><p>As a tech consultant one of the most interesting parts of the job is being able to observe human relations at work. I’ve learned through the years that because tech people and non-tech people speak different ‘languages’, bridging the communication gap is a critical part of my role as a consultant. Sometimes the relationship between [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/04/23/dont-be-that-guy-social-tips-for-geeks/">Don&#8217;t be that guy–Social tips for geeks</a></p><p><a
href="http://www.iheavy.com/2012/04/23/dont-be-that-guy-social-tips-for-geeks/sheldon/" rel="attachment wp-att-4109"><img
class="alignleft size-full wp-image-4109" title="sheldon" src="http://www.iheavy.com/wp-content/uploads/2012/04/sheldon.jpg" alt="Sheldon Cooper" width="245" height="268" /></a>As a tech consultant one of the most interesting parts of the job is being able to observe human relations at work. I’ve learned through the years that because tech people and non-tech people speak different ‘languages’, bridging the communication gap is a critical part of my role as a consultant.</p><p>Sometimes the relationship between tech and other business units is less sweet. The typical complaints are that IT guys are always denying requests, aloof and even downright unhelpful.</p><p>On the other side, the geeks feel frustrated that people “just don’t listen”. We remind people to always use strong passwords, and people still make “password” their password. We train end-users and give specific guidance and instructions but they still commit the fundamental mistakes. Meanwhile, the managers expect IT staff to perform miracles.</p><p>So who can be blamed when this animosity exists? Geeks for their arrogance? Or end-users for not making an effort to improve their understanding of tech concepts? Perhaps both sides can share the blame. But as tech folks we can try to make things better by working on our communication skills. Sliding into aloofness will not only make people resentful but suspicious of our motives too. Don&#8217;t be that guy!</p><p>If you&#8217;ve found yourself slipping up in the people-skills department, here are a few tips that can help you along. Think of understanding and persuading other people as a puzzle equally complex as the biggest engineering challenge. In that light you can look at it as an ongoing project to improve your communication and charm.</p><div
id="PostList"><ol><li>Please Speak My Language</li><p>Martha Stewart said &#8220;the biggest mistake people make is they expect that others know stuff…&#8221;. Amen Martha. In my experience a lot of folks fall into this category. Ever been at a meeting where financial folks are waxing on about the business bottom line, margins, and shareholder value? If talk of capex, opex and other financial terms confound you, then you know the feeling. So why subject others to this when we talk tech? There&#8217;s no reason to, and people will love you for using a language that everyone can understand. Use analogies and stories to emphasize an idea or point so it resonates with your audience.</p><li>Listen to me</li><p>Everyone wants to be listened to; hopefully that&#8217;s obvious. But sometimes we get stuck on our own ideas, and focus more on people hearing us. It may sound counterintuitive, but psychologically speaking, listening more to the other person makes them listen to your ideas more. Start by giving plenty of time to speak, and try to repeat the other persons ideas in your own words. You&#8217;ll set the tone for a more reasoned dialogue and find your own thoughts heard more too.</p><li>Be more positive</li><p>Perhaps it is our engineering backgrounds, and the discipline that the scientific method ingrains in us. You may think that being critical is a common way to approach a discussion on issues. However this may come across as negative and stand-offish depending on how you communicate. What&#8217;s more if your audience doesn&#8217;t see things from your perspective, you may find yourself complaining and condemning proposals.</p><p>Better to find the positive as a common starting point. Speak about all the things that work well first, before working your way around to points of difference.</p><li>Speak slowly</li><p>Psychologists have found that people sense more confidence and listen more to people who speak slowly. It may seem counterintuitive, after all if you speak quicker, you may be able to get that complicated idea out into the world before you are ever interrupted! What&#8217;s more speaking slowly allows you to think about what might come next, anticipating reactions, or even changing direction slightly in mid-stream. It also allows you more time to catch what might be a … or a slip of the tongue.</p><li>A few more ideas to chew on&#8230;</li><div
id="Post_SubList"><ol><li>Smile more</li><p>You may not be aware of how often you&#8217;re smiling or not. What&#8217;s more you may think it insincere to try to smile. But a frown, or other negative face can criticize your audience as much as actual words can. And it can set people off on the wrong foot, so they won&#8217;t listen to you either. Better to stay positive, and convey that with a smile.</p><li>Remember &amp; use people&#8217;s names</li><p>People love to hear their own names. Remembering and using someone&#8217;s name improves the chances that they will listen to you and your ideas.</p><li>Repeat what others say in your own words</li><p>This one is really crucial. By repeating someone&#8217;s ideas in your own words you do a few things all at once. First you improve communication, as it is so often the case that we misunderstand someone else&#8217;s ideas, repeating them in your own words allows them to hear how you&#8217;ve digested their point, and allows them to comment or adjust if you missed something. It also shows them you are really listening. If you&#8217;re going to critique someone, and they feel you didn&#8217;t really get their idea, they&#8217;ll be very unlikely to listen.</p><li>Try not to say &#8220;you&#8217;re wrong&#8221;</li><p>Even in the cases where the other person is completely wrong, this statement may not have the intended affect. It may simple cause them to wall off and not listen to you. Better to point out the sides of what they are saying that you can agree with first, then come around to some differences.</p><li>Read Dale Carnegie</li><p>The classic book &#8220;How to Win Friends &amp; Influence People&#8221; should really be required reading for the geek set. Being personable and charming may not be natural to all of us, but a lot of it can be learned with practice. Dale Carnegie has written a sort of bible on the topic, and it&#8217;s definitely worth a read.</ol></ol></div><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/04/23/dont-be-that-guy-social-tips-for-geeks/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>5 Ways to fortify MySQL replication</title><link>http://www.iheavy.com/2012/04/19/5-ways-to-fortify-mysql-replication/</link> <comments>http://www.iheavy.com/2012/04/19/5-ways-to-fortify-mysql-replication/#comments</comments> <pubDate>Thu, 19 Apr 2012 14:07:02 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[mysql repli]]></category> <category><![CDATA[mysql replication]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=4057</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/04/19/5-ways-to-fortify-mysql-replication/">5 Ways to fortify MySQL replication</a></p><p>MySQL replication technology is powerful and flexible. But it doesn&#8217;t do everything perfectly all the time. You may experience trouble with the slaves falling behind the master, or want to scale horizontally by building new slaves automatically. Or you might need to build a slave without blocking the master database. All of these goals can [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/04/19/5-ways-to-fortify-mysql-replication/">5 Ways to fortify MySQL replication</a></p><p><a
href="http://www.iheavy.com/2012/04/19/5-ways-to-fortify-mysql-replication/fort/" rel="attachment wp-att-4061"><img
class="alignleft size-full wp-image-4061" title="fort" src="http://www.iheavy.com/wp-content/uploads/2012/04/fort.jpg" alt="fort" width="320" height="240" /></a> MySQL replication technology is powerful and flexible. But it doesn&#8217;t do everything perfectly all the time. You may experience trouble with the slaves falling behind the master, or want to scale horizontally by building new slaves automatically. Or you might need to build a slave without blocking the master database.</p><p>All of these goals can be achieved using some powerful tools. Here&#8217;s a quick guide to those tools and how to use them.</p><div
id="PostList"><ol><ol><li>Build new Replicas without Downtime</li></ol></ol><p>Something we&#8217;re sure you need to do quite often is to build new slaves. You can snapshot from another slave by bringing the slave down, copying it&#8217;s datadir to an alternate machine, updating the server_id and then starting up. However sometimes you have no slave, or your current slaves are serving data.</p><p>In those cases you&#8217;ll need a way to snapshot off the master. With the great xtrabackup tool, you can create a snapshot of your production database without the locking of mysqldump. What&#8217;s more the resulting snapshot is a full datadir, so you won&#8217;t need to import all the data as you would with mysqldump. Saves yourself a lot of time!</p><p>Take a look at our how-to for <a
href="http://www.iheavy.com/2012/04/17/easy-mysql-replication-with-hotbackups-2/">building replication slaves using hotbackups</a>.</p><ol><ol><li>Autoscale in the Cloud</li></ol></ol><p>We wrote an extensive how-to diving into the nuts and bolts of <a
href="http://www.iheavy.com/2012/04/09/autoscaling-mysql-on-amazon-ec2/">MySQL Autoscaling</a>.</p><ol><ol><li>Use semisynchronous replication</li></ol></ol><p>In MySQL 5.5, the Google code contributions got rolled into the Generally Available version. That brings some great new features and functionality to make your replicas more resilient and improve overall redundancy.</p><p>We have an upcoming article planned for May that digs into configuring semisynchronous replication.</p><ol><ol><li>Add integrity checking</li></ol></ol><p>Statement based replication, as powerful as it is, has some serious limitations. As it turns out, many slave databases drift silently out of sync with the master. What&#8217;s more they don&#8217;t flag errors when they do so. The reason why this can happen has to do with the nature of statement based replication. If you combine transactional &amp; non-transactional tables, for example, and a transaction rolls back, the statements on MyISAM tables will still get replicated, resulting in potentially different rows on the slave. Other cases include various non-deterministic functions such as sysdate which may return different results on the slave.</p><p>Row-based replication begins to address these problems, by offering an alternative which includes the actual data changes replicated over the wire, instead of the statement instructions. Still this technology is new, and situations limit it&#8217;s use in some environments.</p><p>The best way to handle this situation is by using the Percona Toolkit checksum tool. This calculates checksums just like you might to compare files at the filesystem, and just as rsync does to sync data over ssh.</p><p>We have an upcoming article planned for May, covering <a
href="http://www.iheavy.com/2012/04/26/bulletproofing-mysql-replications-with-checksums/">table checksuming in depth</a>. We&#8217;ll discuss how to collect the checksums via a cronjob, and then how to write a check which you can roll into Nagios, to monitor your data regularly.</p><ol><ol><li>Watch out for the Potholes</li></ol></ol><div
id="Post_SubList"><ol><ol><li>Use stored procedures &amp; triggers sparingly or not at all</li></ol></ol><p>Stored procedures can behave strangely with statement based replication, and can easily break things. That&#8217;s because stored procedures are fairly non-deterministic by nature. If you want your replication to be bulletproof, avoid them.</p><ol><ol><li>Don&#8217;t write to both masters</li></ol></ol><p>Sounds straightforward enough, but MySQL does not prevent you from doing so. We recommend you set the read-only flag on inactive masters, to protect you. You could also monitor certain key tables to be further cautious.</p><ol><ol><li>Be sure to set unique server_id</li></ol></ol><p>MySQL&#8217;s binary logging uses the server_id setting to uniquely identify servers in the replication topology. So it&#8217;s crucial that they be set on all servers, and be unique.</p><ol><ol><li>Be very wary using temporary tables</li></ol></ol><p>If a slave server dies, it&#8217;s temporary tables will be missing upon restart. If you have subsequent queries that rely on them, they&#8217;ll fail. Better to avoid them or use them very sparingly.</p><ol><ol><li>Avoid MyISAM tables altogether</li></ol></ol><p>InnoDB should really be used for all MySQL environments. Any exceptions are so few, as to be not worth mentioning.</p><p>MyISAM tables are not crash safe, can and will lose data, and can be very slow due to locking problems.</p><p>Do you need to do full text searching, Sphinx comes to mind. It&#8217;s more scalable, takes load off the database server, and is lightening quick!</p><p>Lastly MyISAM tables can break replication, and we don&#8217;t want that! They&#8217;re not transaction safe, so if you mix them with InnoDB, bad things can happen!</p><ol><ol><li>Avoid non-deterministic functions.</li></ol></ol><p>Some functions such as UUID() and RAND() will behave differently on different calls. That means they may behave differently when the slave calls the same statement it fetches from the binlog. These types of problems may break things silently, allowing your slave to drift out of sync with your master without error. See integrity checking above for ways to fix this.</p><ol><ol><li>UPDATE with LIMIT clause</li></ol></ol><p>This interesting SQL combination relies heavily on the current sort of rows in the table. Suffice it to say it can behave differently on the slave, so be cautious if you have this syntax in your code. It may break replication.</p><ol><li>Row-based replication (still fairly new)</li></ol></div><p>We are not ready to recommend row-based replication yet, as there have been reports of some troubles and surprises with it. It is a fairly new code path and though it&#8217;s included in GA release, we don&#8217;t see it widely in production yet. It does take a stab at addressing many of the issues with statement based replication though, so the potential is there. We expect to see it used more widely in the future.</p></div><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/04/19/5-ways-to-fortify-mysql-replication/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Easy MySQL replication with hotbackups</title><link>http://www.iheavy.com/2012/04/17/easy-mysql-replication-with-hotbackups-2/</link> <comments>http://www.iheavy.com/2012/04/17/easy-mysql-replication-with-hotbackups-2/#comments</comments> <pubDate>Tue, 17 Apr 2012 17:22:30 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[MySQL]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=4037</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/04/17/easy-mysql-replication-with-hotbackups-2/">Easy MySQL replication with hotbackups</a></p><p>Setting up replication in MySQL is something we need to do quite often. Slaves die, replication fails, or tables and data get out of sync. Whenever we build a slave, we must start with a snapshot of all the data from the master database. MySQLdump is the tried and true method of doing this, however [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/04/17/easy-mysql-replication-with-hotbackups-2/">Easy MySQL replication with hotbackups</a></p><p><a
href="http://www.iheavy.com/2012/04/17/easy-mysql-replication-with-hotbackups-2/clone_blue_green-2/" rel="attachment wp-att-4046"><img
class="alignleft size-full wp-image-4046" title="clone_blue_green" src="http://www.iheavy.com/wp-content/uploads/2012/04/clone_blue_green1.jpg" alt="Clone army" width="350" height="230" /></a>Setting up replication in MySQL is something we need to do quite often. Slaves die, replication fails, or tables and data get out of sync. Whenever we build a slave, we must start with a snapshot of all the data from the master database.</p><p>MySQLdump is the tried and true method of doing this, however it requires that we lock all the tables in the database. If we&#8217;re dumping a large database, this could be a significant period, where no writing can happen to our database for the duration of the backup. For many environments read-only is still an outage.</p><p>Enter hotbackups to the rescue. Percona comes with a tool that allows you to perform hotbackups of a running MySQL database, with no blocking. It&#8217;s able to do this because of Innodb &amp; multi-version concurrency control (MVCC). Luckily we don&#8217;t need to dig into the guts to enjoy the benefits of this great technology.</p><p>Here&#8217;s a quick step-by-step guide to using xtrabackup to create a slave.</p><div
id="PostList"><ol><li>Install xtrabackup</li><p>If you don&#8217;t have any Percona software already on your server, don&#8217;t worry. You don&#8217;t need to use the Percona distribution to use xtrabackup. But you will need their repository installed. Here&#8217;s how:</p><div
class="code"><code>$ rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm</code></div><p>From there simply install xtrabackup:</p><div
class="code"><code>$ yum install -y xtrabackup</code></div><li>Snapshot master datadir</li><p>The innobackupex utility comes with xtrabackup, and does the heavy lifting. So we can just use that to perform the backup.</p><div
class="code"><code>$ innobackupex /data/backup/</code></div><p>Now we&#8217;ll see a new directory created inside /data/backup which looks something like this:</p><div
class="code"><code>/data/backup/2012-04-08_04-36-15/</code></div><li>Apply binary logs</li><p>The backup which xtrabackup created above is of the current state of the database. However there are transactions which are incomplete, and others which have not been flushed to their datafiles. In other words the backup as-is would be similar to a datadir if your database crashed. Some additional transactions must still be applied.</p><p>To apply those changes, use the following command on the backup directory you created above:</p><div
class="code"><code>$ innobackupex --apply-log /data/mysql/backup/2012-04-08_04-36-15/</code></div><li>Copy to slave</li><div
class="code"><code>$ scp -r /data/mysql/backup/2012-04-08_04-36-15 root@newslave:/data/</code></div><li>Stop MySQL</li><div
class="code"><code>$ /etc/init.d/mysql stop</code></div><li>Swap datadir</li><div
class="code"><code><code>$ cd /data</code></code>$ mv mysql mysql_old$ mv 2012-04-08_04-36-15 mysql</p></div><li>Adjust my.cnf parameters</li><p>At minimum you need to set the server_id to a unique value. The IP address with the periods removed can make a good server_id.</p><li>Start MySQL</li><div
class="code"><code>$ /etc/init.d/mysql start</code></div><li>Point to master &amp; start the slave</li><p>One very nice thing about xtrabackup is that it automatically captures the master info, so we&#8217;ll easily be able to find out the current log file &amp; log position! That&#8217;s a very nice feature.</p><p>Find out where the slave should start from:</p><div
class="code"><code><code>$ cat /data/mysql/xtrabackup_binlog_info</code></code>log_bin.000027 2973624</div><p>Now tell MySQL where the new master is:</p><div
class="code"><code><code>mysql&gt; change master to</code></code>-&gt; master_user=&#8217;rep&#8217;,-&gt; master_password=&#8217;rep&#8217;,</p><p>-&gt; master_host=&#8217;10.20.30.40&#8242;,</p><p>-&gt; master_log_file=&#8217;log_bin.000027&#8242;,</p><p>-&gt; master_log_pos= 2973624;</p></div><p>Now start the slave:</p><div
class="code"><code>mysql&gt; start slave;</code></div><p>Lastly verify that it is running properly:</p><div
class="code"><code>mysql&gt; show slave status\G;</code></div><p>You should see the following:</p><div
class="code"><code><code>Slave_IO_Running: Yes</code></code>Slave_SQL_Running: Yes</div><li
style="margin-left: 40px;">Test Replication</li><p>Once you have replication up and running, you should test it as well. I like to keep a test table installed in the test schema for this purpose. Then you can test as follows:</p><div
class="code"><code>master&gt; insert into sean_test values ('xtrabackup is a great way to create a slave with MySQL');</code></div><p>Then verify that you see that row on your new slave:</p><div
class="code"><code>slave&gt; select * from sean_test;</code></div><p>Once you&#8217;ve used xtrabackup a few times, I&#8217;m sure you&#8217;ll be converted. It makes building a slave much simpler in MySQL. It captures the file &amp; position for you and what&#8217;s more there is no dump file to apply &#8211; which typically takes a lot of time too! All in all the tool makes you more efficient, and allows you to snapshot slaves anytime you like.</p><p>Now that you have replication working, you should add the icing to the cake. MySQL&#8217;s statement based replication is powerful, but even when it&#8217;s not throwing errors, the databases can get silently out of sync. In a future article we&#8217;ll discuss how to bulletproof your replication setup with a tool that performs checksums on your tables. That will give you professional enterprise class data protection in MySQL.</ol></div><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/04/17/easy-mysql-replication-with-hotbackups-2/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Thank You for Arguing &#8211; Persuasion for fun and profit</title><link>http://www.iheavy.com/2012/04/12/thank-you-for-arguing-persuasion-for-fun-and-profit/</link> <comments>http://www.iheavy.com/2012/04/12/thank-you-for-arguing-persuasion-for-fun-and-profit/#comments</comments> <pubDate>Thu, 12 Apr 2012 15:07:35 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Book Review]]></category> <category><![CDATA[books]]></category> <category><![CDATA[business dealing]]></category> <category><![CDATA[business decisions]]></category> <category><![CDATA[compromise]]></category> <category><![CDATA[debate]]></category> <category><![CDATA[logic]]></category> <category><![CDATA[negotiation]]></category> <category><![CDATA[persuasion]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=3913</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/04/12/thank-you-for-arguing-persuasion-for-fun-and-profit/">Thank You for Arguing &#8211; Persuasion for fun and profit</a></p><p>I first read about Heinrichs in a Bloomberg Businessweek piece on him. He&#8217;s quite a character, with high profile clients like Ogilvy &#38; Mather and the Pentagon. Struck by some of the ideas in there, I decided to pickup Thank You for Arguing. 48 laws of soft power Compiled into 25 very readable chapters, he [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/04/12/thank-you-for-arguing-persuasion-for-fun-and-profit/">Thank You for Arguing &#8211; Persuasion for fun and profit</a></p><p><a
href="http://www.iheavy.com/2012/04/12/thank-you-for-arguing-persuasion-for-fun-and-profit/thank_you_arguing/" rel="attachment wp-att-3970"><img
class="alignleft size-full wp-image-3970" title="thank_you_arguing" src="http://www.iheavy.com/wp-content/uploads/2012/04/thank_you_arguing.jpg" alt="thank you for arguing cover" width="260" height="346" /></a>I first read about Heinrichs in a <a
href="http://www.businessweek.com/articles/2012-03-14/jay-heinrichss-powers-of-persuasion" target="_blank">Bloomberg Businessweek piece on him</a>. He&#8217;s quite a character, with high profile clients like Ogilvy &amp; Mather and the Pentagon. Struck by some of the ideas in there, I decided to pickup Thank You for Arguing.</p><h2>48 laws of soft power</h2><p>Compiled into 25 very readable chapters, he persuades the reader by illustrating how to win trust through managing your own volume control for positive affect, verbal jousting and calling fouls, and mastering timing. Sure in the real world this is all going to require a lot of trial and error, and practice in the trenches. But his book serves as a very good guide along the way.</p><p>Don&#8217;t worry too much about Aristotle, Cicero or the classics you never learned in school. If anything they serve as a colorful highlight to his useful everyday illustrations.</p><p>Some examples worth recalling are:</p><div
id="PageList"><ul><li>Have a disagreement at a meeting? Diffuse it with &#8220;let&#8217;s tweak it&#8221;.</li><li>Pay attention to your tenses:</li><ul><li>using past tense the conversation is trying to place blame</li><li>using present tense &#8211; you&#8217;re talking about values</li><li>and using future tense &#8211; you&#8217;re considering choices and solutions</li></ul></ul><ul><li>Pay attention to commonplaces &#8211; your audience&#8217;s beliefs and values</li><li>effective argument works by:</li><ul><li>appealing to character (pathos) and understanding your audience&#8217;s personality</li><li>next using logic (logos)</li><li>finally, appealing to emotion (ethos)</li></ul></ul></div><p>He has one whole chapter on Bushisms, which I found intriguing. He explains that Bush uses code grooming to very strong effect. When speaking to different groups, he emphasizes these code words in his sentences. With women, words like &#8220;I understand&#8221;, &#8220;peace&#8221;, &#8220;security&#8221; and &#8220;protecting&#8221;. With a military group words such as &#8220;never relent&#8221;, &#8220;we must not waver&#8221; and &#8220;not on my watch&#8221; were common. For religious audiences, &#8220;I believe&#8221; resonated strongly. He quotes a superb Bushism which in this light suddenly begins to sound powerful:</p><p>&#8220;I know what I believe. I will continue to articulate what I believe and what I believe–I believe what I believe is right.&#8221;</p><p>Rhetoric indeed. I&#8217;ll be studying this book for months to come!</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/04/12/thank-you-for-arguing-persuasion-for-fun-and-profit/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Autoscaling MySQL on Amazon EC2</title><link>http://www.iheavy.com/2012/04/09/autoscaling-mysql-on-amazon-ec2/</link> <comments>http://www.iheavy.com/2012/04/09/autoscaling-mysql-on-amazon-ec2/#comments</comments> <pubDate>Mon, 09 Apr 2012 17:07:40 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[amazon ec2]]></category> <category><![CDATA[autoscaling]]></category> <category><![CDATA[cloud computing]]></category> <category><![CDATA[master slave mysql master slave replication]]></category> <category><![CDATA[mysql slave]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=3910</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/04/09/autoscaling-mysql-on-amazon-ec2/">Autoscaling MySQL on Amazon EC2</a></p><p>Autoscaling your webserver tier is typically straightforward. Image your apache server with source code or without, then sync down files from S3 upon spinup. Roll that image into the autoscale configuration and you&#8217;re all set. With the database tier though, things can be a bit tricky. The typical configuration we see is to have a [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/04/09/autoscaling-mysql-on-amazon-ec2/">Autoscaling MySQL on Amazon EC2</a></p><p>Autoscaling your webserver tier is typically straightforward. Image your apache server with source code or without, then sync down files from S3 upon spinup. Roll that image into the autoscale configuration and you&#8217;re all set.<br/><br
/> <a
href="http://www.iheavy.com/2012/04/09/autoscaling-mysql-on-amazon-ec2/russian_dolls/" rel="attachment wp-att-3953"><img
class="alignleft size-full wp-image-3953" title="Russian_Dolls" src="http://www.iheavy.com/wp-content/uploads/2012/04/Russian_Dolls.jpg" alt="autoscaling MySQL" width="350" height="232" /></a><br
/> With the database tier though, things can be a bit tricky. The typical configuration we see is to have a single master database where your application writes. But scaling out or horizontally on Amazon EC2 should be as easy as adding more slaves, right? Why not automate that process?</p><p>Below we&#8217;ve set out to answer some of the questions you&#8217;re likely to face when setting up slaves against your master. We&#8217;ve included instructions on building an AMI that automatically spins up as a slave. Fancy!</p><div
id="PostList"><ol><li>How can I autoscale my database tier?</li><div
id="Post_SubList"><ol><li>Build an auto-starting MySQL slave against your master.</li><li>Configure those to spinup. Amazon&#8217;s autoscaling loadbalancer is one option, another is to use a roll-your-own solution, monitoring thresholds on servers, and spinning up or dropping off slaves as necessary.</li></ol></div><li>Does an AWS snapshot capture subvolume data or just the SIZE of the attached volume?</li><p>In fact, if you have an attached EBS volume and you create an new AMI off of that, you will capture the entire root volume, plus your attached volume data. In fact we find this a great way to create an auto-building slave in the cloud.</p><li>How do I freeze MySQL during AWS snapshot?</li><div
class="code"><code>mysql&gt; flush tables with read lock;mysql&gt; system xfs_freeze -f /data</code></div><p>At this point you can use the Amazon web console, ylastic, or ec2-create-image API call to do so from the command line. When the server you are imaging off of above restarts &#8211; as it will do by default &#8211; it will start with /data partition unfrozen and mysql&#8217;s tables unlocked again. Voila!</p><p>If you&#8217;re not using xfs for your /data filesystem, you should be. It&#8217;s fast! The xfsprogs docs seem to indicate this may also work with foreign filesystems. Check the docs for details.</p><li>How do I build an AMI mysql slave that autoconnects to master?</li><p>Install mysql_serverid script below.</p><div
id="Post_SubList"><ol><li>Configure mysql to use your /data EBS mount.</li><li>Set all your my.cnf settings including server_id</li><li>Configure the instance as a slave in the normal way.</li><li>When using GRANT to create the &#8216;rep&#8217; user on master, specify the host with a subnet wildcard. For example &#8217;10.20.%&#8217;. That will subsequently allow any 10.20.x.y servers to connect and replicate.</li><li>Point the slave at the master.</li><li>When all is running properly, edit the my.cnf file and remove server_id. Don&#8217;t restart mysql.</li><li>Freeze the filesystem as described above.</li><li>Use the Amazon console, ylastic or API call to create your new image.</li><li>Test it of course, to make sure it spins up, sets server_id and connects to master.</li><li>Make a change in the test schema, and verify that it propagates to all slaves.</li></ol></div><li>How do I set server_id uniquely?</li><p>As you hopefully already know, in MySQL replication environment each node requires a unique server_id setting. In my Amazon Machine Images, I want the server to startup and if it doesn&#8217;t find the server_id in the /etc/my.cnf file, to add it there, correctly! Is that so much to ask?</p><p>Here&#8217;s what I did. Fire up your editor of choice and drop in this bit of code:</p><div
class="code"><p><code>#!/bin/sh</code>if grep -q &#8220;server_id&#8221; /etc/my.cnf</p><p>then</p><p>: # do nothing &#8211; it&#8217;s already set</p><p>else</p><p># extract numeric component from hostname &#8211; should be internet IP in Amazon environment</p><p>export server_id=`echo $HOSTNAME | sed &#8216;s/[^0-9]*//g&#8217;`</p><p>echo &#8220;server_id=$server_id&#8221; &gt;&gt; /etc/my.cnf</p><p># restart mysql</p><p>/etc/init.d/mysql restart</p><p>fi</p></div><p>Save that snippet at /root/mysql_serverid. Also be sure to make it executable:</p><div
class="code"><code>$ chmod +x /root/mysql_serverid</code></div><p>Then just append it to your /etc/rc.local file with an editor or echo:</p><div
class="code"><code>$ echo "/root/mysql_serverid" &gt;&gt; /etc/rc.local</code></div><p>Assuming your my.cnf file does *NOT* contain the server_id setting when you re-image, then it&#8217;ll set this automagically each time you spinup a new server off of that AMI. Nice!</p><li>Can you easily slave off of a slave? How?</li><p>It&#8217;s not terribly different from slaving off of a normal master.</p><div
id="Post_SubList"><ol><li>First enable slave updates. The setting is not dynamic, so if you don&#8217;t already have it set, you&#8217;ll have to restart your slave.</li><div
class="code"><code>log_slave_updates=true</code></div><li>Get an initial snapshot of your slave data. You can do that the locking way:</li><div
class="code"><p> <code>mysql&gt; flush tables with read lock;</code>mysql&gt; show master status\G;</p><p> mysql&gt; system mysqldump -A &gt; full_slave_dump.mysql</p><p> mysql&gt; unlock tables;</p></div><p>You may also choose to use Percona&#8217;s excellent xtrabackup utility to create hotbackups without locking any tables. We are very lucky to have an open-source tool like this at our disposal. MySQL Enterprise Backup from Oracle Corp can also do this.</p><li>On the slave, seed the database with your dump created above.</li><div
class="code"><code>$ mysql &lt; full_slave_dump.mysql</code></div><li>Now point your slave to the original slave.</li><div
class="code"><p><code>mysql&gt; change master to master_user='rep', master_password='rep', master_host='192.168.0.1', master_log_file='server-bin-log.000004', master_log_pos=399;</code>mysql&gt; start slave;</p><p>mysql&gt; show slave status\G;</ol></p></div><li>Slave master is set as an IP address. Is there another way?</li><p>It&#8217;s possible to use hostnames in MySQL replication, however it&#8217;s not recommended. Why? Because of the wacky world of DNS. Suffice it to say MySQL has to do a lot of work to resolve those names into IP addresses. A hickup in DNS can interrupt all MySQL services potentially as sessions will fail to authenticate. To avoid this problem do two things:</p><div
id="Post_SubList"><ol><li>Set this parameter in my.cnf</li><div
class="code"><code>skip_name_resolve = true</code></div><li>Remove entries in mysql.user table where hostname is not an IP address. Those entries will be invalid for authentication after setting the above parameter.</li></ol></div><li>Doesn&#8217;t RDS take care of all of this for me?</li><p>RDS is Amazon&#8217;s Relational Database Service which is built on MySQL. Amazon&#8217;s RDS solution presents MySQL as a service which brings certain benefits to administrators and startups:</p><div
id="Post_SubList"><ul><li>Simpler administration. Nuts and bolts are handled for you.</li><li>Push-button replication. No more struggling with the nuances and issues of MySQL&#8217;s replication management.</li><p>Simplicity of administration of course has it&#8217;s downsides. Depending on your environment, these may or may not be dealbreakers.</p><li>No access to the slow query log.</li><p>This is huge. The single best tool for troubleshooting slow database response is this log file. Queries are a large part of keeping a relational database server healthy and happy, and without this facility, you are severely limited.</p><li>Locked in downtime window</li><p>When you signup for RDS, you must define a thirty minute maintenance window. This is a weekly window during which your instance *COULD* be unavailable. When you host yourself, you may not require as much downtime at all, especially if you&#8217;re using master-master mysql and zero-downtime configuration.</p><li>Can&#8217;t use Percona Server to host your MySQL data.</li><p>You won&#8217;t be able to do this in RDS. Percona server is a high performance distribution of MySQL which typically rolls in serious performance tweaks and updates before they make it to community addition. Well worth the effort to consider it.</p><li>No access to filesystem, server metrics &amp; command line.</li><p>Again for troubleshooting problems, these are crucial. Gathering data about what&#8217;s really happening on the server is how you begin to diagnose and troubleshoot a server stall or pileup.</p><li>You are beholden to Amazon&#8217;s support services if things go awry.</li><p>That&#8217;s because you won&#8217;t have access to the raw iron to diagnose and troubleshoot things yourself. Want to call in an outside consultant to help you debug or troubleshoot? You&#8217;ll have your hands tied without access to the underlying server.</p><li>You can&#8217;t replicate to a non-RDS database.</li><p>Have your own datacenter connected to Amazon via VPC? Want to replication to a cloud server? RDS won&#8217;t fit the bill. You&#8217;ll have to roll your own &#8211; as we&#8217;ve described above. And if you want to replicate to an alternate cloud provider, again RDS won&#8217;t work for you.</ul></p></div></ol></div><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/04/09/autoscaling-mysql-on-amazon-ec2/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>The myth of five nines &#8211; Why high availability is overrated</title><link>http://www.iheavy.com/2012/04/01/the-myth-of-five-nines-why-high-availability-is-overrated/</link> <comments>http://www.iheavy.com/2012/04/01/the-myth-of-five-nines-why-high-availability-is-overrated/#comments</comments> <pubDate>Mon, 02 Apr 2012 01:41:23 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[High Availability]]></category> <category><![CDATA[iHeavy Newsletter]]></category> <category><![CDATA[five-9s]]></category> <category><![CDATA[high availability]]></category> <category><![CDATA[operations]]></category> <category><![CDATA[outages]]></category> <category><![CDATA[web architecture]]></category> <category><![CDATA[zero percent downtime]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=3727</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/04/01/the-myth-of-five-nines-why-high-availability-is-overrated/">The myth of five nines &#8211; Why high availability is overrated</a></p><p>In the Internet world 24&#215;7 has become the defacto standard. Websites must be always on, available 24 hours a day, 365 days a year. In our pursuit of perfection, performance is being measured down to three decimal places, that is being up 99.999% of the time; in short, five-nines Just like a mantra, when repeated [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/04/01/the-myth-of-five-nines-why-high-availability-is-overrated/">The myth of five nines &#8211; Why high availability is overrated</a></p><p><a
href="http://www.iheavy.com/2012/04/01/the-myth-of-five-nines-why-high-availability-is-overrated/nine_clock/" rel="attachment wp-att-3728"><img
class="alignleft size-full wp-image-3728" title="nine_clock" src="http://www.iheavy.com/wp-content/uploads/2012/03/nine_clock.jpg" alt="" width="300" height="296" /></a>In the Internet world 24&#215;7 has become the defacto standard. Websites must be always on, available 24 hours a day, 365 days a year. In our pursuit of perfection, performance is being measured down to three decimal places, that is being up <a
title="High Availability – What is it and why is it important?" href="http://www.iheavy.com/2011/06/13/high-availability-what-is-it-and-why-is-it-important/">99.999% of the time</a>; in short, five-nines</p><p>Just like a mantra, when repeated enough it becomes second nature and we don’t give the idea a second thought. We don’t stop to consider that while it may be generally a good thing to have, is five-nines necessary and is it realistic for the business?</p><p>In my dealings with small businesses, I’ve found that the ones that have been around longer, and with more seasoned managers tend to take a more flexible and pragmatic view of the five-nines standard. Some even feel that periods of outages during off hours as &#8211; *gasp* &#8211; no problem at all! On the other hand it is a universal truth held by the next-big-idea startups that 24&#215;7 is do or die. To them, a slight interruption in service will send the wrong signal to customers.</p><p>The sense I get is that businesses that have been around longer have more faith in their customers and are confident about what their customers want and how to deliver it.  Meanwhile startups who are building a customer base feel the need to make an impression and are thus more sensitive to perceived limitations in their service.</p><p>Of course the type of business you run might well inform your policy here. Short outages in payments and e-commerce sites could translate into lost revenue while perhaps a mobile game company might have a little more room to breathe.</p><h2>Sustaining five nines is too expensive for some</h2><p>The truth is sustaining high availability at the standard of five-nines costs a lot of money. These costs are incurred from buying more servers, whether as physical infrastructure or in the cloud. In addition you&#8217;ll likely involve more software components and configuration complexity. And here’s a hard truth, with all that complexity also comes more risk.  More moving parts means more components that can fail. Those additional components can fail from bugs, misconfiguration, or interoperability issues.</p><p>What&#8217;s more, pushing for that marginal 0.009% increase in high availability means you&#8217;ll require more people and create more processes.</p><h2>Complex architecture downtime</h2><p>In a client engagement back in 2011, I worked with a firm in the online education space.  Their architecture was quite complex.  Although they had web servers and database servers—the standard internet stack—they did not have standardized operations.  So they had the Apache web server on some boxes, and Nginx on others.  What&#8217;s more they had different versions of each as well as different distributions of Linux, from Ubuntu to RedHat Enterprise Edition.  On the database side they had instances on various boxes, and since they weren&#8217;t all centralized they were not all being backed up.  During one simple maintenance operation, a couple of configurations were rearranged, bringing the site down and blocking e-commerce transactions for over an hour.  It wasn’t a failure of technology but a failure of people and processes made worse by the hazard of an overly complex infrastructure.</p><p>In another engagement at a financial media firm, I worked closely with the CTO outlining how we could architect an absolutely zero downtime infrastructure.  When he warned that “We have no room for *ANY* downtime,” alarm bells were ringing in my head already.</p><p>When I hear talk of five-nines, I hear marketing rhetoric, not real-world risk reduction.   Take for example the power grid outage that hit the Northeast in 2003.  That took out power from large swaths of the country for over 24 hours.  In real terms that means anyone hosted in the Northeast failed five-nines miserably because downtime for 24 hours would be almost 300 years of downtime at the five-nines standard!</p><h2>For true High Availability look at better management of processes</h2><p>So what can we do in the real-world to improve availability?  Some of the biggest impacts will come from reducing so-called operator error, and mistakes of people and processes.</p><p>Before you think of aiming for five-nines,  first ask some of these questions:</p><div
id="PageList"><ul><li>Do you test servers?</li><li>Do you monitor logfiles?</li><li>Do you have network wide monitoring in place?</li><li>Do you verify backups?</li><li>Do you monitor disk partitions?</li><li>Do you watch load average?</li><li>Do you monitor your server system logs for disk errors and warnings?</li><li>Do you watch disk subsystem logs for disk errors? (the most likely component in hardware to fail is disk)</li><li>Do you have server analytics?  Do you collect server system metrics?</li><li>Do you perform fire drills?</li><li>Have you considered managed hosting?</li></ul></div><p>If you&#8217;re thinking about and answering these questions you&#8217;re well on your way to improving availability and uptime.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/04/01/the-myth-of-five-nines-why-high-availability-is-overrated/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>The risk of living in a filter bubble</title><link>http://www.iheavy.com/2012/03/30/the-risk-of-living-in-a-filter-bubble/</link> <comments>http://www.iheavy.com/2012/03/30/the-risk-of-living-in-a-filter-bubble/#comments</comments> <pubDate>Fri, 30 Mar 2012 21:19:23 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Book review]]></category> <category><![CDATA[iHeavy Newsletter]]></category> <category><![CDATA[google]]></category> <category><![CDATA[Internet trends]]></category> <category><![CDATA[location-based search]]></category> <category><![CDATA[search]]></category> <category><![CDATA[search engine optimization]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=3778</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/03/30/the-risk-of-living-in-a-filter-bubble/">The risk of living in a filter bubble</a></p><p>I&#8217;ve been looking for this book for a long time. Or maybe I should rephrase that. I was pondering this topic and had been looking for a book which covered it for a while so I was pleased to come across The Filter Bubble. Digging into search engine optimization and analytics while building my own [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/03/30/the-risk-of-living-in-a-filter-bubble/">The risk of living in a filter bubble</a></p><p><a
href="http://www.iheavy.com/2012/03/30/the-risk-of-living-in-a-filter-bubble/filterbubble_cover/" rel="attachment wp-att-3779"><img
class="alignleft  wp-image-3779" title="filterbubble_cover" src="http://www.iheavy.com/wp-content/uploads/2012/03/filterbubble_cover.jpg" alt="The Filter Bubble cover" width="249" height="368" /></a>I&#8217;ve been looking for this book for a long time. Or maybe I should rephrase that. I was pondering this topic and had been looking for a book which covered it for a while so I was pleased to come across <a
href="http://www.thefilterbubble.com/">The Filter Bubble.</a></p><p>Digging into <a
title="Website Optimization – What is it and why is it important?" href="http://www.iheavy.com/2011/06/07/website-optimization-what-is-it-and-why-is-it-important/">search engine optimization</a> and analytics while building my own website, I was often confused by inconsistent Google search results. Realizing I was on a different computer, or I was logged into Google services I would logout to see the untainted results, the results everyone else was seeing. Or was I?</p><p>As Google+ personalization launched the topic of search really piqued my interest. Why had I been given different results at different times? The coverage on Gigaom, AllThingsD, TechCrunch and ReadWriteWeb cautioned that this could be the turning point for Google, in a bad way.</p><h2>The filter</h2><p>It&#8217;s true Google takes signals from many different sources. With the launch of Google+ they now incorporate additional social signals. As Facebook becomes the default dashboard for more and more internet users, the means of finding content is shifting from Search to Social. So Google is responding to this by making their overall service more social as well.</p><p>The impact though for users of the service could be confusion. Many users I&#8217;ve spoken to, working in tech or otherwise think the results they see on Google are unbiased and the same for each user. Google&#8217;s secret sauce has always been its algorithm that returned the best results. Now that social signals are mixed into the page rank brew, will users continue to value Google results?</p><h2>A cause for concern</h2><p>Pariser&#8217;s illustrates the difference in Google search today with great examples. After the gulf oil spill, he asked two friends to search for &#8220;BP&#8221;. One saw breaking news on the topic, the other got investment information about BP. Filter bubble, indeed.</p><p>Behavior Targeting, as it&#8217;s termed in the industry, is all about figuring out what you want before you ask. But sociologist Danah Boyd argued in a Web 2.0 Expo speech in 2009, that with all this personalization giving us exactly what we *want* that<br
/> &#8220;If we&#8217;re not careful, we&#8217;re going to develop the psychological equivalent of obesity&#8221;.<br
/> Even foundres, Sergey Brin and Larry Page in the early days apparently thought that this bias might turn out to be a problem</p><div
class="quote-left">“We expect that advertising funded search engines will be inherently biased towards the advertisers and away from the needs of the consumers”.— Sergey Brin &amp; Larry Page, Google</div><p>Firms like Recorded Future promise to &#8220;unlock the predictive power of the web&#8221; and lesser known but formidable Acxiom which specializes in marketing and personalization, combing through mountains of data to figure out what coast you live on, how you vote, what you eat and drink, and almost what you&#8217;re going to do before you do it.</p><p>Pariser touches on everything in this book from present bias to meaningful threats, the priming effect, accessibility bias and warns of getting trapped in what he terms a &#8220;you loop&#8221; where you continue to see things framed and personalized by what you&#8217;ve viewed and reacted to before, ultimately narrowing your view, and limiting your exposure to new information.</p><p>Perhaps the biggest problem with these opaque transformations applied to your data is that they play judge and jury with no appeal; sometimes without your knowledge that you were in a courtroom being judged. Programmers write algorithms and code to perform these transformations, sorting people into groups. If they put people in a group that doesn&#8217;t match them they call it &#8220;overfitting&#8221;. In society we might call this some sort of stereotyping.</p><p>One chapter titled the Adderall Society, asks if this filter bubble isn&#8217;t part of a larger transformation that’s pushing our thinking towards the conservative and calculative, limiting creativity or foreign ideas that can break categories, and encouraging us to ignore or steer around serendipity.</p><p>The book bumps into a great spectrum of thinkers on this topic, from <a
href="http://searchengineland.com/">Danny Sullivan of SearchEngineLand</a>, to Amit Singhal an engineer on Google&#8217;s team, and John Battelle&#8217;s SearchBlog. He speaks to Chris Coyne &#8211; <a
href="http://okcupid.com">okcupid.com</a>, David Shields on what he calls truthiness and former CIA consultant John Rendon who says &#8220;filter bubbles provide new ways of managing perceptions&#8221; and suggests the garden variety Thesaurus as a powerful tool that nudges debates with new language.</p><h2>Be aware but don&#8217;t be paranoid</h2><p>Although I think the book gives valuable insight, I was a little dismayed by the mood of paranoia in its title. With a subtitle like What the Internet is Hiding from You, it suggests a conspiracy or hidden agenda. Now obviously these large corps have a motive to make money, but I don&#8217;t think anyone is surprised at that. To some, Pariser’s views may appear somewhat left leaning but the issues raised in his book transcends political boundaries. They are matters that concern society at large.</p><p>In the end I think I&#8217;m probably more optimistic about these things. With a long view, society tends to work out these issues, through public pressure or simply buying differently. As Google is quick to remind us, we can easily choose an alternate search engine. In the future perhaps public pressure will push firms to provide more transparency about these filtering mechanisms allowing end users to manage their own filter settings.</p><p>I&#8217;ll leave you with a few ideas to chew on. Can code and algorithms curate properly? Should there be another button alongside the Like button such as “Important”?</p><p>Pariser quoted the folks at the New York Times: &#8220;We don&#8217;t let metrics dictate our assignments and play, because we believe readers come to us for our judgement, not the judgement of the crowd&#8221;. Indeed. But in the internet age, is that what they *buy* or *click*?</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/03/30/the-risk-of-living-in-a-filter-bubble/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>“My startup is too cool for your business school”</title><link>http://www.iheavy.com/2012/03/26/my-startup-is-too-cool-for-your-business-school/</link> <comments>http://www.iheavy.com/2012/03/26/my-startup-is-too-cool-for-your-business-school/#comments</comments> <pubDate>Mon, 26 Mar 2012 22:48:18 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Business]]></category> <category><![CDATA[startup CEO]]></category> <category><![CDATA[startups]]></category> <category><![CDATA[techstartups]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=3711</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/03/26/my-startup-is-too-cool-for-your-business-school/">“My startup is too cool for your business school”</a></p><p>An article I read on Tech Crunch recently got me thinking about startup culture. In Are You Building A Company, Or Just Your Credentials Geoff Lewis, expressed his distaste for a friend’s plan to get on Y Combinator’s &#8216;no idea&#8217; startup incubation program. In this experimental approach, groups or individuals with a desire to be part [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/03/26/my-startup-is-too-cool-for-your-business-school/">“My startup is too cool for your business school”</a></p><p><a
href="http://www.iheavy.com/2012/03/26/my-startup-is-too-cool-for-your-business-school/bizschool/" rel="attachment wp-att-3814"><img
class="alignleft size-medium wp-image-3814" title="Debtor &amp; Creditor from Harvard Business School" src="http://www.iheavy.com/wp-content/uploads/2012/03/bizschool-300x196.jpg" alt="" width="300" height="196" /></a>An article I read on Tech Crunch recently got me thinking about startup culture. In <a
href="http://techcrunch.com/2012/03/22/company-vs-credentials/">Are You Building A Company, Or Just Your Credentials</a> Geoff Lewis, expressed his distaste for a friend’s plan to get on Y Combinator’s &#8216;no idea&#8217; startup incubation program. In this <a
href="http://ycombinator.com/noidea.html">experimental approach</a>, groups or individuals with a desire to be part of a startup but who have no product or business idea to begin with, can apply.</p><p>The thinking I believe, is that since brilliant ideas aren’t the only factor for startup success (many <a
title="The Problem with Startup Bootcamps" href="http://www.iheavy.com/2012/01/18/the-problem-with-startup-bootcamps/">other factors</a> like organisation skills, business savvy and tenacity matter too) YC will dig into their vault of ideas and match one that’s most suitable to these idea-starved groups.</p><p>Firstly, reading this I could sympathize with the discontent.  Venture capitalists exist for people who have an idea and want to realise it. There are already programs for people who don&#8217;t have an idea but want to achieve some success. They are called &#8220;careers&#8221;.</p><p>However, if you look at it from an incubator’s perspective, it’s a pretty clever and measured approach. YC knows what sort of group dynamic in startups have a higher chance of success and it is casting its net wide to find them.</p><p>But Lewis took issue with the fact that his MBA-qualified, credential-seeking buddy was signing up with YC presumably just to add to his blue ribbon collection.</p><p>With such articles what’s usually more interesting is the comments they elicit. Many who reacted responded with the same feelings of contempt; calling paper-chasers ‘hucksters’ and scoffing at their lack of passion and sincerity.</p><p>The tone among some carried this notion that startups were a special breed of entrepreneurs burdened with some sort of higher calling to liberate the world; money and honour being an afterthought.</p><p>Not being directly part of the startup circle, so-to-speak, I found the reaction amusing and frankly, rather foolish. Are people involved in startups turning into a sort of in-group? Do they really think of themselves as some kind of mutant-strain of businesses that are different from ‘regular’ enterprises?</p><p>If we look at the richest Internet companies today, once startups themselves, they are no less motivated by avarice and the bottomline, so why be so judgmental of Mr MBA treating the YC program as a way to gain credentials? I bet many talented individuals are going to have a go at it for the same reason if not a variety of reasons. As the program draws out, I suspect the number of participants will peter out by attrition anyway.</p><p>And who’s to say not coming up with a disruptive idea makes you less enterprising? Think of startups as team sports. There are some teams that innovate with the most creative gameplay that catch their opponents off-guard. There are teams that win by consistency and endurance, doing the same thing well over many years to pull ahead of the pack.</p><p>To cast aspersions on the motivations of others and to let silly prejudices limit participation seems discordant with the spirit of the Internet itself, where challenging convention is the order of the day and everyone is entitled to a shot at success.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/03/26/my-startup-is-too-cool-for-your-business-school/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>To the ‘Microsoft Azure’ Cloud</title><link>http://www.iheavy.com/2012/03/12/to-the-microsoft-azure-cloud/</link> <comments>http://www.iheavy.com/2012/03/12/to-the-microsoft-azure-cloud/#comments</comments> <pubDate>Mon, 12 Mar 2012 15:30:33 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Book Review]]></category> <category><![CDATA[cloud computing]]></category> <category><![CDATA[CTO/CIO]]></category> <category><![CDATA[Microsoft Azure]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=3599</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/03/12/to-the-microsoft-azure-cloud/">To the ‘Microsoft Azure’ Cloud</a></p><p>To The Cloud: Powering An Enterprise introduces the concepts of cloud computing from a high-level and strategic standpoint. I&#8217;ve read quite a few tomes on cloud computing and I was interested to see how this one would stack up against the others. The book is not too weighty in technical language so as not to [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/03/12/to-the-microsoft-azure-cloud/">To the ‘Microsoft Azure’ Cloud</a></p><p><a
href="http://www.iheavy.com/2012/03/12/to-the-microsoft-azure-cloud/tothecloudv2-2/" rel="attachment wp-att-3609"><img
src="http://www.iheavy.com/wp-content/uploads/2012/03/ToTheCloudV21.png" alt="" title="ToTheCloudV2" width="200" height="292" class="alignright size-full wp-image-3609" /></a><strong>To The Cloud: Powering An Enterprise</strong> introduces the concepts of cloud computing from a high-level and strategic standpoint. I&#8217;ve read quite a few tomes on cloud computing and I was interested to see how this one would stack up against the others.</p><p>The book is not too weighty in technical language so as not to be overwhelming and intimidating. However at ninety five pages, one might argue it is a bit sparse for a $30 book, if you purchase it at full price.</p><p>It is organized nicely around initiatives to get you moving with the cloud.</p><p>Chapter 1, Explore takes you through the process of understanding what the cloud is and what it has to offer.</p><p>Chapter 2, Envision puts you in the drivers seat, looking at the opportunities the cloud can offer in terms of solutions to current business problems.</p><p>Chapter 3, Enable discusses specifics of getting there, such as selecting a vendor or provider, training your team, and establishing new processes in your organization.</p><p>Finally in Chapter 4, we hit on real details of adopting the cloud in your organization.  Will you move applications wholesale, or will you adopt a hybrid model?  How will you redesign your applications to take care of automated scaling?  What new security practices and processes will you put in place. The authors offer practical answers to these questions.  At the end there is also an epilogue discussing emerging market opportunities for cloud computing, such as those in India.</p><p>One of the problems I had with the book is that although it doesn&#8217;t really position itself as a Microsoft Cloud book per se, that is really what the book aims at.</p><p>For example, Microsoft Azure is sort of the default platform throughout the book, whereas in reality most folks think of Amazon Web Services to be the sort of default when talking about cloud computing. Although specifically, Azure is really a platform, while AWS is Infrastructure or raw iron, that can run Linux based Operating Systems, or Windows Azure stuff.</p><p>Of course having a trio of Microsoft executives as authors gives a strong hint to readers to expect some plugging but a rewrite of the title would probably manage readers’ expectations better.</p><p>The other missing piece with this book is a chapter on tackling new challenges in the cloud.  Cloud Computing &#8211; Azure or otherwise, brings challenges with respect to hardware as using the cloud means deploying across shared resources.  For example it&#8217;s hard to deploy a high-performance RAID array or SAN solution devoted to one server in the cloud.  This is a challenge on AWS as well, and continues to be a major adoption hurdle.  It&#8217;s part of the commoditization puzzle, but it&#8217;s as yet not completely solved.  Such a chapter to discuss mitigating against virtual server failures, using redundancy, and cloud components to increase availability would be useful.</p><p>Lastly, I found it a bit disconcerting that all of the testimonials were from fellow CTOs and CIOs of big firms, not independents or other industry experts.  For example I would have liked to see George Reese of Enstratus, Thorsten von Eicken from Rightscale or John Engates from Rackspace provide a comment or two on the book.</p><p>Overall the book is a decent primer if you’re looking for some guidance on Microsoft Azure Cloud. It is not a comprehensive introduction to cloud computing and you’d definitely need other resources to get the full picture. At such a hefty sticker price, my advice is to pick this one up at the bargain bin.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/03/12/to-the-microsoft-azure-cloud/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Oracle to MySQL &#8211; prepare to bushwhack through the open source jungle</title><link>http://www.iheavy.com/2012/02/29/oracle-to-mysql-prepare-to-bushwhack-through-the-open-source-jungle/</link> <comments>http://www.iheavy.com/2012/02/29/oracle-to-mysql-prepare-to-bushwhack-through-the-open-source-jungle/#comments</comments> <pubDate>Wed, 29 Feb 2012 05:34:40 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[iHeavy Newsletter]]></category> <category><![CDATA[CTO/CIO]]></category> <category><![CDATA[mysql]]></category> <category><![CDATA[mysql migration]]></category> <category><![CDATA[opensource]]></category> <category><![CDATA[oracle]]></category> <category><![CDATA[oracle migration]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=3407</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/02/29/oracle-to-mysql-prepare-to-bushwhack-through-the-open-source-jungle/">Oracle to MySQL &#8211; prepare to bushwhack through the open source jungle</a></p><p>I was recently approached by a healthcare company for advice on suitable database solutions capable of executing its new initiative. The company was primarily an Oracle shop so naturally, they began by shopping for possible Oracle solutions. The CTO relayed his conversation with the Oracle sales rep, who at first recommended an Oracle solution that, [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/02/29/oracle-to-mysql-prepare-to-bushwhack-through-the-open-source-jungle/">Oracle to MySQL &#8211; prepare to bushwhack through the open source jungle</a></p><p><img
class="alignleft size-full wp-image-3405" title="Vault" src="http://www.iheavy.com/wp-content/uploads/2012/02/Vault.jpg" alt="oracle to mysql" width="325" height="244" /></p><p>I was recently approached by a healthcare company for advice on suitable database solutions capable of executing its new initiative. The company was primarily an Oracle shop so naturally, they began by shopping for possible Oracle solutions.</p><p>The CTO relayed his conversation with the Oracle sales rep, who at first recommended an Oracle solution that, expensive as it may have been, ultimately aligned with the company’s existing technology and experience. Unfortunately this didn&#8217;t match their budget and so predictably, the Oracle sales rep whipped out a MySQL-based solution as an alternative.</p><p>Having worked as an Oracle DBA throughout the dot-com years, I know the technology well. I also know the cultural differences between enterprises that choose Oracle solutions and those that choose open-source ones.</p><p>This encounter with the healthcare firm struck me as a classic conundrum for today’s companies who are under pressure to meet business targets under a tight budget, and in a very short time.</p><p>Can an open-source solution like MySQL be the answer to such huge demands?</p><p>The Oracle sales rep will likely nod excitedly and say no sweat. But as a consultant I could only manage an equivocal yes.</p><p>As the healthcare CTO rattled off the list of products he wanted to use, specific RTOs and RPOs (<a
href="http://en.wikipedia.org/wiki/Recovery_point_objective">recovery time objective</a> + <a
href="http://en.wikipedia.org/wiki/Recovery_time_objective">recovery point objective</a> &#8211; all I could think was to react with concern.</p><p>In my experience with startup after startup I’ve seen plenty of different MySQL installations but I&#8217;d never heard of one with the technology stack he described. What&#8217;s more I&#8217;d never heard of these solutions described with the Oracle Corp titles.</p><p>On one hand I wanted to discuss the merits of the solution he was keen to implement, while on the other, I was expressing concern over possible directions and paths we might take.</p><h1>An Oracle cluster is not a MySQL cluster</h1><p>The solution Oracle suggested was a MySQL Cluster. The term cluster unfortunately means different things to different people. Such loose usage of the word dilutes its meaning. In particular a lot of Oracle technologists expect that this solution might be similar to Oracle&#8217;s Real Application Cluster technology. It&#8217;s not. There are a lot of limitations, and frankly it&#8217;s really just a different beast.</p><p>The list also included various management dashboards which Oracle likes to push, but which I rarely see in my consulting assignments. What&#8217;s more I heard nothing about replication integrity considering that replication problems are an ongoing concern for real-world MySQL installations due to the particular technology used under the hood. There are reliable solutions to this problem but none yet available from Oracle. In fact, this is a big problem but one that may be completely off the sales guys’ radar.</p><h2>Don&#8217;t let sales frame your architecture</h2><p>Honestly, I don&#8217;t have a particularly large axe to grind with the sales guys. They have a job to do, and providing solutions which bring revenue to their firm and commissions for themselves is what puts food on their tables. Each party is motivated in different ways. But as a company shopping for solutions, this should be kept clearly in mind when starting down that road.</p><p>Beware prescribed architectural frameworks that appear too easy because they almost always don’t do what they say on the tin. Unfortunately sales folks don&#8217;t have experiencing designing architectures in the real world, so they can&#8217;t really know how the technologies work beyond the data sheet with feature bullet points.</p><p>As we all know in the technology space, all software come with bugs and real-world experience does not match the feature lists in the brochures. In law they have de jure and de facto. The former describes what is written and the latter, what’s practiced. For technology solutions, its never just adding water for something to work.</p><h2>Do your homework</h2><p>Before you embark on a new trip through the open source technology jungle, do some due diligence. Read up on real-world solutions, and how other large firms are using the technology. What configurations are they having success with? Which are causing trouble for a lot of people.</p><p>One of the great advantages of open-source are the very vibrant communities, forums and discussion groups where people are glad to share their experiences and offer advice.</p><h2>Allow sufficient time to test and<br
/> bring your team up to speed</h2><p>This is very important one. Shifting from an enterprise that relies primarily on Oracle for it&#8217;s relational database solution over to one that relies on open source technologies is a very big step indeed. Open-source technologies tend to be much more do-it-yourself and roll your own. Oracle solutions tend much more toward predefined paths and solutions and prescriptions for customers.</p><p>There are merits to each of these paths, with attendant pros and cons. But they are decidedly different. It&#8217;s likely that your team will also require time to get up to speed, not just with the particular software components, but with the new process by which things happen in the open-source space. Allow sufficient time for this shift to take place, lest you create more problems than solutions.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/02/29/oracle-to-mysql-prepare-to-bushwhack-through-the-open-source-jungle/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>A handy guide for PHP and MongoDB Web Development</title><link>http://www.iheavy.com/2012/02/28/handy-guide-to-php-mongodb-web-development/</link> <comments>http://www.iheavy.com/2012/02/28/handy-guide-to-php-mongodb-web-development/#comments</comments> <pubDate>Wed, 29 Feb 2012 00:35:14 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Book review]]></category> <category><![CDATA[iHeavy Newsletter]]></category> <category><![CDATA[mongodb]]></category> <category><![CDATA[nosql]]></category> <category><![CDATA[nosql database]]></category> <category><![CDATA[website basics]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=3428</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/02/28/handy-guide-to-php-mongodb-web-development/">A handy guide for PHP and MongoDB Web Development</a></p><p>What makes a beginner’s guide handy is when it speaks to your intuition. It anticipates the burning questions that follow from a newbie trying to grasp new concepts and it quickly answers them. PHP and MongoDB Web Development &#8211; Beginner&#8217;s Guide is one such guide. I hadn&#8217;t heard of Packt Publishing or Rubayeet Islam before [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/02/28/handy-guide-to-php-mongodb-web-development/">A handy guide for PHP and MongoDB Web Development</a></p><p><a
href="http://www.amazon.com/PHP-MongoDB-Development-Beginners-Guide/dp/1849513627"><img
class="alignleft size-full wp-image-3426" title="mongodb" src="http://www.iheavy.com/wp-content/uploads/2012/02/mongodb.jpeg" alt="PHP and MongoDB" width="197" height="255" /></a>What makes a beginner’s guide handy is when it speaks to your intuition. It anticipates the burning questions that follow from a newbie trying to grasp new concepts and it quickly answers them. <em><a
href="http://www.packtpub.com/php-and-mongodb-web-development-beginners-guide/book">PHP and MongoDB Web Development &#8211; Beginner&#8217;s Guide</a></em> is one such guide.</p><p>I hadn&#8217;t heard of Packt Publishing or Rubayeet Islam before picking up this title and I must say I’m impressed. Based in Birmingham, with offices in Mumbai, part of Packt’s business model is to give part of the royalties earned from its books to the open source projects they cover.</p><p>I already had a working knowledge of MongoDB, mostly from an operational perspective. If you are new to MongoDB you’ll certainly appreciate how this book is structured. it cuts to the chase, diving right into the nuts and bolts of installing the pieces you&#8217;ll need such as database and drivers, and getting your first application running.</p><p>From there they take you through a basic web application step-by-step, with chapters on session management, MapReduce and GridFS. EVery time I flip through the pages of a technical book, I find I always have questions in the background; ‘what about performance?’ or ‘How do I troubleshoot these pieces as I&#8217;m building them?’</p><p>What I liked about this book is that almost as quickly as I&#8217;d formulate some question about performance, I&#8217;d happen upon answers in the book, as if it knew what would come to my mind at each point of the</p><p>I was thinking about tuning and application performance and then found chapter 9 which discusses MongoDB&#8217;s explain facility, similar to that of MySQL. From there they cover index creation, hints, and finally profiling. These are all important topics for a developer, ones that he or she should have in mind while building their applications. So I was happy to see good coverage of that even in a self-avowed beginners’ guide.</p><h2>Building apps that talk to both MySQL and MongoDB</h2><p>Another interesting chapter was one introducing the idea of building an application that can talk to both MySQL and MongoDB and using those two datastores for different purposes. Again while I&#8217;m reading it I start thinking about operational concerns, and I start asking how one would support such an architecture. And then just like clockwork, Islam answers that very question.</p><p>He explains the challenges around data consistency and operational support in detail. It’s a great way to introduce a topic without necessarily pushing that adoption per se. Islam is clearly an experienced programmer, with much reasoned advice to share.</p><p>The book had great utility but I do have a few complaints.</p><p>First off the font is a little funky, and hard to read after a while. In that same vein, some of the screenshots are very wide and as such were zoomed down. This made those tiny and not very readable. Also the screenshots aren&#8217;t really consistent, some are black on white and some white text on black terminal which ended up being impossible to read.</p><p>Lastly I would have liked to see more use case discussions. Particularly, when should I consider a NoSQL database like MongoDB over a relational database? Which types of applications are really well suited? Which aren&#8217;t? What about versus other NoSQL&#8217;s? The same with GridFS. There was some caution there after the material was introduced but more discussion about what applications it is well suited for would be useful.</p><p>Those few complaints aside, the book is overall very good and perhaps the publishers will consider improving the type and diagrams in the next edition. It definitely sticks to it&#8217;s cover page motto &#8220;Learn by doing: less theory, more results&#8221;.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/02/28/handy-guide-to-php-mongodb-web-development/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Top MySQL DBA interview questions (Part 2)</title><link>http://www.iheavy.com/2012/02/27/top-mysql-dba-interview-questions-part-2/</link> <comments>http://www.iheavy.com/2012/02/27/top-mysql-dba-interview-questions-part-2/#comments</comments> <pubDate>Mon, 27 Feb 2012 22:00:45 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[mysql]]></category> <category><![CDATA[startup jobs]]></category> <category><![CDATA[startups]]></category> <category><![CDATA[talent]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=3382</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/02/27/top-mysql-dba-interview-questions-part-2/">Top MySQL DBA interview questions (Part 2)</a></p><p>Continuing from our Top MySQL DBA interview questions (Part 1) here are five more questions that test a MySQL DBA&#8217;s knowledge, with two that will help suss out some personality traits. Disk I/O Disk performance should be an ever present concern to a DBA.  So although they don&#8217;t need to be a storage specialist, they [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/02/27/top-mysql-dba-interview-questions-part-2/">Top MySQL DBA interview questions (Part 2)</a></p><p>Continuing from our <a
href="http://www.iheavy.com/2012/02/26/top-mysql-dba-interview-questions-part-1/">Top MySQL DBA interview questions (Part 1)</a> here are five more questions that test a MySQL DBA&#8217;s knowledge, with two that will help suss out some personality traits.</p><div
id="PostList"><ol
start="6"><li>Disk I/O</li><p>Disk performance should be an ever present concern to a DBA.  So although they don&#8217;t need to be a storage specialist, they should have a working knowledge.  Ask them about RAID versions, mirroring versus striping, and so forth.  Mirroring combines two disks as a unit.  Every write is duplicated on both disks.  If you lose one disk, you have an immediate copy.  Like a tandem truck that has spare tires running in parallel.  Lose one, and you don&#8217;t have to pull over immediately to replace it.  Striping spreads I/O over multiple disks so you on the one hand increase throughput linearly as you add disks.  That&#8217;s because you have more disks working for you.  At the same time you increase risk with each new disk you add, because the failure rate is then the sum total of all those disks.</p><p>For relational databases the best RAID level is 10, which is striping over mirrored sets.  You use more disks, but disks are cheap compared to the hassle of any outage.</p><p>If you&#8217;re deploying on Amazon, your candidate should be familiar with the Elastic Block Storage offering also known as EBS.  This is virtualized storage, so it introduces a whole world of operational flexibility.  No longer do you have to jump through hoops to attach, add or reconfigure storage on your servers.  It can all be done through command line API calls.  That said EBS suffers from variability problems as with any other shared resource.  Although Amazon guarantees your average throughput, the I/O you get at a given time can swing wildly from low to high.  Consider Linux software RAID across multiple EBS volumes to mitigate against this.</p><li>How would you setup master/slave &amp; master/master replication?</li><p>A basic replication setup involves creating a full dump of the primary database, while it&#8217;s tables are locked.  The DBA should capture the master status, logfile &amp; position at that time.  She should then copy the dump file to the secondary machine &amp; import the full dump.  Finally the CHANGE MASTER TO statement should be run to point this database instance to it&#8217;s master.  Lastly START SLAVE should be issued.  If all goes well SHOW SLAVE STATUS should show YES for both of these status variables:</p><p>Slave_IO_Running: Yes<br
/> Slave_SQL_Running: Yes</p><p>Master-master replication is similar, except one additional step.  After the above steps have run, you know that your application is not pointing at the slave database.  If you&#8217;re not sure, verify that fact first.  Now determine the logfile name &amp; position on the slave with SHOW MASTER STATUS.  Return to the primary box, and run the CHANGE MASTER TO command to make it slave from the secondary box.  You&#8217;ve essentially asked MySQL to create a circular loop of replication.</p><p>How does MySQL avoid getting into an infinite loop in this scenario?  The server_id variable must be set, and be unique for all MySQL instances in your replication topology.</p><p>For extra credit, ask the candidate about replication integrity checking.  As important as this piece is to a solid reliable replication setup, many folks in the MySQL world are not aware of the necessity.  Though replication can be setup, and running properly, that does not mean it will keep your data clean and perfect.  Due to the nature of statement based replication, and non-deterministic functions and/or non-transactional tables, statements can make their way into the binary logs, without completing.  What this means is they may then complete on the slave, resulting in a different row set on the same table in master &amp; slave instance.</p><p>Percona&#8217;s pt-table-checksum is the preventative tool to use.  It can build checksums of all your tables, and then propagate those checksums through replication to the slave.  An additional check can then be run on the slave side to confirm consistency, or show which rows &amp; data are different.</p><li>How are Users &amp; Grants different in MySQL than other DBs?</li><p>Creating a grant in MySQL can effectively create the user as well.  MySQL users are implemented in a very rudimentary fashion.  The biggest misunderstanding in this area surrounds the idea of a user.  In most databases a username is unique by itself.  In MySQL it is the *combination* of user &amp; hostname that must be unique.  So for example if I create user sean@localhost, sean@server2 and sean@server3, they are actually three distinct users, which can have distinct passwords, and privileges.  It can be very confusing that sean logging in from the local command line has different privileges or password than sean logging in from server2 and server3.  So that&#8217;s an important point.</p><li>How might you hack a MySQL server?</li><p>This is a good opportunity for the candidate to show some creativity with respect to operations and Linux servers.  There are all sorts of ways into a database server:</p><p> a.bad, weak or unset passwords<br
/> b.files with incorrect permissions &#8211; modifying or deleting filesystem files can take a database down or corrupt data<br
/> c.intercepting packets &#8211; could reveal unencrypted data inside the database<br
/> d.unpatched software &#8211; bugs often reveal vulnerabilities that allow unauthorized entry<br
/> e.moving, disabling or interrupting the backup scripts &#8211; a possible timebomb until you need to restore<br
/> f.DNS spoofing, could allow login as a different user<br
/> g.generous permissions &#8211; may allow an unprivileged user access to protected data</p><p>There are endless possibilities here.  Listening for creative thinking here, reveals how much that person will think thoroughly and effectively about protecting your systems from those same threats.</p><li>Brain teasers, riddles and coding problems</li><p>Google for a long time was a fan of these types of tests at interviews, but I&#8217;m not at all.  For one thing you filter for good test takers, and for another the candidate has no resources &#8211; either books or the internet at their disposal.</p><p>Why not instead ask them to tell a story.  Storytelling conveys a lot of things.  It conveys a bit of teaching ability, which extends far beyond internalizing some multiple choice questions.  It tells you more about their personality, which as I&#8217;ve said is very important.  It shows how they solve problems, as they&#8217;ll take you through their process.  And gives them an opportunity to tell you a real world triumph they presided over.</ol></div><h2>Personality Questions</h2><p>In my experience, some of the most important traits of a new hire center around personality traits, and how they might mix with your existing team.  Being punctual for an interview, for instance sets a precedent for many things.  But that door swings both ways, so if you want to hire these types of folks, don&#8217;t keep them waiting either!</p><p>Pay attention to whether or not the candidate takes some lead in the conversation at all.  This can indicate the person is a self starter.  Obviously a great candidate will also listen carefully and patiently to what you have to say, but may then take the ball and run with it somewhat.</p><p>Listen for signals that the person is active in the field, posting on forums, and attending conferences, meetups and forums on technology topics.  You might also ask them if they blog, and what topics interest them.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/02/27/top-mysql-dba-interview-questions-part-2/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Top MySQL DBA interview questions (Part 1)</title><link>http://www.iheavy.com/2012/02/26/top-mysql-dba-interview-questions-part-1/</link> <comments>http://www.iheavy.com/2012/02/26/top-mysql-dba-interview-questions-part-1/#comments</comments> <pubDate>Sun, 26 Feb 2012 20:23:48 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[hiring]]></category> <category><![CDATA[mysql]]></category> <category><![CDATA[mysqldba]]></category> <category><![CDATA[startups]]></category> <category><![CDATA[talent]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=3230</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/02/26/top-mysql-dba-interview-questions-part-1/">Top MySQL DBA interview questions (Part 1)</a></p><p>MySQL DBAs are in greater demand now than they&#8217;ve ever been. While some firms are losing the fight for talent, promising startups with a progressive bent are getting first dibs with the best applicants. Whatever the case, interviewing for a MySQL DBA is a skill in itself so I thought I’d share a guide of [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/02/26/top-mysql-dba-interview-questions-part-1/">Top MySQL DBA interview questions (Part 1)</a></p><p><a
href="http://www.iheavy.com/2012/02/26/top-mysql-dba-interview-questions-part-1/mysql_interview/" rel="attachment wp-att-3231"><img
class="alignleft size-full wp-image-3231" title="MySQL_interview" src="http://www.iheavy.com/wp-content/uploads/2012/02/MySQL_interview.png" alt="MySQL DBA interview questions" width="320" height="200" /></a><strong>MySQL DBAs</strong> are in greater demand now than they&#8217;ve ever been. While some firms are losing the fight for talent, promising startups with a progressive bent are getting first dibs with the best applicants. Whatever the case, interviewing for a MySQL DBA is a skill in itself so I thought I’d share a guide of top MySQL DBA interview questions to help with your screening process.<br
/> It’s long and detailed with some background to give context so I will be publishing this in two parts.</p><h1>The history of the DBA as a career</h1><p>In the Oracle world of enterprise applications, the DBA has long been a strong career path. Companies building their sales staff required Peoplesoft or SAP, and those deploying the financial applications or e-business suite needed operations teams to manage those systems. At the heart of that operations team were database administrators or DBAs, a catchall title that included the responsibility of guarding your businesses crown jewels. Security of those data assets, backups, management and performance were all entrusted to the DBA.</p><p>In the world of web applications, things have evolved a bit differently. Many a startup are driven only by developers. In those smaller shops, Operations tasks are designated to one developer who takes on the additional responsibility of managing systems. In that scenario, Operations or DBA duties becomes a sort of secondary role to the primary one of building the application. Even in cases where the startup creates a specific operations role with one person managing systems administration, chances are they don&#8217;t also have DBA experience. Instead, these startups are more likely to manage the database as a typical Linux application.</p><h2>When I grow up I (don’t) want to be a MySQL DBA</h2><p>Where do they come from, and why don&#8217;t a lot of computer science folks gravitate towards operations, and DBA? This may be in part due to and the romance of certain job roles which we discussed in a past article, <a
title="The Mythical MySQL DBA" href="http://www.iheavy.com/2011/12/19/mythical-mysql-dba/">The Mythical MySQL DBA</a>. This pattern appeared a lot in the Oracle world as well. Many folks who were career DBAs actually moved to that role from the business side. In fact you’d find that many didn&#8217;t have a computer science or engineering background in the first place. In my experience I saw many Linux and Unix administrators with a stronger foundation who would fit into the DBA role but were simply not interested in it. The same can be said of the MySQL side of the house. Computer science grads don’t get out of school aiming for a career in ops or as a DBA because it has never been regarded as the pinnacle. It’s typically the PROGRAMMERS who become the rockstars in a cool startup.</p><p>But as the Internet grows into a richer and more complex medium, things are changing. People talk about scalability, high availability, zero downtime and performance tuning. When brief outages cost millions in losses expectations are very high and that requires skilled, experienced DBAs.</p><p>We’ve made a list of comprised of skill questions, general questions and ‘good-to-know’ questions. Have fun grilling your candidate with them, although bear in mind that with interviews it&#8217;s not about knowing it all, rather how the person demonstrates critical thinking skills.</p><h2>Skills Questions</h2><div
id="PostList"><ol><li>Why are SQL queries so fundamental to database performance?</li><p>This is the one question which a DBA should have an answer to. If they can&#8217;t answer this question, they&#8217;re unlikely to be a good candidate.</p><p>After a MySQL server is setup and running, with many of the switches and dials set to use memory, and play well with other services on the Linux server, queries remain an everyday challenge. Why is this?</p><p>SQL queries are like little programs in and of themselves. They ask the database server to collect selections of records, cross tabulate them with other collections of records, then sort them, and slice and dice them. All of this requires MySQL to build temporary tables, perform resource intensive sorts and then organize the output in nice bite size chunks.</p><p>Unfortunately there are many ways to get the syntax and the results right, yet not do so efficiently. This might sound like a moot point, but with modern websites you may have 5000 concurrent users on your site, each hitting pages that have multiple queries inside them.</p><p>What makes this an ongoing challenge is that websites are typically a moving target, with business requirements pushing new code changes all the time. New code means new queries, which pose ongoing risks to application stability.</p><li>Indexes &#8211; too many, too few; what&#8217;s the difference?</li><p>Indexes are very important to the smooth functioning of a relational database. Imagine your telephone book of yore. I can look up all the people with last name of &#8220;Hull&#8221; in Manhattan because I have the proper index. But most yellow pages don&#8217;t include an index for *first* names even though they might occaisionally come in handy, for example with the names &#8220;Star&#8221; or &#8220;Persephone&#8221;.</p><p>You can imagine that, if you had a phone book which you maintain and update, everytime you add or remove a name you also have to update the index. That&#8217;s right, and the same goes for your relational database.</p><p>So therein lies the trade off, and it&#8217;s an important one. When you are *modifying* your data, adding, updating or removing records, you must do work to keep the index up to date. More indexes mean more work. However when you&#8217;re looking up data or *querying* in SQL speak, more indexes mean more ways of looking up data fast. One more trade off is that indexes take up more pages in your phonebook, and so too they take up more space on disk.</p><li>Backup &amp; Recovery &#8211; explain various types &amp; scenarios for restore</li><p>Backups come in a few different flavors that the DBA should be familiar with.</p><p>Cold backups involve shutdown down the database server (mysqld) and then backing up all the data files by making a copy of them to another directory. To be really thorough, the entire datadir including binlogs, log files, /etc/my.cnf config file should also be backed up. The cold backup is a database in itself, and can be copied to an alternate server and mounted as-is.</p><p>Logical backups involve using the mysqldump tool. This locks tables while it runs to maintain consistency of changing data, and can cause downtime. The resulting dump file contains CREATE DATABASE, CREATE TABLE &amp; CREATE INDEX statements to rebuild the database. Note the file itself is not a database, but rather a set of instructions which can tell a MySQL server *HOW* to reconstruct the database. Important distinction here.</p><p>Hot backups are a great addition to the mix as they allow the physical database data files to be backed up *WHILE* the server is up and running. In MySQL this can be achieved with the xtrabackup tool, available from Percona. Despite the name, it works very well with MyISAM and InnoDB tables too, so don&#8217;t worry if you&#8217;re not using xtradb tables.</p><p>There are a few different restore scenarios, and the candidate should be able to describe how these various backups can be restored, and what the steps to do so would be. In addition they should understand what point-in-time recovery is, and how to perform that as well. After restoring one of the above three backup types, the DBA would use the mysqlbinlog utility to apply any subsequent transactions from the binary logs. So if the backup was made at 2am last night, and you restore that backup, the mysqlbinlog tool would be used to dig up transactions since 2am, and apply them to that restored database.</p><li>Troubleshooting Performance</li><p>Since this is an ongoing challenge with relational databases, a good grasp of it is crucial. One way to challenge the candidate would be to describe a recent performance problem you experienced with your infrastructure, and ask them how they would go about resolving it.</p><p>If they struggle with the particulars of what you ran into, ask them to describe a big performance challenge they solved, what the cause was, and how they performed analysis.</p><p>Typically, first steps involve mitigating the immediate problem by finding out what changed in the environment either operationally or code changes. If there is a bug that was hit, or other strange performance anomaly, the first stop is usually looking at log files. MySQL server error logs, and the slow query log are key files. From there, analyzing those files during the timeframe where problems occurred should yield some clues.</p><p>You might also hope to hear some comment about metrics collection in this discussion. Tools such as cacti, munin, opennms, or ganglia are invaluable tools for drilling down on a past event or outage, and sifting through server stats to find trouble.</p><li>Joins &#8211; describe a few kinds and how the server performs them</li><p>A basic understanding of INNER JOIN and OUTER JOIN would be a great start. A simple example might be employees and departments. If you have four employees and two departments, an INNER JOIN of these tables together will give you the departments employees belong to. Add another employee without assigning her to a department, and the inner join won&#8217;t display her. Further adding a new department which doesn&#8217;t yet contain employees won&#8217;t display either. However performing an OUTER JOIN will give you those matches with null in the department field, and null in the employee field respectively.</p><p>Thought of with another example, take a credit card company. One tables contains cardholders identity, their number, address, and other personal information. A second table contains their account activity. When they first join, they don&#8217;t have any monthly statements, so an INNER JOIN of cardholders with statements will yield no rows. However an OUTER JOIN on those two tables will yield a record, with a null for the statements columns.</ol></div><p>Feeling like a MySQL expert yet? In <a
href="http://www.iheavy.com/2012/02/27/top-mysql-dba-interview-questions-part-2/">Part 2 of Top MySQL DBA Interview Questions</a> we&#8217;ll walkthrough four more questions plus a bonus.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/02/26/top-mysql-dba-interview-questions-part-1/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>The Age of the Platform by Phil Simon</title><link>http://www.iheavy.com/2012/02/13/the-age-of-the-platform-phil-simon/</link> <comments>http://www.iheavy.com/2012/02/13/the-age-of-the-platform-phil-simon/#comments</comments> <pubDate>Mon, 13 Feb 2012 08:18:23 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Book Review]]></category> <category><![CDATA[Business]]></category> <category><![CDATA[CTO/CIO]]></category> <category><![CDATA[Internet trends]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=2605</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/02/13/the-age-of-the-platform-phil-simon/">The Age of the Platform by Phil Simon</a></p><p>I picked up Phil Simon&#8217;s The Age of the Platform after running into his blog, and some of his writing online. Simon is an interesting guy with an obvious strong technical background. He&#8217;s also an accomplished speaker and you can find several videos of his speaking online. The first thing that struck me about this book [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/02/13/the-age-of-the-platform-phil-simon/">The Age of the Platform by Phil Simon</a></p><p><a
href="http://www.iheavy.com/?attachment_id=2673"><img
class="alignleft size-full wp-image-2673" title="age of platform" src="http://www.iheavy.com/wp-content/uploads/2012/02/age-of-platform.jpeg" alt="The Age of the Platform book cover" width="180" height="279" /></a>I picked up Phil Simon&#8217;s The Age of the Platform after running into his blog, and some of his writing online. Simon is an interesting guy with an obvious strong technical background. He&#8217;s also an accomplished speaker and you can find several videos of his speaking online.</p><p>The first thing that struck me about this book was how it came to be. The book was funded through <a
href="http://www.kickstarter.com/">Kickstarter</a>, an online platform for people to fund their creative projects. Perhaps it was Simon trying to drive home the point of his book. But it gets better, he self-published the book through Motion Publishing. Furthermore the book isn&#8217;t cheap for a paperback at $20. That said I admire that he has obviously eaten his own dog food, as the proverbial saying goes, and done it himself.</p><p>The premise of the book is that we&#8217;re entering a new age exemplified by four companies, namely Google, Facebook, Amazon and Apple. He takes us through a quick history of each company, then illustrates their successes and how each of them have successfully created platforms to extend their reach.<span
id="more-2605"></span></p><p>Apple did something amazing when they created the Appstore, which boosted demand for their products just a bit more each time a new app is developed for their platform. Google has strong gravitational pull with their platform by building endless free services from email to instant message and voice, to the news, maps &amp; shopping. And let&#8217;s not forget Amazon who are putting a storefront in your hands with their Kindle, and expanding in other directions with their datacenter technologies. And last but surely not least comes Facebook, who&#8217;ve also obviously gained much by allowing third parties to build apps and extend their own platform.</p><p>Simon describes these &#8216;platforms&#8217; as a new economic phenomenon. I think large firms have done this in the past, such as Microsoft, Oracle or Kodak. Further one might argue car makers, with the endless variety of third party suppliers &amp; accessories support a huge ecosystem as well.</p><p>Another argument that seemed to prevail in the book is that the gang of four embrace openness and that this is something new. Certainly these four embrace openness in certain areas. But overall I would argue that they like many firms that have come before them, embrace openness when they are being disruptive to existing businesses, while they exhibit the same territorial monopolistic tendencies when they are protecting their own established business. Google has shown this in dealing with affiliates dismissively, Apple has shown this by not allowing certain apps into the app store which pose a competitive risk, Facebook exhibits this tendency when trying to export your data, profile, events or photo albums out of the service. And even Amazon has been tempted by and accused of using old economy tactics to pressure publishers for bigger discounts.</p><h2>Should we all jump on the platform?</h2><p>Simon&#8217;s premise also seems to include the idea that you and me, small business owners or sole proprietors can use these same concepts, to build our own businesses in new and exciting directions. In fact he says that we must do this or face obsolesence. Now while I admit that it is certainly important to watch trends, and not allow the changing winds of business and technology to leave us without customers or clients, it&#8217;s not at all clear to me that focusing on one thing and doing it well is a recipe for failure. The folks at 37 Signals have illustrated this so well with Basecamp. So has Chip Conley has with his chain of Joie de Vivre Hospitality hotels. Read more about his business philosophies in his great book <a
href="http://www.amazon.com/Peak-Great-Companies-Their-Maslow/dp/0787988618">Peak &#8211; How Great Companies Get Their Mojo from Maslow.</a></p><p>What&#8217;s more I definitely think great companies have failed in the past by trying to innovate in areas not close to core business.</p><p>So overall I think Simon has some good ideas, I think he&#8217;s stretched it a bit in trying to point out an underlying trend calling this an age of the platform. If we must call it something it&#8217;s simply the age of the Internet, the age of disruption.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/02/13/the-age-of-the-platform-phil-simon/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>A History lesson for Cloud Detractors</title><link>http://www.iheavy.com/2012/01/29/history-lesson-for-cloud-detractors/</link> <comments>http://www.iheavy.com/2012/01/29/history-lesson-for-cloud-detractors/#comments</comments> <pubDate>Mon, 30 Jan 2012 02:13:29 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Cloud Computing]]></category> <category><![CDATA[Database Operations]]></category> <category><![CDATA[Disaster Recovery]]></category> <category><![CDATA[iHeavy Newsletter]]></category> <category><![CDATA[cloud]]></category> <category><![CDATA[cloud computing]]></category> <category><![CDATA[cloud criticism]]></category> <category><![CDATA[cloud servers]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=2525</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/01/29/history-lesson-for-cloud-detractors/">A History lesson for Cloud Detractors</a></p><p>We&#8217;ve all seen cloud computing discussed ad nauseam on blogs, on Twitter, Quora, Stack Exchange, your mom’s Facebook page&#8230; you get the idea. The tech bloggers and performance experts often pipe in with their graphs and statistics showing clearly that dollar-for-dollar, cloud hosted virtual servers can’t compete with physical servers in performance, so why is [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/01/29/history-lesson-for-cloud-detractors/">A History lesson for Cloud Detractors</a></p><p><a
href="http://www.columbia.edu/cu/computinghistory/"><img
class="centered size-full wp-image-2540" title="Computer" src="http://www.iheavy.com/wp-content/uploads/2012/01/Computer1.png" alt="Computing history" width="647" height="191" /></a></p><p>We&#8217;ve all seen cloud computing discussed ad nauseam on blogs, on Twitter, Quora, Stack Exchange, your mom’s Facebook page&#8230; you get the idea. The tech bloggers and performance experts often pipe in with their graphs and statistics showing clearly that dollar-for-dollar, cloud hosted virtual servers can’t compete with physical servers in performance, so why is everyone pushing them? It&#8217;s just foolhardy, they say.</p><p>On the other end, management and their bean counters would simply roll their eyes saying this is why the tech guys aren&#8217;t running the business.</p><p>Seriously, why the disconnect?</p><p><span
id="more-2525"></span></p><p>Quite simply, they have very different agendas. The operations team is trying to deliver application speed, reliability, and scalability. Meanwhile the management team is trying to balance cash flow, capital investments and operating expenses, all this while retaining as much flexibility in decision making as possible.</p><p>Sound familiar? Yes, the bottom line for both are the same, but they approach the problem from two different sides.</p><p>After hearing this refrain from enough customers, I realized the question we were asking in operations was the wrong question. It is true that cloud servers do not perform as well as traditional servers &#8212; at least not yet. The question that one should ask is, given this performance constraint with virtual servers, how can I alleviate the performance limitations of virtual servers and storage but still deploy into the cloud?</p><h2>A little bit of history</h2><p>Anyone who&#8217;s been around computing since the mid 1990’s will see where I&#8217;m heading with this. Commoditization of computing, that&#8217;s where. In the late nineties there was a big shift happening. In the 1990’s as Linux was maturing, commodity servers became all the rage. A big shift began to happen which drove cheaper PC hardware into the datacenter. Where once Sun stood supreme, suddenly all these upstarts were pushing crappy commodity hardware at 1/10th of the cost.</p><p>Old-guard systems administrators  at that time would balk, telling you how the stuff wasn&#8217;t reliable, performance was worse, and they just failed too often. And you know what? They were right! Nevertheless look where we are today. Linux barreled through the datacenter because it lowered costs and introduced flexibility by giving you more choices and more redundancy.</p><p>All this rings very true today with the push to the cloud. Startups are the biggest adopters of cloud computing because the future is mostly unknown to them. Investing a quarter million dollars in hardware today when you don&#8217;t know where you&#8217;ll be in six months &#8211; that&#8217;s a very hard prospect to entertain.</p><p>But cloud computing more than just lowers cost. Don&#8217;t have the money for redundant servers to support Disaster Recovery? With Amazon EC2 you simply write scripts to rebuild your infrastructure and keep them handy when such an ill-fated day arrives. Flexibility, scalability and easier cost management. That&#8217;s what the cloud delivers.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/01/29/history-lesson-for-cloud-detractors/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>What Wouldn&#8217;t Google Do?</title><link>http://www.iheavy.com/2012/01/27/what-wouldnt-google-do/</link> <comments>http://www.iheavy.com/2012/01/27/what-wouldnt-google-do/#comments</comments> <pubDate>Fri, 27 Jan 2012 17:15:32 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Book Review]]></category> <category><![CDATA[Business]]></category> <category><![CDATA[iHeavy Newsletter]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=2506</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/01/27/what-wouldnt-google-do/">What Wouldn&#8217;t Google Do?</a></p><p>In his latest book, What Would Google Do? Jeff Jarvis seems to have authored a gushing tribute to the search giant that has pledged to do no evil. He paints a very optimistic picture, and shows us over and over how Google has opened up industries, and how that same openness helps consumers like you [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/01/27/what-wouldnt-google-do/">What Wouldn&#8217;t Google Do?</a></p><div><p><a
href="http://www.iheavy.com/2012/01/27/what-wouldnt-google-do/what-google-do/" rel="attachment wp-att-2509"><img
class="alignleft size-full wp-image-2509" title="What Google Do" src="http://www.iheavy.com/wp-content/uploads/2012/01/What-Google-Do.jpeg" alt="What Would Google Do" width="182" height="278" /></a>In his latest book, What Would Google Do? Jeff Jarvis seems to have authored a gushing tribute to the search giant that has pledged to do no evil. He paints a very optimistic picture, and shows us over and over how Google has opened up industries, and how that same openness helps consumers like you and I.</p><p>Jarvis, if you don&#8217;t know him by name, has been a journalist for some time, but gained particular cred and notoriety when he blogged with the headline &#8220;<a
href="http://buzzmachine.com/archives/cat_dell.html" target="_blank">Dell lies. Dell Sucks</a>&#8221; after his horrible experiences with Dell computers and customer service.</p><p>While digging through Googly chapters, on Real Estate, Publishing, Entertainment, Shopping, Education and even Airlines, Jarvis serves up anecdotes on how a more open approach can help these industries adapt to a new business environment brought about by the Internet. He cites interesting examples like Gary Vaynerchuk, the creator of the hilarious and insanely popular <a
href="http://winelibrary.tv/">winelibrary.tv</a> show about wines, and now a public speaker on social media and brand building; and Brazilian author <a
href="http://www.nytimes.com/2011/09/27/books/paulo-coelho-discusses-aleph-his-new-novel.html?_r=1&amp;src=ISMR_HP_LO_MST_FB" target="_blank">Paulo Coelho pirating his own works</a>.</p><p>Taking the cue from some of these successes Jarvis goes on to propagate the idea that sharing and dishing out services for free is the way to make money. The irony that you have to buy his book for him to tell you that deserves a chuckle, and also raises the question of whether he himself buys all of that (pun inevitable). Indeed openness is great for consumers as most of us would agree. A level playing field increases competition, drives down prices for consumers. But it also drives down profits and margins.<span
id="more-2506"></span></p><h2>With Google, Jarvis loses teeth</h2><p>What this book lacked though was an honest assessment of the tremendous potential for abuse that Google has acquired through the course of its growth. We now see that manifesting in the current controversy of Google favoring Google+ posts in search results.</p><p>He quotes Google&#8217;s Marissa Mayer as saying &#8220;Data is apolitical&#8221;.  Luckily google folks are good at coming up with these great slogans.  They can hide behind them all the while they&#8217;re muscling search objectivism out of, and ‘social queues’ into search.  I really wonder whether this may backfire on them, and not just because they don&#8217;t publish all those 200 variables that impact search, but because their strength has always been their algorithms, and how they aren&#8217;t biased.  How I can get search based on what&#8217;s out there, and let me sift it.  The more they try to *HELP* me sift, especially without my knowing how they&#8217;re helping, the more I become confused at the results, or worse, suspicious of them.</p><p>I might argue Google hasn&#8217;t necessarily won by openness as Jarvis posits. Rather they&#8217;ve won by being first to understand the Internet, and so have been first to market in so many areas that are being heavily disrupted by the new technology.  It uses openness as a strategy against incumbents, but uses muscle and monopoly as businesses always have, in areas where it leads.</p><p>Aaron Wall put it brilliantly in his <a
href="http://www.seobook.com/transparency" target="_blank">SEOBook blog</a>:  &#8221; <a
href="http://cdixon.org/2009/12/30/whats-strategic-for-google/">Where Google is losing you can count on them pushing the open label in order to build momentum</a> and destroy the asymmetrical information advantages of existing market leaders. But where Google leads non-transparency is the norm.&#8221; Or to borrow a quote from a random comment: &#8220;Google is like a ‘friend’ who buys, lets you drink for free but then slips a 5 dollar bill out of your pocket when you aren’t looking.&#8221;</p><p>I really felt like Jarvis was too much of a Google fanboy. His confidence in Google is pervasive throughout the book, something one would find uncharacteristic of a journalist. Why didn&#8217;t he shine the Dell-Sucks laser beam light onto Google? I kept searching for that kind of incisive commentary but I couldn’t find it.</p><p>It is for this reason that I prefer <a
href="http://www.iheavy.com/2009/12/01/open-insights-62-context/" target="_blank">Googled, The End of the World as We Know It</a> by Ken Auletta. Auletta offers a more balanced and critical analysis and I don’t think that makes him look like a grandpa who’s afraid of new technology. Auletta’s work and prose just came across as more thoughtful and mature. and while both books have already suffered obsolesence from the day they were released, I know which one I can turn to for a better understanding of Google.</p><p>Read Jarvis like you would any article or book &#8212; with a healthy dose of skepticism. And perhaps also keep this question in your mind: &#8220;What Wouldn&#8217;t Google Do?&#8221;</p></div><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/01/27/what-wouldnt-google-do/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>The Problem with Startup Bootcamps</title><link>http://www.iheavy.com/2012/01/18/the-problem-with-startup-bootcamps/</link> <comments>http://www.iheavy.com/2012/01/18/the-problem-with-startup-bootcamps/#comments</comments> <pubDate>Thu, 19 Jan 2012 04:02:51 +0000</pubDate> <dc:creator>Sean Hull</dc:creator> <category><![CDATA[All]]></category> <category><![CDATA[Business]]></category> <category><![CDATA[CTO/CIO]]></category> <category><![CDATA[Startups]]></category> <category><![CDATA[startup]]></category> <category><![CDATA[startup advice]]></category> <category><![CDATA[startups]]></category><guid
isPermaLink="false">http://www.iheavy.com/?p=2418</guid> <description><![CDATA[<p><p>Read the original article at <a
href="http://www.iheavy.com/2012/01/18/the-problem-with-startup-bootcamps/">The Problem with Startup Bootcamps</a></p><p>Scanning Crains NY Business recently, I saw an article on &#8216;starting up&#8217; in 54 hours.  It&#8217;s the brainchild of Marc Nager, Clint Nelsen and Franck Nouyrigat called Startup Weekend. Startup bootcamps seem to be the current extra-curricular activity of choice these days. Wharton is also getting in on it with their Innovation Tournament. Then there is the [...]</p></p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></description> <content:encoded><![CDATA[<p>Read the original article at <a
href="http://www.iheavy.com/2012/01/18/the-problem-with-startup-bootcamps/">The Problem with Startup Bootcamps</a></p><p><a
href="http://www.iheavy.com/2012/01/18/the-problem-with-startup-bootcamps/startup/" rel="attachment wp-att-2444"><img
class="centered size-full wp-image-2444" title="startup" src="http://www.iheavy.com/wp-content/uploads/2012/01/startup.png" alt="instant startups" width="630" height="248" /></a></p><p>Scanning Crains NY Business recently, I saw an article on &#8216;starting up&#8217; in 54 hours.  It&#8217;s the brainchild of Marc Nager, Clint Nelsen and Franck Nouyrigat called <a
href="http://startupweekend.org/" target="_blank">Startup Weekend</a>. Startup bootcamps seem to be the current extra-curricular activity of choice these days. Wharton is also getting in on it with their <a
href="http://venturebeat.com/2012/01/06/wharton-innovation-tournament/" target="_blank">Innovation Tournament</a>. Then there is the <a
href="http://www.businessweek.com/magazine/the-48hour-startup-09152011.html" target="_blank">48 Hour Startup</a>  and of course let&#8217;s not forget the <a
href="http://3daystartup.org/" target="_blank">3 Day Startup</a>.</p><p>So what&#8217;s my beef?  Truth be told I admire the ambition, the optimism, and the openness of these efforts.  And for sure these bootstrapping marathons do introduce entrepreneurs to future colleagues and partners, get them asking the right questions about financing, customers, revenue, competition and so forth.</p><p>My problem with these events is they frame startups as something you *can* do quickly. As if it were a Lego set or pop-up book that gives instant results and gratification. Sure startups are 21st century tech-driven business that provide innovative products in a very short development cycle but a lot of the day-to-day running of the business are still very mundane 20th century sensibilities; not unlike running a mom and pop store, a laundromat, deli or sandwich shop.</p><p><span
id="more-2418"></span></p><h1>No shortcuts to startup success</h1><p>You have to learn how to ask your customers what they want, learn how to sell them something they need, and be prepared to be surprised in the process. I&#8217;ve worked with many startups and have seen often how many have had to throw out an idea that didn&#8217;t work and re-strategize. This takes courage an conviction.</p><p>One startup client was building iPhone apps for event management. After testing it on the market it turned out nobody really wanted an event management app.  But there was a market for professional and consulting services that can help build technology platforms, and architect the right solutions.  So they shifted gears and moved into that space.  They&#8217;ve grown tenfold since.</p><p>Another startup client&#8217;s change in direction was so radical that it even warranted a name change. Buzzd, started out as a city guide for consumers based on aggregating Facebook, FourSquare and Gowalla check-ins. Last October <a
href="http://paidcontent.org/article/419-localresponse-raises-5-million-for-check-in-ads/" target="_blank">Buzzd became LocalResponse</a> and turned its focus onto advertisers instead.</p><p>This kind of honest self-analysis and business acumen so crucial for survival can only be acquired through experience. For example managing overheads or being aware that profitability does not always mean solvency. And then there are decision taking and setting priorities. Repair that wall or build a new display case? Use that money on product and inventory?  Attract customers to your store?  What&#8217;s the right price point to settle on?  How do you avoid legal entanglements, and who are some of the predators to watch out for?</p><p>Startup crash courses are probably a great way for  aspiring entrepreneurs to network, and for VCs to spot the next killer investment. But at the same time, it feels suspiciously like a diet fad that promises to change 30+ years of behavior overnight, and get you looking like a bikini model in no time.  Fitness and health are lifestyle choices, as is building a successful business. As much as we like to think otherwise, there are simply no shortcuts.</p><p>For more articles like these go to <a
href="http://www.iheavy.com">iHeavy, Inc +1-212-533-6828</a></p>]]></content:encoded> <wfw:commentRss>http://www.iheavy.com/2012/01/18/the-problem-with-startup-bootcamps/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 2/106 queries in 0.051 seconds using disk: basic
Object Caching 4944/5251 objects using memcached

Served from: www.iheavy.com @ 2012-05-17 23:42:45 -->
