<?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>Bitlancer LLC</title>
	<atom:link href="http://www.bitlancer.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bitlancer.com/blog</link>
	<description>Horizontal Scalability Blog</description>
	<lastBuildDate>Sat, 23 Mar 2013 04:13:06 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>MySQL Replication, It&#8217;s Easy</title>
		<link>http://www.bitlancer.com/blog/2013/03/mysql-replication-its-easy/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mysql-replication-its-easy</link>
		<comments>http://www.bitlancer.com/blog/2013/03/mysql-replication-its-easy/#comments</comments>
		<pubDate>Sat, 23 Mar 2013 04:00:34 +0000</pubDate>
		<dc:creator>Andrew Huffman</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[replication]]></category>

		<guid isPermaLink="false">http://www.bitlancer.com/blog/?p=485</guid>
		<description><![CDATA[Many companies today make use of a MySQL database as an integral part of their business operations.  Yet, these same companies do not utilize a simple, but powerful feature of MySQL: database replication.  We see clients avoiding the use of replication all too often, and it&#8217;s worth understanding that setting up MySQL replication isn&#8217;t all [...]]]></description>
			<content:encoded><![CDATA[<p dir="ltr">Many companies today make use of a MySQL database as an integral part of their business operations.  Yet, these same companies do not utilize a simple, but powerful feature of MySQL: database replication.  We see clients avoiding the use of replication all too often, and it&#8217;s worth understanding that setting up MySQL replication isn&#8217;t all that complicated.<span id="more-485"></span></p>
<p>What makes MySQL replication different than other relational database systems?  Simplicity.  An out-of-box setup is mostly trivial, and should not be an overwhelming task for a junior database administrator, or even those otherwise unfamiliar with advanced MySQL tuning.  There are several ways to begin configuring database replication when considering existing databases.   One possible method begins by completing a database dump.  The exported data will be imported on your planned MySQL slave server.  Minor configuration changes must be made to your master and slave database servers, as well as some minor permission changes to allow replication.  If binary logging was not enabled on your master database server, the master MySQL server must be restarted to enable the required components.  The status of your replication partners can be checked at any time with some simple MySQL queries.  Completing a similar configuration on other relational databases could take you hours of research and planning.</p>
<p>Why use MySQL replication in your organization?  The most common reasons are backups (hot spare), performance, scalability, and high availability.  MySQL replication in its most basic configuration consists of a master and a slave database server.  The master server writes its transactional changes to a log.  When a slave is configured, it sends requests to the master for a copy of the log.  These changes are analyzed, then applied to the slave server.  Once there is a slave database, you can then offload complex queries, searches or analytics that impact performance and stability of your production database.  Databases can also be failed over to a slave server in a critical situation, or used to preserve the application’s deliverables to customers when experiencing downtime on the master server.</p>
<p>As we have experienced, many administrators of MySQL fear configuring replication a daunting task.  In reality, it’s a simple approach that can provide many benefits to an organization’s applications.  We have discussed some of the most common uses of MySQL replication, but MySQL replication also offers many advanced features as well.</p>
<p><a href="http://www.bitlancer.com/database-services"><strong>Let Bitlancer help you replicate today with our MySQL DBA services</strong>.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitlancer.com/blog/2013/03/mysql-replication-its-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Demystifying Cloud Computing</title>
		<link>http://www.bitlancer.com/blog/2013/02/demystifying-cloud-computing/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=demystifying-cloud-computing</link>
		<comments>http://www.bitlancer.com/blog/2013/02/demystifying-cloud-computing/#comments</comments>
		<pubDate>Tue, 19 Feb 2013 00:45:29 +0000</pubDate>
		<dc:creator>Paul Michaelsen</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[cloud]]></category>

		<guid isPermaLink="false">http://www.bitlancer.com/blog/?p=474</guid>
		<description><![CDATA[Even though Cloud Computing has been around for several years, 2013 is shaping up to be the “Year of the Cloud”. Not unlike the periods when we experienced the emergence of PC’s, network operating systems, data mining tools and of course the Internet. Each technology paradigm shift comes with a “Getting to know” period when [...]]]></description>
			<content:encoded><![CDATA[<p>Even though Cloud Computing has been around for several years, 2013 is shaping up to be the “Year of the Cloud”. Not unlike the periods when we experienced the emergence of PC’s, network operating systems, data mining tools and of course the Internet. Each technology paradigm shift comes with a “Getting to know” period when standards are not yet established and understanding what it means to my business is not all that clear. With Cloud Computing, organizations we knew as software or consulting companies are suddenly cloud companies. Marketing departments have incorporated the cloud verbiage into their advertising and promotional materials. Whether this makes them a legitimate cloud service provider depends on the company’s ability to create a business value to license their software or provide services that are secure, reliable, cost effective or have an ROI.</p>
<p>When trying to understand cloud computing, the good news is that not all things have changed. If you pull back the curtains, cloud computing leverages hardware, software, databases, security/disaster recovery tools &amp; methodologies that are used inside company firewalls. However, there&#8217;s also a trend to take advantage of commodity hardware that clouds tend to be built upon and architect *entirely* differently. This will be transparent to the customer.</p>
<p>What has changed is the where your business applications are executed, stored, managed from and by whom. Cloud computing gives customers choices to be private, public or hybrid. There is no “Best” choice. Finding the platform that fits your company is best accomplished through performing an assessment of your business applications processes and constraints.</p>
<p>This period is a great opportunity for companies to take a look at the Total Cost of Ownership (TCO) of their technology assets. They can then identify candidates for Cloud Computing Assessments.</p>
<p>The criteria can be many. A platform may be nearing the end of a lease. You have to decide whether to renew. Looking at a Cloud alternative is a great way to inventory your processes, procedures and cost. Systems going through growth can be considered as cloud candidates. It becomes increasingly hard to manage growth while allocating resources in a timely manner. Cloud computing takes care of this.</p>
<p>Security is the biggest flag raised when it come to cloud computing. The tools, rules and guidelines that are in place inside the company firewall are the same in the cloud. Companies will have to define the levels of security they want in place. For companies that are sensitive to releasing control of their credentials or access points, they can choose to control that portion of the platform. With all the raised awareness of security threats, it’s a good time to review and design your security framework.</p>
<p>We are learning some “Cloud Lessons” from the early adopters. Refinements will be made through continuous improvement initiatives that will yield some best practices.</p>
<p>To determine if you are a SasS, PaaS, IaaS, Private, Public or Hybrid, you just need to pick an application or business requirement that needs attention and get an assessment. Isn’t this the way we’ve always done it?</p>
<p><strong>Let Bitlancer help you <a title="Engineering in the Cloud" href="http://www.bitlancer.com/blog/2012/06/engineering-in-the-cloud/">Engineer for the Cloud</a> with our FREE Engineering in the Cloud guide.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitlancer.com/blog/2013/02/demystifying-cloud-computing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Avoid the Wild Wild West of Cloud Computing</title>
		<link>http://www.bitlancer.com/blog/2013/01/avoid-the-wild-wild-west-of-cloud-computing/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=avoid-the-wild-wild-west-of-cloud-computing</link>
		<comments>http://www.bitlancer.com/blog/2013/01/avoid-the-wild-wild-west-of-cloud-computing/#comments</comments>
		<pubDate>Sat, 05 Jan 2013 03:22:51 +0000</pubDate>
		<dc:creator>Matt Juszczak</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[cloud]]></category>

		<guid isPermaLink="false">http://www.bitlancer.com/blog/?p=457</guid>
		<description><![CDATA[Are you more likely to take the toll road when you have EZ-Pass or Fast Lane?  Are you more likely to splurge on that steak dinner when you&#8217;ve got the plastic credit card to pay with instead of hard-earned cash?  Cloud computing is the credit card of the 21st Century &#8212; on demand resources, on [...]]]></description>
			<content:encoded><![CDATA[<p>Are you more likely to take the toll road when you have EZ-Pass or Fast Lane?  Are you more likely to splurge on that steak dinner when you&#8217;ve got the plastic credit card to pay with instead of hard-earned cash?  Cloud computing is the credit card of the 21st Century &#8212; on demand resources, on demand gratification, and worst of all, on demand spending.  Typically and traditionally, when companies run their own data center, or manage co-located hardware, they are much more sensitive to changes and new expenses.  While cloud computing helps to reduce the overhead involved with upfront expenses and waiting for new hardware to be delivered and deployed, the on-demand aspect of cloud computing can sometimes cause a &#8220;Wild Wild West&#8221; effect &#8212; lots of spending, fairly little auditing, and very little cost control.<span id="more-457"></span></p>
<p>In almost every cloud, whether public or private, it&#8217;s easy and trivial to spin up new resources and begin to incur costs.  While most cloud providers offer out-of-box limits on the amount of resources you can spin up in a single account (usually via limiting the amount of total RAM or the total number of gigabytes you can utilize), often times these limits are easily increased and later ignored all-together.  How will you control who can spin up cloud resources this year?  Do you have auditing procedures in place?  If you&#8217;re practicing a DevOps model, is each team or group limited in the amount of resources they can spin up and control?</p>
<p>Happy New Year from Bitlancer &#8212; let&#8217;s keep those cloud costs under control in 2013.  Our <strong></strong>next version of <a href="http://www.bitlancer.com/bitlancer-strings">Bitlancer Strings</a> will help with cost calculations and cost control, but in the meantime, be careful what you spend and avoid that cloud instance creep.  <strong><a href="http://www.bitlancer.com/free-consultation">Find out for free if our cloud consulting services are right for you and request a free consultation</a></strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitlancer.com/blog/2013/01/avoid-the-wild-wild-west-of-cloud-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How does Bitlancer perform a MySQL healthcheck?</title>
		<link>http://www.bitlancer.com/blog/2012/10/how-does-bitlancer-perform-a-mysql-healthcheck/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-does-bitlancer-perform-a-mysql-healthcheck</link>
		<comments>http://www.bitlancer.com/blog/2012/10/how-does-bitlancer-perform-a-mysql-healthcheck/#comments</comments>
		<pubDate>Thu, 25 Oct 2012 05:54:31 +0000</pubDate>
		<dc:creator>Matt Juszczak</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.bitlancer.com/blog/?p=436</guid>
		<description><![CDATA[Some of our clients have asked us recently for an overview of our MySQL health check service.  I wanted to take some time and summarize the MySQL health check service and some of the steps we take. Bitlancer health checks are a monthly review of one or more MySQL servers in a customer&#8217;s environment.  We [...]]]></description>
			<content:encoded><![CDATA[<p>Some of our clients have asked us recently for an overview of our MySQL health check service.  I wanted to take some time and summarize the MySQL health check service and some of the steps we take.</p>
<p>Bitlancer health checks are a monthly review of one or more MySQL servers in a customer&#8217;s environment.  We have a large checklist that covers many critical installation and configuration issues, along with other less critical issues that can potentially cause problems down the road.  We look for low-hanging fruit and perform a detailed investigation of potential optimizations, needed performance tuning, and long-term planning strategies.  We generate detailed reports of immediately actionable items and impending future problems.  For recurring MySQL health checks, reports are delivered monthly with comparisons from previous months to outline growth and possible upcoming bottlenecks.  Our health checks can prevent costly, unexpected server maintenances and the need for disaster recovery by finding problems ahead of time.  With verification of proper backups, we can help prevent downtime, data loss, and respective recovery costs. If you&#8217;re looking to supplement your in-house MySQL talent, or you lack in-house MySQL expertise, our MySQL health check would likely beneficial to you.  <a href="http://www.bitlancer.com/database-services">Find out for free if our health check services are right for you.</a><span id="more-436"></span></p>
<p>In time, we&#8217;ll post a full and detailed description of our health check process.  In fact, I&#8217;m looking forward to breaking each of these items down into further blog posts to help explain why we check them, and what to look for.  For now, here are a sampling of the items we evaluate during a MySQL health check:</p>
<ol>
<li>Identify and Document Operating System Information
<ul>
<li>What version of MySQL?</li>
<li>Is MySQL custom compiled or a standard installation (RPM, FreeBSD Port, etc.)?</li>
<li>What storage engines are in use? (InnoDB, MyISAM, etc.)</li>
<li>What is the maximum size of files on disk?</li>
<li>What is the underlying hardware configuration?</li>
<li>What other software is running on the box besides MySQL?</li>
<li>What is the underlying disk configuration?  Is it redundant?  Is it optimized for size or performance?</li>
<li>Is the server running on dedicated or shared hardware?  If shared, is it in a public or private cloud?  Are there potential resource issues from competing tenants?</li>
<li>How much memory is available to MySQL?</li>
<li>How are the log files configured?  What size/shape are the data files?</li>
</ul>
</li>
<li>Identify and Document Current Resource Utilization
<ul>
<li>How much memory is in use by MySQL?</li>
<li>What are the I/O and data access patterns?</li>
<li>What&#8217;s average CPU utilization like?  Are there bursts or is it consistent?</li>
<li>What kind of init script is in use?  Is it overriding any default options?</li>
<li>What does the my.cnf look like?  What default options are being overwritten?</li>
</ul>
</li>
<li>Tuning
<ul>
<li>What is the maximum memory utilization of MySQL?</li>
<li>Is there obvious necessary tuning that was missed during a MySQL upgrade (for instance, 5.1 -&gt; 5.5)?</li>
<li>If MyISAM, what is the key_buffer_size in comparison to all indexes on disk?</li>
<li>If InnoDB, what is the innodb_buffer_pool_size in comparison to all data and indexes on disk?</li>
<li>Is the query cache enabled?  If so, is it being used efficiently?</li>
<li>What is max_connections set to?  Is max_user_connections set, and if not, should it be?</li>
<li><em>We perform many other tuning checks, specifically with InnoDB.  We&#8217;ll cover those in a later blog post.</em></li>
</ul>
</li>
<li>Database Maintenance Procedures and Log Files
<ul>
<li>Review of monitoring and log rotation</li>
<li>Review monitoring of storage space and growth rates</li>
<li>Are there any procedures in place to auto-optimize?</li>
<li>How are log files distributed across underlying disk(s)?  What about the data and indexes?</li>
<li>What log files are enabled?  Is the slow query log enabled?  If so, how busy is it?  What about the mysql general log?</li>
</ul>
</li>
<li>General Security
<ol>
<li>How big are the MySQL grant tables?</li>
<li>What password hash is being used for passwords?</li>
<li>Is a root password set?</li>
<li>Are there shared user accounts?  What about for applications?</li>
<li>Are triggers or stored procedures in use?  Is anything defined by an individual user?  If so, what if that user leaves the company and that account is removed?</li>
</ol>
</li>
<li>Replication
<ol>
<li>Is replication enabled?</li>
<li>Do all replicating nodes have different server IDs?</li>
<li>Are report hosts in use?</li>
<li>Is skip_slave_errors in use?  If so, why?</li>
<li>Are any databases or tables skipped in replication?</li>
<li>Is there any replication configured in my.cnf (now deprecated)?</li>
<li>Is master to master setup?  If so, is it configured properly?</li>
</ol>
</li>
</ol>
<p>These are just some of the items we check during our MySQL health check service.  <a href="http://www.bitlancer.com/database-services">Find out for free if our health check services are right for you and request a free consultation.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitlancer.com/blog/2012/10/how-does-bitlancer-perform-a-mysql-healthcheck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unless You&#8217;re a Software Company, Use WordPress.</title>
		<link>http://www.bitlancer.com/blog/2012/10/unless-youre-a-software-company-use-wordpress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unless-youre-a-software-company-use-wordpress</link>
		<comments>http://www.bitlancer.com/blog/2012/10/unless-youre-a-software-company-use-wordpress/#comments</comments>
		<pubDate>Thu, 25 Oct 2012 05:43:05 +0000</pubDate>
		<dc:creator>Eric Keller</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[bitlancer]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[engineering]]></category>

		<guid isPermaLink="false">http://www.bitlancer.com/blog/?p=421</guid>
		<description><![CDATA[The argument for building a custom website has become increasingly hard to make, given the ever-expanding flexibility and functionality of WordPress.  Now, for a software company or a company whose product itself is a website with unique functionality, then building a custom website may still be the easier and more cost-effective way to approach the [...]]]></description>
			<content:encoded><![CDATA[<p>The argument for building a custom website has become increasingly hard to make, given the ever-expanding flexibility and functionality of WordPress.  Now, for a software company or a company whose product itself is a website with unique functionality, then building a custom website may still be the easier and more cost-effective way to approach the project.  For any business which does not fall into that category, WordPress almost certainly saves substantial time and money.  Additionally, each plug-in can be easily managed through the WordPress dashboard, the ease of which cannot be understated.  Blogging with WordPress requires little elaboration, but here are some notable functions that have become very simple and effective:<span id="more-421"></span></p>
<ul>
<li>E-Commerce &#8211; To call the ecosystem of plug-ins available robust would be an understatement.  Many options exist, free and otherwise, which simplify the creation and customization of an online store.  Virtually any method of payment can be utilized.  Robust shopping cart functions, such as inventory control, shipping, trends, and other analytics, are now accessible via plug-ins.  We&#8217;ve been using <a href="http://www.woothemes.com">Woocommerce</a> and are quite happy with it.</li>
<li>User/Account Management &#8211; Plug-ins now exist to define and control different levels of access, both for customers and employees, on almost any level one might require.</li>
<li>Forums &#8211; Creating and maintaining a fully functional forum on one&#8217;s website has also become incredibly simple and efficient, using plug-ins such as <a href="http://bbpress.org/">BBPress</a>.</li>
<li>WordPress Multi &#8211; A little known fact is the ability to run and manage multiple WordPress blogs from a single instance of WordPress.</li>
<li>Ease of caching and high-availability &#8211; Tools such as Batcache and W3 Total Cache have made scaling WordPress a cinch.</li>
<li>A vast plugin ecosystem &#8211; Many plug-ins even allow a user to post simultaneously to different places, such as social networks, when publishing a blog post.  Or create your own social network with <a href="http://buddypress.org/">BuddyPress</a>.</li>
</ul>
<p>If all of these functions were to be custom coded, the cost could be astronomical.  Additionally, everything is managed through the dashboard, rendering it unnecessary to log-in to multiple different portals to access each piece of the website.  This allows resources to concentrate their time on what makes the business money.  The capital which would have gone to custom coding (not to mention updating) all of this infrastructure can be spent on promoting the front end of the business.</p>
<p><strong></strong>We have worked with many Bitlancer customers recently on high-traffic WordPress installs.  Stay tuned for a high-tech, descriptive post on steps we took to scale those customers in a public cloud environment with multiple webservers, database servers, and a memory-based caching implementation.  In the meantime, <a href="http://www.bitlancer.com/free-consultation"><strong>request a free consultation</strong></a> to see how we can help you with your WordPress setup.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitlancer.com/blog/2012/10/unless-youre-a-software-company-use-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Schema Changes to Large MySQL Tables</title>
		<link>http://www.bitlancer.com/blog/2012/09/schema-changes-to-large-mysql-tables/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=schema-changes-to-large-mysql-tables</link>
		<comments>http://www.bitlancer.com/blog/2012/09/schema-changes-to-large-mysql-tables/#comments</comments>
		<pubDate>Tue, 11 Sep 2012 07:39:54 +0000</pubDate>
		<dc:creator>Matt Juszczak</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.bitlancer.com/blog/?p=322</guid>
		<description><![CDATA[Special consideration must be given when making schema changes to large tables in MySQL that use the InnoDB or MyISAM storage engines.  Specifically, both engines by default will lock the table entirely while schema changes are being performed.  We&#8217;re often asked by clients how changes to large tables can be made without blocking end user [...]]]></description>
			<content:encoded><![CDATA[<p>Special consideration must be given when making schema changes to large tables in MySQL that use the InnoDB or MyISAM storage engines.  Specifically, both engines by default will lock the table entirely while schema changes are being performed.  We&#8217;re often asked by clients how changes to large tables can be made without blocking end user experiences (most other types of traffic, such as batch update processes and replication, can usually be paused).  Just the thought of unnecessary delays, added costs, and other associated nuisances are causing me anxiety as I type this sentence, so I&#8217;m excited to share some solutions to help ease the burden.  As always, please perform your own due diligence before trying any of these methods:<span id="more-322"></span><strong></strong></p>
<p><strong>Option:</strong> Perform change on master, allow replication to slaves<strong><br />
Difficuly:</strong> Easy<br />
<strong>Downtime: </strong>Long<br />
This is the most traditional and native method of making schema changes to large MySQL tables.  An ALTER executed on the master will apply the changes to the table (taking anywhere from a few minutes to a few days depending on the size of the table and the speed of the underlying hardware).  During this application time, the tables will be blocked for both reads and writes.  Depending on the number of database connections and the configuration of your application, you&#8217;ll either reach max_connections (which will block any further new connections/queries), or you&#8217;ll experience noticeable performance degradation with queries on other databases/tables.  If you can afford this downtime, or the combination of your table size and hardware performance makes you confident the changes will apply quickly, this method may work for you.</p>
<p><strong>Option:</strong> Perform change on slave(s), perform a master/slave swap, apply change to old master<br />
<strong>Difficulty:</strong> Medium<br />
<strong>Downtime: </strong>Short<br />
This method requires replication (availability of at least one master and one slave) to work.  An unused slave is best, but if you&#8217;re currently using all of your slaves, try to free them up one by one before proceeding with this method.  It&#8217;s always best to run schema changes on servers that are out of production to avoid user experience interruptions and increase the speed of changes by reducing contention.  Once you&#8217;ve applied the schema change to at least one slave by <strong>stopping replication </strong>and running your ALTER command(s) and allowing the slave to recover, promote that slave to master, and demote the old master to slave. Apply the changes to the other remaining slaves if necessary, including the old master.  In this situation, your likely maximum possible downtime, provided the schema changes are never made on a slave that is in production for read queries, is the time it takes to perform the master/slave swap.  If you can afford the technical pieces involved in a master/slave swap, the savings in downtime may be to your benefit.</p>
<p><strong>Option:</strong> Use an online schema change tool<br />
<strong>Difficulty:</strong> Medium<br />
<strong>Downtime: </strong>Short<br />
This method requires the use of an external tool not native to MySQL, such as <a href="http://www.percona.com/doc/percona-toolkit/2.1/pt-online-schema-change.html">pt-online-schema-change</a>, part of the <a href="http://www.percona.com/doc/percona-toolkit/2.1/index.html">Percona Toolkit</a>.</p>
<p>While this is an incomplete list of all possible options, I hope these schema change methods are helpful.  As always, I&#8217;d recommend testing in a true QA environment first.  We&#8217;ve seen some users test changes on an unused slave before applying to a master.  If you consider this a reliable testing method, keep in mind that replication will temporarily break as the changes are further applied to the master and then replicated to the testing slave (as they can&#8217;t be applied twice).  For that situation, look into SQL_SLAVE_SKIP_COUNTER.  When used appropriately, SQL_SLAVE_SKIP_COUNTER can reliably skip these duplicate ALTER statements.</p>
<p><strong>Need help from Bitlancer?  Check out our <a href="http://www.bitlancer.com/database-services">FREE database consultation.</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitlancer.com/blog/2012/09/schema-changes-to-large-mysql-tables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why is Direct Access to Senior Leadership Important?</title>
		<link>http://www.bitlancer.com/blog/2012/08/why-is-direct-access-to-senior-leadership-important/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=why-is-direct-access-to-senior-leadership-important</link>
		<comments>http://www.bitlancer.com/blog/2012/08/why-is-direct-access-to-senior-leadership-important/#comments</comments>
		<pubDate>Fri, 17 Aug 2012 05:20:55 +0000</pubDate>
		<dc:creator>Eric Keller</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[bitlancer]]></category>
		<category><![CDATA[boston]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[engineering]]></category>

		<guid isPermaLink="false">http://www.bitlancer.com/blog/?p=328</guid>
		<description><![CDATA[Here at Bitlancer, we cannot over-emphasize the importance of being directly available to our clients via telephone.  Do not confuse that with getting &#8220;someone&#8221; on the telephone, which is nice, don&#8217;t get me wrong.  Getting someone who knows what they&#8217;re talking about, however, is worth a million bucks (sometimes quite literally).  If we could automate [...]]]></description>
			<content:encoded><![CDATA[<p>Here at Bitlancer, we cannot over-emphasize the importance of being directly available to our clients via telephone.  Do not confuse that with getting &#8220;someone&#8221; on the telephone, which is nice, don&#8217;t get me wrong.  Getting someone who knows what they&#8217;re talking about, however, is worth a million bucks (sometimes quite literally).  If we could automate customer support departments to scale horizontally the same way we configure cloud server instances, then no one would ever have to wait on hold.  Unfortunately, support requires humans, and humans that are trained in appropriate techniques and technologies at that. <span id="more-328"></span></p>
<p>Anyone who has experienced any of the more recent major cloud outages, will be familiar with this problem: even when you pay extra for support, a major outage can overwhelm the support desk and leave you without vital information.  Bitlancer&#8217;s extensive cloud infrastructure knowledge, thankfully, allows our customers to stay out of the fray and get support directly from Bitlancer.  Most importantly, we are on call to handle any appropriate migrations/infrastructure replacement if needed.</p>
<p><a href="http://www.bitlancer.com/bitlancer-strings"><strong>Learn more about the Bitlancer Strings product today.</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitlancer.com/blog/2012/08/why-is-direct-access-to-senior-leadership-important/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Horizontal Scalability</title>
		<link>http://www.bitlancer.com/blog/2012/08/horizontal-scalability/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=horizontal-scalability</link>
		<comments>http://www.bitlancer.com/blog/2012/08/horizontal-scalability/#comments</comments>
		<pubDate>Tue, 14 Aug 2012 09:59:20 +0000</pubDate>
		<dc:creator>Eric Keller</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[amazon ec2]]></category>
		<category><![CDATA[amazon web services]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[bitlancer]]></category>
		<category><![CDATA[boston]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[rackspace cloud]]></category>

		<guid isPermaLink="false">http://www.bitlancer.com/blog/?p=297</guid>
		<description><![CDATA[Horizontal scalability refers to the ability to spread a workload over multiple servers, rather than increasing the capacity of a single server.  This results in the ability to utilize more, less expensive pieces of hardware, rather than endlessly upgrading a single server at great cost.  Think of the Borg from Star Trek, or the concept [...]]]></description>
			<content:encoded><![CDATA[<p>Horizontal scalability refers to the ability to spread a workload over multiple servers, rather than increasing the capacity of a single server.  This results in the ability to utilize more, less expensive pieces of hardware, rather than endlessly upgrading a single server at great cost.  Think of the Borg from Star Trek, or the concept behind the movie &#8220;The Matrix.&#8221;  When a single part of the collective capacity fails, the system does not fail because the workload can be handled by the other nodes in the system.  Thus, the ability to scale horizontally largely eliminates single points of failure.  When the unexpected inevitably strikes, the loss of a single server cannot undermine the entire system.  Conversely, when the need for excess capacity spikes, then the workload can be spread across multiple servers utilzing load balancing and database sharding/partitioning, mitigating performance loss.<span id="more-297"></span></p>
<p>With the advent of cloud-based hosting, the ability to scale out (another term for horizontal scaling) becomes increasingly cost effective.  In addition to non-existent cost for additional hardware, cloud server instances can be added &#8220;on-demand,&#8221; and often only paid for when a spike in capacity occurs, eliminating the cost of excessive amounts of hardware capacity.  Cloud server instances, furthermore, have become increasingly simple to spin up uniformly, via software such as Bitlancer Strings, which nearly eliminates the need to configure additional server instances manually.  Such automation can spare countless hours of work, which naturally compounds in relation the speed of the increase in traffic.</p>
<p><strong>To learn more about the Bitlancer Strings platform, review our <a href="http://www.bitlancer.com/bitlancer-strings">standard service guide</a> today!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitlancer.com/blog/2012/08/horizontal-scalability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is the Cloud Cost-Effective for You?</title>
		<link>http://www.bitlancer.com/blog/2012/07/is-the-cloud-cost-effective-for-you/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=is-the-cloud-cost-effective-for-you</link>
		<comments>http://www.bitlancer.com/blog/2012/07/is-the-cloud-cost-effective-for-you/#comments</comments>
		<pubDate>Sun, 29 Jul 2012 10:05:41 +0000</pubDate>
		<dc:creator>Eric Keller</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[amazon ec2]]></category>
		<category><![CDATA[amazon web services]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[rackspace cloud]]></category>

		<guid isPermaLink="false">http://www.bitlancer.com/blog/?p=266</guid>
		<description><![CDATA[Determining whether to migrate to cloud infrastructure (IaaS) or to a cloud platform (PaaS) requires a thorough understanding of the various recurring costs associated with one&#8217;s existing infrastructure (not to the mention the one-time cost of auditing the footprint of any existing setup).  Now, for anyone still in the planning stages of a start-up, the [...]]]></description>
			<content:encoded><![CDATA[<p>Determining whether to migrate to cloud infrastructure (IaaS) or to a cloud platform (PaaS) requires a thorough understanding of the various recurring costs associated with one&#8217;s existing infrastructure (not to the mention the one-time cost of auditing the footprint of any existing setup).  Now, for anyone still in the planning stages of a start-up, the cloud can likely be a cost effective alternative to traditional hosting.  For those with an existing implementation on traditional physical infrastructure, determining the cost effectiveness of a cloud transition becomes more involved.  However, it is common to out-grow physical, vertically-scaled infrastructure and in those cases, a cloud (or hybrid) migration may be necessary for long-term scalability.  Below are some cost factors that need to be considered:<span id="more-266"></span></p>
<ul>
<li><strong>Physical Costs</strong> &#8211; electricity, physical space (real estate, tax, lost office space), the cost of the equipment, the cost of upgrading the equipment, insuring the equipment.</li>
<li><strong>Labor Costs/Productivity</strong> &#8211; paying personnel to maintain the infrastructure, assigning back-end work to developers and engineers who could be using their time to drive profits instead.</li>
<li><strong>Accounting &amp; Taxes</strong> &#8211; will time and money be saved by simplifying accounting? Cloud services can be classified as operating expenses (OPEX) and/or capital expenditures (CAPEX) in some cases.</li>
<li><strong>Migration Costs &#8211; </strong>how much will it cost to migrate your infrastructure to the cloud?  Every setup is unique, and must be evaluated on its own merits.</li>
<li><strong>Long Term Costs &#8211; </strong>will scaling in the cloud save you money as your business grows?</li>
</ul>
<p><strong>To find out if the cloud is cost-effective for you,  </strong><strong><a href="http://www.bitlancer.com/is-the-cloud-cost-effective-for-you">take our free assessment now</a>.</strong><strong></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitlancer.com/blog/2012/07/is-the-cloud-cost-effective-for-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Database Health Checks</title>
		<link>http://www.bitlancer.com/blog/2012/07/mysql-database-health-checks/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mysql-database-health-checks</link>
		<comments>http://www.bitlancer.com/blog/2012/07/mysql-database-health-checks/#comments</comments>
		<pubDate>Fri, 27 Jul 2012 00:40:51 +0000</pubDate>
		<dc:creator>Eric Keller</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[bitlancer]]></category>
		<category><![CDATA[boston]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.bitlancer.com/blog/?p=260</guid>
		<description><![CDATA[Bitlancer offers monthly MySQL database health checks.  MySQL database errors, crashes, down time, lost data, poor performance, you name it, all cost your business dearly.  Unhealthy MySQL databases take away your valuable time, upset your customers, force you to pay emergency consulting rates, then they cause you do &#8220;damage control&#8221; with everyone who interacts with [...]]]></description>
			<content:encoded><![CDATA[<p>Bitlancer offers monthly MySQL database health checks.  MySQL database errors, crashes, down time, lost data, poor performance, you name it, all cost your business dearly.  Unhealthy MySQL databases take away your valuable time, upset your customers, force you to pay emergency consulting rates, then they cause you do &#8220;damage control&#8221; with everyone who interacts with and relies on your database.  MySQL errors cause you stress, gray hair, even anger, then they cost you your free time, your confidence in your management skills, your social life, your reputation, etc.  It&#8217;s a downward spiral that builds off of its own momentum, all while you and your team are unable to focus on the part of your business that makes you money.  Anyone who has ever been involved in running a business can relate to the immeasurable awfulness that occurs when something that should work &#8220;automatically&#8221; fails without warning.  While it occurs on different scales, make no mistake, your MySQL database health towers over you half-broken stapler and unreliable fax machine in its importance to your operation. <span id="more-260"></span></p>
<p>A few further points:</p>
<ul>
<li>Bitlancer&#8217;s $899 monthly rate per server is drastically less expensive than responding to an issue after the fact &#8211; emergency consulting rates run upwards of $300/hr, and a fix can often take days.</li>
<li>Bitlancer&#8217;s MySQL database health checks may allow you to cut database administrator (dba) costs, by only paying for maintenance &#8220;as needed.&#8221;</li>
<li>You can re-allocate your talented personnel to the front end of the business and increase profitability.</li>
<li>Accounting may be simplified, as the monthly cost of the MySQL health checks are an easily accounted for operating expense (opex).</li>
</ul>
<p><strong><a href="http://www.bitlancer.com/free-consultation">Request a Free Consultation</a> and learn how Bitlancer&#8217;s MySQL health checks can work for you.</strong></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitlancer.com/blog/2012/07/mysql-database-health-checks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
