<?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>Web Site of Rajiv Pant &#187; hosting</title>
	<atom:link href="http://www.rajiv.com/blog/tag/hosting/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rajiv.com</link>
	<description>Victory is winning people, not defeating others.</description>
	<lastBuildDate>Fri, 03 Feb 2012 17:57:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Hosting Large-Scale Web Sites: Contract Review Guide for the CTO</title>
		<link>http://www.rajiv.com/blog/2010/04/11/web-hosting-review/</link>
		<comments>http://www.rajiv.com/blog/2010/04/11/web-hosting-review/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 21:57:54 +0000</pubDate>
		<dc:creator>Rajiv Pant</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[checklist]]></category>
		<category><![CDATA[CIO]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[CTO]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[large-scale Web sites]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[VP Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Web hosting]]></category>
		<category><![CDATA[Web hosting infrastructure]]></category>
		<category><![CDATA[Web hosting service]]></category>

		<guid isPermaLink="false">http://www.rajiv.com/?p=670</guid>
		<description><![CDATA[If you host and operate large-scale Web sites, or negotiate contract agreements with vendors that provide such services, you need to understand what should be included in a Web hosting infrastructure. This knowledge will help you in three areas: Providing &#8230; <a href="http://www.rajiv.com/blog/2010/04/11/web-hosting-review/">Continue reading <span class="meta-nav">&#8594;</span></a>


Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/' rel='bookmark' title='Checklist for Migration of Web Application from Traditional Hosting to Cloud'>Checklist for Migration of Web Application from Traditional Hosting to Cloud</a></li>
<li><a href='http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/' rel='bookmark' title='Save Money On Hosting &amp; CDN By Optimizing Your Architecture &amp; Applications'>Save Money On Hosting &#038; CDN By Optimizing Your Architecture &#038; Applications</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
<li><a href='http://www.rajiv.com/blog/2009/07/25/browser-side-caching/' rel='bookmark' title='Save Your Company Money In Monthly Bills Using Browser Caching'>Save Your Company Money In Monthly Bills Using Browser Caching</a></li>
<li><a href='http://www.rajiv.com/blog/2008/03/16/cms/' rel='bookmark' title='Future of Content Management for News Media for Web sites'>Future of Content Management for News Media for Web sites</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>If you host and operate large-scale Web sites, or negotiate contract agreements with vendors that provide such services, you need to understand what should be included in a Web hosting infrastructure. This knowledge will help you in three areas:</p>
<ol>
<li>Providing reliability, scalability &amp; good performance</li>
<li>Minimizing risks via security, privacy, regulatory compliance and reduction of vulnerability to potential lawsuits</li>
<li>Reducing and controlling costs</li>
</ol>
<p>This guide is meant to help you review upcoming contracts as well as existing services.</p>
<p><em>Likely audience for this article:</em> Managers, directors and vice presidents of technology, operations or finance at organizations operating large-scale Web sites; Executives supervising technology: CTO, CIO, CFO, COO.</p>
<p><strong>Seven Aspects of Large-Scale Web Hosting</strong></p>
<p>Large-scale Web hosting infrastructure and services can be organized into the following seven areas:</p>
<ol>
<li>Servers &amp; Environments</li>
<li>Network &amp; Other Appliances</li>
<li>Managed Hosting Services</li>
<li>Third-party Provided Services</li>
<li>Program Management Office, PMO</li>
<li>Account Management</li>
<li>Infrastructure &amp; Facilities</li>
</ol>
<p><strong>Checklist for Review</strong></p>
<p>You can use the following checklist to review your hosting services or a vendor&#8217;s proposal.</p>
<p><strong>What to look for</strong></p>
<p>When you review each item below, consider:</p>
<ul>
<li>Is this item included in the vendor&#8217;s proposal or in the services we are currently receiving? If it is not included, what are the good reasons it isn&#8217;t included?</li>
<li>Is this needed for my organization&#8217;s current business requirements? Can we do without it? Is it a <em>must have</em> or <em>nice to have</em> for present and reasonable future needs?</li>
<li>What are the alternatives?</li>
<li>What is the unit price of this item? How does the price scale up as needs grow? How does the price scale down when need for this item decreases?</li>
<li>What level of fault-tolerance does this item need? i.e. redundancy, standby backups, time to recover</li>
</ul>
<p>Some of the above review questions may apply only to things and not apply to services and processes.</p>
<p><strong>Servers</strong></p>
<p>Servers may be physical hardware servers and/or virtual servers managed using software such as <a href="http://www.vmware.com/">VMWare</a>, <a href="http://www.parallels.com/">Parallels Virtuozzo</a> or <a href="http://www.xen.org/">Xen</a>. The services listed below can each run on separate servers or multiple services can run on a server. It is generally better to have servers running only one (or minimum number) of the major services listed below. That reduces complexity and saves expensive staff time saved maintaining, troubleshooting and recovering. Virtualization makes it economical to have multiple virtual servers on the shared physical hardware economize costs.</p>
<p>The following is a list of commonly found services at large-scale Web sites that require servers.</p>
<ul>
<li>Web
<ul>
<li>HTTP(S) Content Delivery. E.g. <a href="http://httpd.apache.org/">Apache HTTP Server</a> software</li>
<li><a href="http://en.wikipedia.org/wiki/Streaming_media">Streaming</a> Content Delivery</li>
<li>Cache. E.g. to run products like <a href="http://www.squid-cache.org/">Squid Cache</a>, <a href="http://memcached.org/">memcached</a></li>
</ul>
</li>
<li>Application
<ul>
<li><a href="http://en.wikipedia.org/wiki/List_of_content_management_systems">Content Management software</a>. This is the software that the Editorial and Production teams use to submit, edit, package and manage articles, photos and other Web site content</li>
<li>Dynamic Content Assembly. Typically done using Portal Server software, either third-party supplied or in-house developed</li>
<li>Data Processing. E.g. <a href="http://en.wikipedia.org/wiki/Workflow_engine">workflow engines</a>, jobs/tasks processing servers</li>
<li><a href="http://en.wikipedia.org/wiki/Middleware">Middleware</a></li>
<li>Other applications. These are applications that happen to be separate from the main content management system. They could be separate for any number of reasons. E.g. blogs, forums</li>
</ul>
</li>
<li>Database
<ul>
<li>Relational Databases. E.g. <a href="http://www.oracle.com/us/products/database/index.html">Oracle</a>, <a href="http://www.mysql.com/">MySQL</a>, <a href="http://www.postgresql.org/">PostgreSQL</a></li>
<li>Non-Relational Data Stores. E.g. Key-value, <a href="http://en.wikipedia.org/wiki/NoSQL">NoSQL</a> stores</li>
</ul>
</li>
</ul>
<p><strong>Server </strong><strong>Environments</strong></p>
<p>An environment is a self-sufficient set of servers assigned to serve a purpose as described below. Large-scale Web sites typically utilize multiple environments.</p>
<ul>
<li>Production
<ul>
<li>This serves the Web sites to the customers and public.</li>
<li>Typically has 99.9% or higher uptime guarantee in the <a href="http://en.wikipedia.org/wiki/Service_level_agreement">Service Level Agreement</a></li>
</ul>
</li>
<li>Staging
<ul>
<li>This is the environment where content packages are developed, integrated and previewed by Editorial, Design and Production teams before they are published to the end-users. For example, when working on a major site redesign or relaunch for several months. Since the tech teams are often making changes to the <em>Development Integration</em> and <em>QA</em> environments, they are not suitable for content integration work by the Editorial and Design teams. Staging is used in large-scale Web sites where mutiple Editors, Designers and Production staff are collaboratively creating content packages and new sections. In smaller Web sites or in cases where just one or two Editors are working on a piece of content like an individual article, <em>previewing</em> is done in the Production environment itself with access controls.</li>
</ul>
</li>
</ul>
<ul>
<li>Quality Assurance (QA)
<ul>
<li>The QA engineers perform Functional Testing and Load Testing here. Doing functional testing while a load test is running is sometimes a good idea as it simulates usage closer to live production.</li>
</ul>
</li>
<li>Development Integration
<ul>
<li>Software product code developed by different engineers is integrated here. There could be continuous integration or nightly builds.</li>
<li>This is where developers ensure that their code works with other developers&#8217; code (does not break the build, and does not conflict resulting in undesired functionality)</li>
<li>Programmers should ensure that the product works here before handing it off to the QA engineers for testing</li>
</ul>
</li>
</ul>
<p>In a virtualized system the environments may not be physically separate and may regularly grow and shrink at different times. For example when hosted at a cloud computing provider, the QA environment may scale up during load testing and shut down completely during the hours the QA team is not working.</p>
<p><strong>Network &amp; Other Appliances</strong></p>
<p>These are devices to which various servers are directly or indirectly connected.</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Router">Routers</a></li>
<li><a href="http://en.wikipedia.org/wiki/Load_balancing_(computing)">Load Balancers</a></li>
<li><a href="http://en.wikipedia.org/wiki/Firewall_(computing)">Firewalls</a></li>
<li>Shared Storage (<a href="http://en.wikipedia.org/wiki/Storage_area_network">Storage Area Network, SAN</a>; <a href="http://en.wikipedia.org/wiki/Network-attached_storage">Network Attached Storage, NAS</a>)</li>
<li>Backup &amp; Restore systems</li>
<li>Bandwidth (at <a href="http://www.pcmag.com/encyclopedia_term/0,2542,t=origin+server&amp;i=48611,00.asp">origin</a> hosting)
<ul>
<li>Bandwidth is not a physical thing, but since like electricity, fuel or cell-phone minutes, is something that is metered and paid for monthly, bandwidth usage and charges need to be carefully managed.</li>
</ul>
</li>
</ul>
<p><strong>Managed Hosting Services</strong></p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/System_administrator">Systems Administration</a>
<ul>
<li>This typically includes all the management of the physical hardware up to and including the operating system and popular applications that complement the operating system.</li>
</ul>
</li>
<li>Database Administration Services</li>
<li>Applications Management Services
<ul>
<li>This typically includes all the administration of the applications that run on top of the operating system.</li>
</ul>
</li>
<li>Systems Monitoring, Alerting &amp; Reporting</li>
<li>Web Support Help Desk, 24&#215;7</li>
</ul>
<p><strong>Third-party Services</strong></p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Content_delivery_network">Content Delivery Network, CDN</a> (e.g. <a href="http://www.akamai.com/">Akamai</a>, <a href="http://www.limelightnetworks.com/">Limelight</a>, <a href="http://www.us.cdnetworks.com/">CDNetworks</a>)
<ul>
<li>CDN Network Storage</li>
<li>CDN Bandwidth Rates for HTTP and Streaming</li>
</ul>
</li>
<li>External Monitoring, Alerting &amp; Reporting (e.g. <a href="http://www.gomez.com/">Gomez</a>, <a href="http://www.keynote.com/">Keynote</a>)</li>
</ul>
<p><strong>Program Management Office, PMO</strong></p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Project_management">Project Management</a>
<ul>
<li>PM people, organization, processes</li>
<li>Collaborative project management tools, e.g. <a href="http://www.atlassian.com/software/jira/">JIRA</a>, <a href="http://www.rallydev.com/">RallyDev</a>, <a href="http://www.thoughtworks-studios.com/mingle-agile-project-management">Mingle</a></li>
<li>Shared documentation management tools, e.g. <a href="http://en.wikipedia.org/wiki/Wiki">Wiki</a></li>
</ul>
</li>
<li>Change Management Processes &amp; Tools
<ul>
<li>Documentation system</li>
<li>Tools for source control, build &amp; deployment</li>
</ul>
</li>
<li><a href="http://en.wikipedia.org/wiki/Responsibility_assignment_matrix">RASIC</a> Matrix Describing Roles &amp; Responsibilities</li>
<li>Escalation Flowcharts</li>
<li><a href="http://en.wikipedia.org/wiki/Crisis_management">Crisis Management</a> &amp; Emergency Procedures</li>
</ul>
<p><strong>Account Management</strong></p>
<ul>
<li>Customer service</li>
<li>Relationship management</li>
<li><a href="http://en.wikipedia.org/wiki/Master_contract%23Master_Service_Agreements">Master Services Agreement, MSA</a></li>
<li><a href="http://en.wikipedia.org/wiki/Statement_of_work">Statements of Work, SOW</a></li>
<li><a href="http://en.wikipedia.org/wiki/Service_level_agreement">Service Level Agreement, SLA</a>
<ul>
<li>What to look for in the SLA is the subject of a separate article in this series.</li>
</ul>
</li>
<li>Billing
<ul>
<li>Monthly bills provided by telecommunications (telco) and hosting companies tend be extremely complex and lengthy. As a result, they are difficult and time-consuming to review.</li>
</ul>
</li>
</ul>
<p><strong>Infrastructure &amp; Facilities</strong></p>
<p>This item, infrastructure &amp; facilities, is beyond the scope of this article. It includes the buildings, electric power, generators, climate control, physical security and related staffing.</p>
<p>This article is part of a series titled &#8220;Guide for the CTO: A compilation of articles on how to lead and manage technologies, projects and people&#8221;.</p>


<p>Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/' rel='bookmark' title='Checklist for Migration of Web Application from Traditional Hosting to Cloud'>Checklist for Migration of Web Application from Traditional Hosting to Cloud</a></li>
<li><a href='http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/' rel='bookmark' title='Save Money On Hosting &amp; CDN By Optimizing Your Architecture &amp; Applications'>Save Money On Hosting &#038; CDN By Optimizing Your Architecture &#038; Applications</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
<li><a href='http://www.rajiv.com/blog/2009/07/25/browser-side-caching/' rel='bookmark' title='Save Your Company Money In Monthly Bills Using Browser Caching'>Save Your Company Money In Monthly Bills Using Browser Caching</a></li>
<li><a href='http://www.rajiv.com/blog/2008/03/16/cms/' rel='bookmark' title='Future of Content Management for News Media for Web sites'>Future of Content Management for News Media for Web sites</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.rajiv.com/blog/2010/04/11/web-hosting-review/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Checklist for Migration of Web Application from Traditional Hosting to Cloud</title>
		<link>http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/</link>
		<comments>http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 23:05:53 +0000</pubDate>
		<dc:creator>Rajiv Pant</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Amazon Elastic Compute Cloud]]></category>
		<category><![CDATA[Amazon Inc.]]></category>
		<category><![CDATA[Atul Gawande]]></category>
		<category><![CDATA[Azure Services Platform]]></category>
		<category><![CDATA[checklist]]></category>
		<category><![CDATA[CIO]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[Cloud infrastructure]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[CTO]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Rackspace]]></category>
		<category><![CDATA[Rackspace Hosting Inc.]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[VP Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.rajiv.com/?p=586</guid>
		<description><![CDATA[In 2010, Cloud Computing is likely to see increasing adoption. Migrating Web applications from one data center to another is a complex project. To assist you in migrating Web applications from your hosting facilities to cloud hosting solutions like Amazon &#8230; <a href="http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/">Continue reading <span class="meta-nav">&#8594;</span></a>


Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2010/04/11/web-hosting-review/' rel='bookmark' title='Hosting Large-Scale Web Sites: Contract Review Guide for the CTO'>Hosting Large-Scale Web Sites: Contract Review Guide for the CTO</a></li>
<li><a href='http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/' rel='bookmark' title='Save Money On Hosting &amp; CDN By Optimizing Your Architecture &amp; Applications'>Save Money On Hosting &#038; CDN By Optimizing Your Architecture &#038; Applications</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/16/s3-outage/' rel='bookmark' title='Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages'>Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages</a></li>
<li><a href='http://www.rajiv.com/blog/2009/03/18/ebs-ec2/' rel='bookmark' title='Using Amazon Elastic Block Store (EBS) with an EC2 Instance'>Using Amazon Elastic Block Store (EBS) with an EC2 Instance</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.revolutioncloud.com/2010/01/checklists-migration/"><img class="alignright size-full wp-image-595" style="border: 0pt none; margin: 0px;" title="checklist" src="http://www.rajiv.com/wordpress/wp-content/uploads/2010/01/checklist.png" alt="" width="301" height="301" /></a>In 2010, Cloud Computing is likely to see increasing adoption. Migrating Web applications from one data center to another is a complex project. To assist you in migrating Web applications from your hosting facilities to cloud hosting solutions like Amazon EC2, Microsoft Azure or RackSpace&#8217;s Cloud offerings, I&#8217;ve published a set of checklists for migrating Web applications to the Cloud.</p>
<p>These are not meant to be comprehensive step-by-step, ordered project plans with task dependencies. These are checklists in the style of those used in other industries like Aviation and Surgery where complex projects need to be performed. Their goal is get the known tasks covered so that you can spend your energies on any unexpected ones. To learn more about the practice of using checklists in complex projects, I recommend the book <a href="http://www.amazon.com/Checklist-Manifesto-How-Things-Right/dp/0805091742?tag=rajivpant-20">Checklist Manifesto</a> by Atul Gawande.</p>
<p>Your project manager should adapt them for your project. If you are not familiar with some of the technical terms below, don&#8217;t worry: Your engineers will understand them.</p>
<h2>Pre-Cutover Migration Checklist</h2>
<p>The pre-cutover checklist should not contain any tasks that &#8220;set the ship on sail&#8221;, i.e. you should be able to complete the pre-cutover tasks, pausing and adjusting where needed without worry that there is no turning back.</p>
<ul>
<li>Set up communications and collaboration
<ul>
<li>Introduce migration team members to each other by name and role</li>
<li>Set up email lists and/or blog for communications</li>
<li>Ensure that appropriate business stakeholders, customers and technical partners and vendors are in the communications. (E.g. CDN, third-party ASP)</li>
</ul>
</li>
<li>Communicate via email and/or blog
<ul>
<li>Migration plan and schedule</li>
<li>Any special instructions, FYI, especially any disruptions like publishing freezes</li>
<li>Who to contact if they find issues</li>
<li>Why this migration is being done</li>
</ul>
</li>
<li>Design maintenance message pages, if required</li>
<li>Setup transition DNS entries</li>
<li>Set up any redirects, if needed</li>
<li>Make CDN configuration changes, if needed</li>
<li>Check that monitoring is in place and update if needed
<ul>
<li>Internal systems monitoring</li>
<li>External (e.g. Keynote, Gomez)</li>
</ul>
</li>
<li>Create data/content migration plan/checklist
<ul>
<li>Databases</li>
<li>Content in file systems</li>
<li>Multimedia (photos, videos)</li>
<li>Data that may not transfer over and needs to be rebuilt at new environment (e.g. Search-engine indexes, database indexes, database statistics)</li>
</ul>
</li>
<li>Export and import initial content into new environment</li>
<li>Install base software and platforms at new environment</li>
<li>Install your Web applications at new environment</li>
<li>Compare configurations at old environments with configurations at new environments</li>
<li>Do QA testing of Web applications at new environment using transition DNS names</li>
<li>Review rollback plan to check that it will actually work if needed.
<ul>
<li>Test parts of it, where practical</li>
</ul>
</li>
<li>Lower production DNS TTL for switchover</li>
</ul>
<h2>During-Cutover Migration Checklist</h2>
<ul>
<li>Communicate that migration cutover is starting</li>
<li>Data/content migration
<ul>
<li>Import/refresh delta content</li>
<li>Rebuild any data required at new environment (e.g. Search-engine indexes, database indexes, database statistics)</li>
</ul>
</li>
<li>Activate Web applications at new environment</li>
<li>Do QA testing of Web applications at new environment</li>
<li>Communicate
<ul>
<li>Communicate any publishing freezes and other disruptions</li>
<li>Activate maintenance message pages if applicable</li>
</ul>
</li>
<li>Switch DNS to point Web application to new hosting environment</li>
<li>Communicate
<ul>
<li>Disable maintenance message pages if applicable</li>
<li>When publishing freezes and any disruptions are over</li>
<li>Communicate that the Web application is ready for QA testing in production.</li>
</ul>
</li>
<li>Flush CDN content cache, if needed</li>
<li>Do QA testing of the Web application in production
<ul>
<li>From the private network</li>
<li>From the public Internet</li>
</ul>
</li>
<li>Communicate
<ul>
<li>The QA testing at the new hosting location&#8217;s production environment has passed</li>
<li>Any changes for accessing tools at the new hosting location</li>
</ul>
</li>
<li>Confirm that DNS changes have propagated to the Internet</li>
</ul>
<h2>Post-Cutover Migration Checklist</h2>
<ul>
<li>Cleanup
<ul>
<li>Remove any temporary redirects that are no longer needed</li>
<li>Remove temporary DNS entries that are no longer needed</li>
<li>Revert any CDN configuration changes that are no longer needed</li>
<li>Flush CDN content cache, if needed</li>
</ul>
</li>
<li>Check that incoming traffic to old hosting environment has faded away down to zero</li>
<li>Check that traffic numbers at new hosting location don&#8217;t show any significant change from old hosting location
<ul>
<li>Soon after launch</li>
<li>A few days after launch</li>
</ul>
</li>
<li>Check monitoring
<ul>
<li>Internal systems monitoring</li>
<li>External (e.g. Keynote, Gomez)</li>
</ul>
</li>
<li>Increase DNS TTL settings back to normal</li>
<li>Archive all required data from old environment into economical long-term storage (e.g. tape)</li>
<li>Decommission old hosting environment</li>
<li>Communicate
<ul>
<li>Project completion status</li>
<li>Any remaining items and next steps</li>
<li>Any changes to support at new hosting environment</li>
</ul>
</li>
</ul>
<p>The checklists are also published on the <a href="http://www.revolutioncloud.com/">RevolutionCloud book</a> Web site at <a href="http://www.revolutioncloud.com/2010/01/checklists-migration/">www.revolutioncloud.com/2010/01/checklists-migration/</a> and on the <a href="http://www.checklistnow.org/">Checklists Wiki</a> Web site at <a href="http://www.checklistnow.org/wiki/IT_Web_Application_Migration">www.checklistnow.org/wiki/IT_Web_Application_Migration</a></p>


<p>Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2010/04/11/web-hosting-review/' rel='bookmark' title='Hosting Large-Scale Web Sites: Contract Review Guide for the CTO'>Hosting Large-Scale Web Sites: Contract Review Guide for the CTO</a></li>
<li><a href='http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/' rel='bookmark' title='Save Money On Hosting &amp; CDN By Optimizing Your Architecture &amp; Applications'>Save Money On Hosting &#038; CDN By Optimizing Your Architecture &#038; Applications</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/16/s3-outage/' rel='bookmark' title='Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages'>Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages</a></li>
<li><a href='http://www.rajiv.com/blog/2009/03/18/ebs-ec2/' rel='bookmark' title='Using Amazon Elastic Block Store (EBS) with an EC2 Instance'>Using Amazon Elastic Block Store (EBS) with an EC2 Instance</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Benefits of Using Real-Time Group Chat (IRC) in Technology Operations Management</title>
		<link>http://www.rajiv.com/blog/2009/12/10/tech-ops-irc/</link>
		<comments>http://www.rajiv.com/blog/2009/12/10/tech-ops-irc/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 23:30:40 +0000</pubDate>
		<dc:creator>Rajiv Pant</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Chat room]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[Groupware]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[Internet Relay Chat]]></category>
		<category><![CDATA[IRC]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[technology operations]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://www.rajiv.com/?p=699</guid>
		<description><![CDATA[When a team of engineers is dealing with a real time incident, such as a system outage or troubleshooting a problem, having good communications is critically important. The appropriate communications tool can make a world of difference in dealing with &#8230; <a href="http://www.rajiv.com/blog/2009/12/10/tech-ops-irc/">Continue reading <span class="meta-nav">&#8594;</span></a>


Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2008/02/16/s3-outage/' rel='bookmark' title='Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages'>Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages</a></li>
<li><a href='http://www.rajiv.com/blog/2010/10/05/trinity-method/' rel='bookmark' title='Trinity Method of Technology Management'>Trinity Method of Technology Management</a></li>
<li><a href='http://www.rajiv.com/blog/2009/02/27/thank-employees/' rel='bookmark' title='Management Tip: Thank Your Employees For Jobs Well Done'>Management Tip: Thank Your Employees For Jobs Well Done</a></li>
<li><a href='http://www.rajiv.com/blog/2009/03/17/technology-department/' rel='bookmark' title='Organizing a Digital Technology Department of Medium Size in a Media Company'>Organizing a Digital Technology Department of Medium Size in a Media Company</a></li>
<li><a href='http://www.rajiv.com/blog/2008/01/31/tech-career-track/' rel='bookmark' title='Management &amp; Technical Career Growth Tracks'>Management &#038; Technical Career Growth Tracks</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p><em><img class="alignright" src="http://photos.rajiv.com/2003/At-Work-Web-Host-Migration/IMG0028/551405_4yu9E-S-1.jpg" alt="" width="400" height="300" /></em></p>
<p>When a team of engineers is dealing with a real time incident, such as a system outage or troubleshooting a problem, having good communications is critically important. The appropriate communications tool can make a world of difference in dealing with the issue and learning from it afterwards. As important as engineering is, lack of good communications is what often gets tech teams in trouble.</p>
<p>You should enable real-time communication in certain <em>collaborative tasks</em>. This will reduce unnecessary email traffic and clutter, enable people to to focus better on their tasks,and minimize time wasted in bringing each other up to speed</p>
<p>When multiple people are working together in real-time on a near term <em>collaborative task</em>, such as:</p>
<ul>
<li>Troubleshooting</li>
<li>Build and deployment</li>
<li>Web application migration</li>
<li>Upgrade or maintenance</li>
<li>QA testing</li>
</ul>
<p>Many companies use a phone conference and/or email to assist in real-time while the collaborative activity above is ongoing.</p>
<p>Since Email is not instantaneous and real-time the way a group chat application is, and since email is not a suitable medium for quick questions, and quick one-line responses, some companies also use <strong>a real-time group chat tool like IRC</strong> to enable and facilitate real-time conversation.</p>
<p>Benefits of using IRC or a real-time group chat tool are:</p>
<ul>
<li>Tech managers, project managers, crisis managers and new tech people joining the effort can quickly catch up with what has been going on (in any level of detail they want) by reading the IRC history transcript so far. This is a much faster and efficient way than using email or pulling someone away to talk in person asking what has been going on. (If email were to be used instead of IRC, a new person joining in would have missed the previous emails on the topic.)</li>
<li>When an engineer working on such a collaborative task steps away for a while and comes back, they can quickly catch up on what transpired while they were away by reading the IRC history transcript.</li>
<li>Email is not cluttered by short back and forth messages with lots of text to read and filter</li>
<li>The IRC transcript can be used for the incident retrospective (&#8220;post-mortem&#8221;).</li>
<li>Unlike a phone-only conference, the IRC transcript can be read and analyzed to learn lessons from this incident. For example:
<ul>
<li>Analyze what problems the team ran into</li>
<li>Analyze what worked and what didn&#8217;t</li>
<li>Analyze how well people collaborated and communicated</li>
<li>Timelines of events</li>
</ul>
</li>
</ul>
<p>I can personally attest to the above benefits. Over the past 15+ years, my development and operations teams in different companies have regularly used IRC to great advantage.</p>
<p>Tools like Wikis and blogs are great for collaboration, documentation and sharing information on projects. An group chat like IRC is an indispensable tool for real-time collaboration.</p>


<p>Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2008/02/16/s3-outage/' rel='bookmark' title='Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages'>Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages</a></li>
<li><a href='http://www.rajiv.com/blog/2010/10/05/trinity-method/' rel='bookmark' title='Trinity Method of Technology Management'>Trinity Method of Technology Management</a></li>
<li><a href='http://www.rajiv.com/blog/2009/02/27/thank-employees/' rel='bookmark' title='Management Tip: Thank Your Employees For Jobs Well Done'>Management Tip: Thank Your Employees For Jobs Well Done</a></li>
<li><a href='http://www.rajiv.com/blog/2009/03/17/technology-department/' rel='bookmark' title='Organizing a Digital Technology Department of Medium Size in a Media Company'>Organizing a Digital Technology Department of Medium Size in a Media Company</a></li>
<li><a href='http://www.rajiv.com/blog/2008/01/31/tech-career-track/' rel='bookmark' title='Management &amp; Technical Career Growth Tracks'>Management &#038; Technical Career Growth Tracks</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.rajiv.com/blog/2009/12/10/tech-ops-irc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Save Money On Hosting &amp; CDN By Optimizing Your Architecture &amp; Applications</title>
		<link>http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/</link>
		<comments>http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 00:46:32 +0000</pubDate>
		<dc:creator>Rajiv Pant</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Akamai]]></category>
		<category><![CDATA[Bandwidth]]></category>
		<category><![CDATA[budget]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[CDNetworks]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[Content delivery network]]></category>
		<category><![CDATA[cost saving]]></category>
		<category><![CDATA[Cotendo]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[large Web sites]]></category>
		<category><![CDATA[Limelight]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[server infrastructure]]></category>
		<category><![CDATA[technology costs]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Web hosting]]></category>
		<category><![CDATA[Web hosting bill]]></category>
		<category><![CDATA[Web hosting costs]]></category>
		<category><![CDATA[Web hosting environments]]></category>

		<guid isPermaLink="false">http://www.rajiv.com/?p=452</guid>
		<description><![CDATA[If you manage technology for a company that has a large Web presence, it is likely that a large percentage of your total technology costs is spent on the Web hosting environment, including the Content Delivery Network (CDN, e.g. Akamai, &#8230; <a href="http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/">Continue reading <span class="meta-nav">&#8594;</span></a>


Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2009/07/25/browser-side-caching/' rel='bookmark' title='Save Your Company Money In Monthly Bills Using Browser Caching'>Save Your Company Money In Monthly Bills Using Browser Caching</a></li>
<li><a href='http://www.rajiv.com/blog/2010/04/11/web-hosting-review/' rel='bookmark' title='Hosting Large-Scale Web Sites: Contract Review Guide for the CTO'>Hosting Large-Scale Web Sites: Contract Review Guide for the CTO</a></li>
<li><a href='http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/' rel='bookmark' title='Checklist for Migration of Web Application from Traditional Hosting to Cloud'>Checklist for Migration of Web Application from Traditional Hosting to Cloud</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/16/s3-outage/' rel='bookmark' title='Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages'>Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>If you manage technology for a company that has a large Web presence, it is likely that a large percentage of your total technology costs is spent on the Web hosting environment, including the Content Delivery Network (CDN, e.g. <a href="http://www.akamai.com/">Akamai</a>, <a href="http://www.limelightnetworks.com/">LimeLight</a>, <a href="http://www.us.cdnetworks.com/">CDNetworks</a>, <a href="http://www.cotendo.com/">Cotendo</a>). In this article, we discuss some ways to manage these costs.</p>
<p>Before we discuss how to optimize your architecture and applications to have economical and the optimally low hosting expenses, let us develop a model for comprehensively understanding a site&#8217;s Web hosting costs.</p>
<h3>Step 1. Develop a model for allocating technology operations &amp; infrastructure costs to each Web site/brand</h3>
<p>Let us assume for this example that your company operates some medium to large Web sites and spends $100K/month on fully managed<sup><a href="http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/#footnote_0_452" id="identifier_0_452" class="footnote-link footnote-identifier-link" title="Fully managed Web hosting includes network &amp;amp; hardware infrastructure, 24&amp;#215;7 staff and real estate">1</a></sup> origin<sup><a href="http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/#footnote_1_452" id="identifier_1_452" class="footnote-link footnote-identifier-link" title="The origin part of your Web hosting environments includes the network and server infrastructure at your hosting facility location(s) where your Web applications and installed and running. It could be in-house data centers or at providers such as RackSpace, IPSoft or Savvis">2</a></sup> Web hosting and another $50K/month on CDN. That means your company spends $1.8MM/year on Web sites hosting.</p>
<p>It is important to add origin Web hosting and CDN costs to know your true Web hosting costs, especially if you operate multiple Web brands and need to allocate Web hosting costs back to each. For example, let us assume you have two Web sites: brandA.com, a dynamic ecommerce site costing $10K/month on origin hosting plus $2K/month on CDN; and brandB.com, serving a lot of videos and photos costing $5K/month on origin hosting plus $19K/month on CDN. In this example, brandA.com actually costs $12K/month, which is half the hosting cost of brandB.com, $24K/month. Without adding the CDN costs, you may mistakenly assume the opposite that brandA.com costs twice as much to host as brandB.com. Origin hosting and CDN are two sides of the same coin. We recommend that you manage them both together from both technology/architecture and budget perspectives.</p>
<p>Then you add the costs of third-party vendor provided parts of the site rented in the software-as-service model. Next, add licensed software costs used at your hosting location. Let us assume that brandA.com also has:</p>
<ul>
<li>some blogs hosted at wordpress.com for $400/month</li>
<li>Google Analytics for $0/month</li>
<li>Other licensed platform/application software running on your servers billed separately from the managed hosting. Let us assume brandA.com&#8217;s share of that is $1,000/month.</li>
</ul>
<p>So your Web hosting and infrastructure costs for brandA.com would be $13,400/month. That&#8217;s $160,800/year.</p>
<p>Assuming that many of your Web sites share infrastructure and systems management &amp; support staff at your Web hosting provider, you may not have a precise allocation of costs to each brand. That&#8217;s ok: It doesn&#8217;t need to be perfect nor a staff-time consuming calculation every month. Work with your hosting provider and implement a formula/algorithm that provides a reasonably good breakup and needs to be changed only when there is a major infrastructure change.</p>
<p><em>Side Note:</em> In order to stay competitive, adapt to changes in the market and meet changing customer sites, brandA.com also needs to do product and software development on a regular basis. However, that&#8217;s beyond the scope of this discussion. Managing ongoing product and software development costs for brandA.com could be the subject of another article.</p>
<h3>Step 2. Regularly review the tech operations costs for each brand and make changes to control costs</h3>
<p>Every month, review your tech operations costs for your business as a whole and for each brand. Make changes in technology and process as needed to manage your expenses. If you don&#8217;t review the expenses on a monthly basis, you run the risk of small increases happening in various places every month that add up to a lot.</p>
<p>Without active management done on a monthly basis, brandA.com could creep up from $13,400 to $16,000 the next month and $20,000 the month after. That $1.8MM you were expecting to spend on hosting for the year could turn out to be $2.4MM.</p>
<p><em>So what does such active management include?<br />
</em></p>
<p>Monitor and manage your bandwidth charges. This is one to keen an eye on. If you bandwidth charges go over your fixed commit, your expenses can quickly blow over budget. If you find bandwidth use increasing, investigate the cause and make course corrections. In some cases, this may simply be due to expected increase in traffic, but in other cases it could be avoided. A <a href="http://www.rajiv.com/blog/2009/07/25/browser-side-caching/">related article about taking advantage of browser caching to lower costs</a> provides some tips.</p>
<p>Request your engineers to monitor and manage your servers resource usage (CPU, memory) so that the need for adding hardware can be avoided as much as possible. Enable and ensure regular communications between your technology operations team and your software development team so that software developers are alerted of any application behavior that is consuming more than expected server resources. Give the software developers time to resolve such issues when found.</p>
<p>Review the invoice details to make sure you understand and are in agreement with the invoice. A Web hosting bill can be very detailed and complex to understand. Do not hesitate to ask the hosting provider to explain and justify anything that you don&#8217;t understand. Don&#8217;t just assume the bills are always correct. They could (and occasionally will) be mistakes in the bills. Be sure to dispute these with the vendor in a respectful and friendly way.</p>
<p>These are just some examples. Please feel welcome to make more suggestions via comments on this post.</p>
<p>The time (and thus money invested) in controlling tech operations cost will be well worth the savings / avoidance of huge cost increases.</p>
<h3>Keep abreast of evolving technologies and cost saving methods. Periodically review these with your vendor(s).</h3>
<p>Cloud computing is exciting as a technology, and it is equally exciting as a pricing model.</p>
<p>If you find market conditions have changed drastically, request your vendor to consider lowering rates/prices even if you are locked into a contract. You don&#8217;t lose anything by asking and the vendor&#8217;s response will be an indicator of their customer service and long term business interest with you.</p>
<ol class="footnotes"><li id="footnote_0_452" class="footnote">Fully managed Web hosting includes network &amp; hardware infrastructure, 24&#215;7 staff and real estate</li><li id="footnote_1_452" class="footnote">The origin part of your Web hosting environments includes the network and server infrastructure at your hosting facility location(s) where your Web applications and installed and running. It could be in-house data centers or at providers such as <a href="http://www.rackspace.com/">RackSpace</a>, <a href="p://www.ipsoft.com/">IPSoft</a> or <a href="http://www.savvis.net/">Savvis</a></li></ol>

<p>Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2009/07/25/browser-side-caching/' rel='bookmark' title='Save Your Company Money In Monthly Bills Using Browser Caching'>Save Your Company Money In Monthly Bills Using Browser Caching</a></li>
<li><a href='http://www.rajiv.com/blog/2010/04/11/web-hosting-review/' rel='bookmark' title='Hosting Large-Scale Web Sites: Contract Review Guide for the CTO'>Hosting Large-Scale Web Sites: Contract Review Guide for the CTO</a></li>
<li><a href='http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/' rel='bookmark' title='Checklist for Migration of Web Application from Traditional Hosting to Cloud'>Checklist for Migration of Web Application from Traditional Hosting to Cloud</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/16/s3-outage/' rel='bookmark' title='Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages'>Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Save Your Company Money In Monthly Bills Using Browser Caching</title>
		<link>http://www.rajiv.com/blog/2009/07/25/browser-side-caching/</link>
		<comments>http://www.rajiv.com/blog/2009/07/25/browser-side-caching/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 16:57:07 +0000</pubDate>
		<dc:creator>Rajiv Pant</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Bandwidth]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[Content delivery network]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.rajiv.com/?p=440</guid>
		<description><![CDATA[Companies that operate heavily trafficked Web sites can save thousands of dollars every month by maximizing their use of browser-side caching. Large Web sites pay for bandwidth at their Web hosting data center and also at their content delivery network &#8230; <a href="http://www.rajiv.com/blog/2009/07/25/browser-side-caching/">Continue reading <span class="meta-nav">&#8594;</span></a>


Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/' rel='bookmark' title='Save Money On Hosting &amp; CDN By Optimizing Your Architecture &amp; Applications'>Save Money On Hosting &#038; CDN By Optimizing Your Architecture &#038; Applications</a></li>
<li><a href='http://www.rajiv.com/blog/2010/04/11/web-hosting-review/' rel='bookmark' title='Hosting Large-Scale Web Sites: Contract Review Guide for the CTO'>Hosting Large-Scale Web Sites: Contract Review Guide for the CTO</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
<li><a href='http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/' rel='bookmark' title='Checklist for Migration of Web Application from Traditional Hosting to Cloud'>Checklist for Migration of Web Application from Traditional Hosting to Cloud</a></li>
<li><a href='http://www.rajiv.com/blog/2007/03/24/wordpress/' rel='bookmark' title='I now use WordPress publishing software for this site (Product Review)'>I now use WordPress publishing software for this site (Product Review)</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="Bandwidth Money" src="http://www.rajiv.com/wordpress/wp-content/uploads/2009/07/falling-money.jpg" alt="Bandwidth Money" width="285" height="227" />Companies that operate heavily trafficked Web sites can save thousands of dollars every month by maximizing their use of browser-side caching.</p>
<p>Large Web sites pay for <a href="http://en.wikipedia.org/wiki/Bandwidth_(computing)">bandwidth</a> at their Web hosting data center and also at their <a href="http://en.wikipedia.org/wiki/Content_delivery_network">content delivery network</a> (CDN, e.g. Akamai, LimeLight, CDNetworks). Bandwidth costs add up to huge monthly bills. On small-business or personal Web sites where bandwidth costs don&#8217;t go over, this is not an issue, but on large Web sites, this is important to address and monitor.</p>
<p>Companies operating large Web sites often have complex situations like the following:</p>
<ul>
<li>An comprehensive and deep understanding of all technology cost drivers and their impacts on each other. For example, a programmer may think they are saving the company money by architecting an application in a way that it requires minimal hardware servers, but not realize that the same design actually results in even higher costs elsewhere like CDN bills.</li>
<li>Busy development teams working on multiple projects on tight timelines. This results in compromises between product features/timelines and technical/architectural best practices/standards.</li>
<li>Web content management and presentation platform(s) that have evolved over the years</li>
<li>Staff churn over the years and an uneven distribution of technical knowledge and best practices about the Web site(s)</li>
<li>The continued following of some obsolete &#8220;best practices&#8221; and standards that were established long ago when they were beneficial, but are now detrimental.</li>
</ul>
<p>Tech teams at complex Web sites would likely find upon investigation that their Web sites suffer from problems that they either didn&#8217;t know about or didn&#8217;t know the extent of the damage they are causing.</p>
<p>One such problem is that certain static objects on the company&#8217;s Web pages that should be cached by the end users&#8217; Web browsers are either not cached by the browsers at all or not cached enough. Some objects are at least cached by the CDN used by the company, but some perfectly cacheable objects are served all the way back form the origin servers for every request! An unnecessarily costly situation that can be avoided.</p>
<p>In addition to wasteful bandwidth charges resulting in high monthly bills, there are also other disadvantages caused by cacheable objects being unnecessarily served from origin servers:</p>
<ul>
<li>They slow down your Web pages. Instead of the browser being able to use local copies of these objects, it has to fetch them all the way from your origin servers.</li>
<li>Unnecessary load on origin Web servers and network equipment at Web hosting facility. This can be an especially severe problem when a Web site experiences a sudden many-fold increase in traffic caused by a prominent incoming link on the home page of a high traffic like Yahoo, MSN or Google.</li>
<li>Additional storage in logs at the origin Web hosting locations&#8217; servers and other devices.</li>
<li>Unneeded processing and work the origin servers, network equipment, CDN, the Internet in the middle all the way up to the client browsers have to do to transfer these objects from origin to the end user&#8217;s browser. Be environmentally friendly and avoid all this is costly waste.</li>
</ul>
<p>The increase in bandwidth, load on servers and networking equipment and log file storage space increases caused by a few objects on Web pages being served by origin servers for every request may mistakenly seem like an insignificant problem, but little drops of water make the mighty oceans. Some calculations will show that for large Web sites, the cost of this can add up to tens of thousands of dollars a month in bandwidth costs alone.</p>
<p>How should companies operating large Web sites solve this problem?</p>
<p>For technology managers:</p>
<ul>
<li>Make it a best practice to maximize the use of browser-side caching on your Web pages. Discuss this topic with the entire Web technology team. Awareness among the information workers is important so that they can keep this in mind for future work and also address what&#8217;s already in place. Show the engineers some sample calculations to illustrate how much money is wasted in avoidable bandwidth costs: that will prove this is not an insignificant issue.</li>
<li>If this problem is widespread in your Web site(s), make the initial cleanup a formal project. Analyze how much money you&#8217;d save and other problems you&#8217;d solve by fixing this and present it to the finance and business management. Once you show the cost savings, especially in this economy, this project will not be hard to justify.</li>
</ul>
<p>For engineers:</p>
<ul>
<li>Read the <a href="http://code.google.com/speed/page-speed/docs/caching.html">article about optimizing caching at Google Code</a> for technical details on how to leverage browser and proxy caching. It explains the use of HTTP headers like Cache-Control, Expires, Last-Modified, and Etag.</li>
<li>Review any objects that are served by origin servers every time for legacy reasons that may now be obsolete.</li>
<li>Combine some JavaScript files commonly used by your Web pages so that the one unified and shared file would have higher caching probability. Do the same with external CSS style sheets.</li>
<li>Study a good book on Web site optimization like <a href="http://www.amazon.com/gp/product/0596522304?ie=UTF8&amp;tag=rajivpant-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0596522304">Even Faster Web Sites: Performance Best Practices for Web Developers</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=rajivpant-20&amp;l=as2&amp;o=1&amp;a=0596522304" alt="" width="1" height="1" border="0" />. Share these recommendations and hold a discussion with your tech and production colleagues.</li>
</ul>


<p>Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/' rel='bookmark' title='Save Money On Hosting &amp; CDN By Optimizing Your Architecture &amp; Applications'>Save Money On Hosting &#038; CDN By Optimizing Your Architecture &#038; Applications</a></li>
<li><a href='http://www.rajiv.com/blog/2010/04/11/web-hosting-review/' rel='bookmark' title='Hosting Large-Scale Web Sites: Contract Review Guide for the CTO'>Hosting Large-Scale Web Sites: Contract Review Guide for the CTO</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
<li><a href='http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/' rel='bookmark' title='Checklist for Migration of Web Application from Traditional Hosting to Cloud'>Checklist for Migration of Web Application from Traditional Hosting to Cloud</a></li>
<li><a href='http://www.rajiv.com/blog/2007/03/24/wordpress/' rel='bookmark' title='I now use WordPress publishing software for this site (Product Review)'>I now use WordPress publishing software for this site (Product Review)</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.rajiv.com/blog/2009/07/25/browser-side-caching/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Using Amazon Elastic Block Store (EBS) with an EC2 Instance</title>
		<link>http://www.rajiv.com/blog/2009/03/18/ebs-ec2/</link>
		<comments>http://www.rajiv.com/blog/2009/03/18/ebs-ec2/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 03:00:17 +0000</pubDate>
		<dc:creator>Rajiv Pant</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Amazon Elastic Compute Cloud]]></category>
		<category><![CDATA[Amazon Machine Image]]></category>
		<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[Cloud infrastructure]]></category>
		<category><![CDATA[Cloud storage]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[SAN]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://www.rajiv.com/?p=385</guid>
		<description><![CDATA[One of the differences between Amazon EC2 server instances and normal servers is that the server&#8217;s local disk storage state (i.e. changes to data) on EC2 instances does not persist over instance shutdowns and powering on. This was mentioned in &#8230; <a href="http://www.rajiv.com/blog/2009/03/18/ebs-ec2/">Continue reading <span class="meta-nav">&#8594;</span></a>


Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
<li><a href='http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/' rel='bookmark' title='Checklist for Migration of Web Application from Traditional Hosting to Cloud'>Checklist for Migration of Web Application from Traditional Hosting to Cloud</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/16/s3-outage/' rel='bookmark' title='Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages'>Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages</a></li>
<li><a href='http://www.rajiv.com/blog/2009/02/08/drobo/' rel='bookmark' title='I now use a device called Drobo for storing data at my home network (Product Review)'>I now use a device called Drobo for storing data at my home network (Product Review)</a></li>
<li><a href='http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/' rel='bookmark' title='Save Money On Hosting &amp; CDN By Optimizing Your Architecture &amp; Applications'>Save Money On Hosting &#038; CDN By Optimizing Your Architecture &#038; Applications</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="Amazon AWS Logo" src="http://media.amazonwebservices.com/logo_aws.gif" alt="Amazon AWS Logo" width="164" height="60" /></p>
<p>One of the differences between Amazon EC2 server instances and normal servers is that the server&#8217;s local disk storage state (i.e. changes to data) on EC2 instances does not persist over instance shutdowns and powering on. This was mentioned in my earlier post about <a href="http://www.rajiv.com/blog/2008/02/04/amazon-ec2/">hosting my Web site on Amazon EC2 and S3</a>,</p>
<p>Therefore, it is a good idea to store your home directory, Web document root and databases on an <a href="http://aws.amazon.com/ebs/">Amazon EBS</a> volume, where the data does persist like in a normal networked hard drive. Another benefit of using an Amazon EBS volume as a data disk is that it separates your operating system image from your data. This way, when you upgrade from a server instance with less computing power to one with more computing power, you can reattach your data drive to it for use there.</p>
<p>You can create an EBS volume and attach it to your EC2 server instance using a procedure similar to the following.</p>
<p>First, create an EBS volume.</p>
<p>You can use <a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=609">Elasticfox Firefox Extension for Amazon EC2</a> to:</p>
<ul>
<li> create a EBS volume</li>
<li> attach it to your EC2 instance</li>
<li> alias it to a device, In this example, we use /dev/sdh</li>
</ul>
<p>Then attach the &#8220;disk&#8221; to your EC2 instance and move your folders to it using a procedure similar to the following commands issued from a bash shell.</p>
<p><code> # Initialize (format) the EBS drive to prepare it for use<br />
# Note: replace /dev/sdh below with the device you used for this EBS drive<br />
mkfs.ext3 /dev/sdh<br />
#<br />
# Create the mount point where the EBS drive will be mounted<br />
sudo mkdir /mnt/rj-09031301<br />
</code><code># Side note: I use a naming convention of rj-YYMMDDNN to assign unique names<br />
# to my disk drives, where YYMMDD is the date the drive was put into service<br />
# and NN is the serial number of the disk created that day.<br />
</code><code>#<br />
# Mount the EBS drive<br />
sudo mount -t ext3 /dev/sdh /mnt/rj-09031301<br />
#<br />
# Temporarily stop the Apache Web server<br />
sudo /etc/init.d/apache2 stop</code><code><br />
#<br />
# Move the current /home folder to a temporary backup<br />
# This temporary backup folder can be deleted later<br />
sudo mv /home /home.backup</code><code><br />
#<br />
# Symbolic link the home folder on the EBS disk as the /home folder<br />
sudo ln -s /mnt/rj-09031301/home /home<br />
#<br />
# Start the Apache Web server<br />
sudo /etc/init.d/apache2 start<br />
</code></p>
<p>Limitations:</p>
<p>One current limitation of EBS volumes is that a particular EBS disk can only be attached to one server instance at a given time. Hopefully, in a near future version upgrade of EC2 and EBS, Amazon will enable an EBS volume to be attached to multiple concurrent server instances. That will enable EBS to be used similar to how SAN or NAS storage is used in a traditional (pre cloud computing era) server environment. That will enable scaling Web (and other) applications without having to copy and synchronize data across multiple EBS instances. Until Amazon adds that feature, you will need to maintain one EBS disk per server and keep their data in sync. One method of making the initial clones is to use the feature that creates a snapshot of an EBS volume onto S3.</p>
<p>Related article on Amazon&#8217;s site:</p>
<ul>
<li> Running MySQL on Amazon EC2 with Elastic Block Store<a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1663">
<p>http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1663</a></li>
</ul>


<p>Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
<li><a href='http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/' rel='bookmark' title='Checklist for Migration of Web Application from Traditional Hosting to Cloud'>Checklist for Migration of Web Application from Traditional Hosting to Cloud</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/16/s3-outage/' rel='bookmark' title='Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages'>Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages</a></li>
<li><a href='http://www.rajiv.com/blog/2009/02/08/drobo/' rel='bookmark' title='I now use a device called Drobo for storing data at my home network (Product Review)'>I now use a device called Drobo for storing data at my home network (Product Review)</a></li>
<li><a href='http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/' rel='bookmark' title='Save Money On Hosting &amp; CDN By Optimizing Your Architecture &amp; Applications'>Save Money On Hosting &#038; CDN By Optimizing Your Architecture &#038; Applications</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.rajiv.com/blog/2009/03/18/ebs-ec2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages</title>
		<link>http://www.rajiv.com/blog/2008/02/16/s3-outage/</link>
		<comments>http://www.rajiv.com/blog/2008/02/16/s3-outage/#comments</comments>
		<pubDate>Sat, 16 Feb 2008 23:46:50 +0000</pubDate>
		<dc:creator>Rajiv Pant</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[checklist]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[incident report]]></category>
		<category><![CDATA[outage]]></category>
		<category><![CDATA[post-mortem]]></category>
		<category><![CDATA[retrospective]]></category>
		<category><![CDATA[Stakeholder]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[technology operations]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.rajiv.com/blog/2008/02/16/s3-outage/</guid>
		<description><![CDATA[My journalist colleagues at Wired.com published some of my comments related to Amazon S3.1 Wired also posted another article titled Customers Shrug Off S3 Service Failure. I agree with the views of many of the customers expressed in the article. &#8230; <a href="http://www.rajiv.com/blog/2008/02/16/s3-outage/">Continue reading <span class="meta-nav">&#8594;</span></a>


Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/' rel='bookmark' title='Checklist for Migration of Web Application from Traditional Hosting to Cloud'>Checklist for Migration of Web Application from Traditional Hosting to Cloud</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
<li><a href='http://www.rajiv.com/blog/2009/12/10/tech-ops-irc/' rel='bookmark' title='Benefits of Using Real-Time Group Chat (IRC) in Technology Operations Management'>Benefits of Using Real-Time Group Chat (IRC) in Technology Operations Management</a></li>
<li><a href='http://www.rajiv.com/blog/2009/03/18/ebs-ec2/' rel='bookmark' title='Using Amazon Elastic Block Store (EBS) with an EC2 Instance'>Using Amazon Elastic Block Store (EBS) with an EC2 Instance</a></li>
<li><a href='http://www.rajiv.com/blog/2010/04/11/web-hosting-review/' rel='bookmark' title='Hosting Large-Scale Web Sites: Contract Review Guide for the CTO'>Hosting Large-Scale Web Sites: Contract Review Guide for the CTO</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>My journalist colleagues at <a href="http://www.wired.com">Wired.com</a> published some of <a href="http://blog.wired.com/business/2008/02/wiredcom-cto-st.html">my comments related to Amazon S3</a>.<sup><a href="http://www.rajiv.com/blog/2008/02/16/s3-outage/#footnote_0_108" id="identifier_0_108" class="footnote-link footnote-identifier-link" title="Silicon Alley Insider and ValleyWag have amusing spins on it. :-) ">1</a></sup> Wired also posted another article titled <a href="http://blog.wired.com/business/2008/02/customers-shrug.html">Customers Shrug Off S3 Service Failure</a>. I agree with the views of many of the customers expressed in the article. Don MacAskill, CEO of the popular photo hosting site Smugmug, wrote an <a href="http://blogs.smugmug.com/don/2008/02/15/s3-outage-we-werent-affected/">understanding post about it</a>.</p>
<p>My entire career working for media companies, I&#8217;ve held firm the belief that the uptime, reliability, performance, scalability, performance and security of commercial Web sites is of paramount importance. When sites that I&#8217;ve been responsible for have had issues, my colleagues and I have given our personal time and energy to resolution. With my teams, I spend considerable time on proactive measures. I&#8217;ve had the honor of working closely with and learning from some who do an excellent job running technology operations.</p>
<p>Experience has taught that things can and sometimes do go wrong. Sometimes calculated risks don&#8217;t pan out. Sometimes mistakes cause problems. We are human. We should strive for perfection; we can get close to it, but not fully attain it. We should be prepared for such scenarios. When they happen, we should work diligently and expeditiously on resolution and have frequent and honest communications with stakeholders and customers. Such communications during the incident should include:</p>
<p><em>Update 2010-Jan-24:</em> This checklist is now maintained on the <a href="http://www.checklistnow.org/">Checklists  Wiki</a> Web site at:</p>
<p><a href="http://www.checklistnow.org/wiki/IT_Incident_Reporting">www.checklistnow.org/wiki/IT_Incident_Reporting</a></p>
<h2><img class="alignright size-full wp-image-599" style="border: 0pt none;" title="checklist2" src="http://www.rajiv.com/wordpress/wp-content/uploads/2008/02/checklist2.png" alt="" width="151" height="151" />During-Incident Communication Checklist</h2>
<ul>
<li>Current status</li>
<li>What is the full impact?</li>
<li>Estimated time to resolution</li>
<li>Any recommended workarounds  until resolution, if practical</li>
<li>Assurance that it is being worked on
<ul>
<li>It often helps to mention who all are working on it and what they are doing</li>
</ul>
</li>
</ul>
<p>The post-incident communications to stakeholders and customers should include:</p>
<h2><img class="alignright size-full wp-image-599" style="border: 0pt none;" title="checklist2" src="http://www.rajiv.com/wordpress/wp-content/uploads/2008/02/checklist2.png" alt="" width="151" height="151" />Post-Incident Communication Checklist</h2>
<ul>
<li>Summary</li>
<li>What happened, how and why it happened?
<ul>
<li>Including full description of all impact</li>
<li>Do not blame<sup><a href="http://www.rajiv.com/blog/2008/02/16/s3-outage/#footnote_1_108" id="identifier_1_108" class="footnote-link footnote-identifier-link" title="There may be extreme instances, especially when criminal activity or malicious wrongdoing was the cause where it would be appropriate to blame someone.">2</a></sup> third-parties or say things like &#8220;beyond our control&#8221;. A technology leader takes responsibility equally for both insourced and outsourced products and services.<sup><a href="http://www.rajiv.com/blog/2008/02/16/s3-outage/#footnote_2_108" id="identifier_2_108" class="footnote-link footnote-identifier-link" title=" It is ok to mention service providers, or describing external events for explaining what happened, but don&amp;#8217;t do it in a &amp;#8220;it was their fault, not ours&amp;#8221; tone. The technology leader should factually describe what happened and take responsibility.">3</a></sup></li>
</ul>
</li>
<li>How it was resolved
<ul>
<li>If the resolution is temporary or long-term</li>
</ul>
</li>
<li>Next steps</li>
<li>Plan for eliminating or minimizing this and similar incidents from happening again</li>
<li>Thank all those who helped resolve and the customers for their understanding</li>
<li>Mention the monetary credits you plan to give as per the Service Level Agreement (SLA)
<ul>
<li>Specify any additional &#8216;make goods&#8217; or returns you plan to make to the customers above and beyond the credits as per SLA, if appropriate.</li>
</ul>
</li>
</ul>
<p>Stakeholders and customers here refer to internal customers of the technology operations team (e.g. the concerned folks in editorial, marketing, sales, finance, legal and other departments). External communications to the public Internet should be handled in consultation with legal and public relations.</p>
<p>S3&#8242;s outage (or any outage) isn&#8217;t to be taken lightly, but I have faith Amazon and their customers  will learn from it.</p>
<p><em>Disclaimers:</em></p>
<ul>
<li>As explained in the <a href="http://www.rajiv.com/readme/">terms of use</a> of this site, any opinions expressed on my personal Web site do not reflect those of any employer, past or present. My Web site and I in my personal life neither represent  nor speak for any corporation.</li>
<li>I have no affiliation, financial or otherwise with Amazon.com. I happen to be a user of their products and services, some of which I like and some that I don&#8217;t.</li>
<li>Personal Web sites like this are exempt from the performance requirements of corporate Web sites :-) My personal Web site is for expressing, learning and R&amp;D. It also happens to be <a href="http://www.rajiv.com/blog/2008/02/04/amazon-ec2/">hosted on Amazon EC2 and S3</a>.</li>
</ul>
<ol class="footnotes"><li id="footnote_0_108" class="footnote"><a href="http://www.alleyinsider.com/2008/2/wired_cto__amazon_s3_failure_no_biggie">Silicon Alley Insider</a> and <a href="http://valleywag.com/357233/amazoncom-failure-exposes-shadowy-origins-of-paul-boutin">ValleyWag</a> have amusing spins on it. :-) </li><li id="footnote_1_108" class="footnote">There may be extreme instances, especially when criminal activity or malicious wrongdoing was the cause where it would be appropriate to blame someone.</li><li id="footnote_2_108" class="footnote"> It is ok to mention service providers, or describing external events for explaining what happened, but don&#8217;t do it in a &#8220;it was their fault, not ours&#8221; tone. The technology leader should factually describe what happened and take responsibility.</li></ol>

<p>Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/' rel='bookmark' title='Checklist for Migration of Web Application from Traditional Hosting to Cloud'>Checklist for Migration of Web Application from Traditional Hosting to Cloud</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
<li><a href='http://www.rajiv.com/blog/2009/12/10/tech-ops-irc/' rel='bookmark' title='Benefits of Using Real-Time Group Chat (IRC) in Technology Operations Management'>Benefits of Using Real-Time Group Chat (IRC) in Technology Operations Management</a></li>
<li><a href='http://www.rajiv.com/blog/2009/03/18/ebs-ec2/' rel='bookmark' title='Using Amazon Elastic Block Store (EBS) with an EC2 Instance'>Using Amazon Elastic Block Store (EBS) with an EC2 Instance</a></li>
<li><a href='http://www.rajiv.com/blog/2010/04/11/web-hosting-review/' rel='bookmark' title='Hosting Large-Scale Web Sites: Contract Review Guide for the CTO'>Hosting Large-Scale Web Sites: Contract Review Guide for the CTO</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.rajiv.com/blog/2008/02/16/s3-outage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This Web Site is Now Hosted on Amazon EC2 &amp; S3</title>
		<link>http://www.rajiv.com/blog/2008/02/04/amazon-ec2/</link>
		<comments>http://www.rajiv.com/blog/2008/02/04/amazon-ec2/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 05:39:32 +0000</pubDate>
		<dc:creator>Rajiv Pant</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[about]]></category>
		<category><![CDATA[Amazon Elastic Compute Cloud]]></category>
		<category><![CDATA[Amazon Machine Image]]></category>
		<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[Cloud infrastructure]]></category>
		<category><![CDATA[Cloud storage]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://www.rajiv.com/blog/2008/02/04/amazon-ec2/</guid>
		<description><![CDATA[This web site, www.rajiv.com is now hosted on Amazon.com&#8217;s Elastic Compute Cloud (EC2) and Simple Storage Service (S3) services. They are part of Amazon Web Services offerings. If you are a technologist, I recommend EC2 and S3. To learn more &#8230; <a href="http://www.rajiv.com/blog/2008/02/04/amazon-ec2/">Continue reading <span class="meta-nav">&#8594;</span></a>


Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2009/03/18/ebs-ec2/' rel='bookmark' title='Using Amazon Elastic Block Store (EBS) with an EC2 Instance'>Using Amazon Elastic Block Store (EBS) with an EC2 Instance</a></li>
<li><a href='http://www.rajiv.com/blog/2010/04/11/web-hosting-review/' rel='bookmark' title='Hosting Large-Scale Web Sites: Contract Review Guide for the CTO'>Hosting Large-Scale Web Sites: Contract Review Guide for the CTO</a></li>
<li><a href='http://www.rajiv.com/blog/2005/11/30/kattare/' rel='bookmark' title='Web site hosting provider and technologies change'>Web site hosting provider and technologies change</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/16/s3-outage/' rel='bookmark' title='Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages'>Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages</a></li>
<li><a href='http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/' rel='bookmark' title='Save Money On Hosting &amp; CDN By Optimizing Your Architecture &amp; Applications'>Save Money On Hosting &#038; CDN By Optimizing Your Architecture &#038; Applications</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>This web site, <a href="http://www.rajiv.com/">www.rajiv.com</a> is now hosted on Amazon.com&#8217;s <a href="http://aws.amazon.com/ec2">Elastic Compute Cloud</a> (EC2) and <a href="http://aws.amazon.com/s3">Simple Storage Service</a> (S3) services. They are part of <a href="http://aws.amazon.com/">Amazon Web Services</a> offerings. If you are a technologist, I recommend EC2 and S3. To learn more about them, you can follow the links in this article.</p>
<h3>Benefits of hosting a Web site on EC2 &amp; S3</h3>
<ul>
<li>The hosting management is self-service. Anytime you want, you can provision additional servers yourself and immediately. Unlike with most traditional hosting companies, there is not need to contact their staff and have to wait for them to set up your server. On EC2, once you have signed up for an account and set up one server, you can provision (or decommission) additional servers within minutes. Even the initial setup is self-service.</li>
<li>EC2 enables you to increase or decrease capacity within minutes. You can commission one or hundreds of server instances simultaneously. Because this is all controlled with web service APIs, your application can automatically scale itself up and down depending on its needs. Billing is metered by an hour as the unit. This flexibility of EC2 can benefits many use cases:
<ul>
<li>If your web sites get seasonal traffic (e.g. a fashion site during shows) or can temporarily get much higher traffic for a period of time (e.g. a news site),  EC2&#8242;s business model of pay for what you use by the hour, is cost-effective and convenient.</li>
<li>If yours is the R&amp;D or Skunkworks group at a large or medium size organization or a startup company with limited financial resources, renting servers from EC2 can have many benefits. You don&#8217;t have to make a capital investment to get a server farm up and running, nor make long-term financial commitments to rent infrastructure. You can even turn off servers when not in use, greatly saving costs.
<ul>
<li>You don&#8217;t pay a cent for servers not running, except for disk storage costs for your files on S3, which is so inexpensive that <a href="http://jeremy.zawodny.com/">Jeremy Zawodny</a> calculates is even<a href="http://jeremy.zawodny.com/blog/archives/007624.html"> cheaper than buying reliable storage for personal use at home</a>.</li>
<li>My favorite photo hosting web site, <a href="http://www.smugmug.com/">Smugmug</a>&#8216;s CEO <a href="http://blogs.smugmug.com/don/2006/11/10/amazon-s3-show-me-the-money/">estimates how much money Smugmug saves about by using S3</a>. The numbers are amazing.</li>
</ul>
</li>
</ul>
</li>
<li>It allows me to use the modern Ubuntu<sup><a href="http://www.rajiv.com/blog/2008/02/04/amazon-ec2/#footnote_0_105" id="identifier_0_105" class="footnote-link footnote-identifier-link" title="www.ubuntu.com">1</a></sup> GNU/Linux operating system, Server Edition. Among Ubuntu&#8217;s many benefits are its user friendliness and ease of use. Software installations and upgrades are a breeze. That means less time is required to maintain the system while retaining the flexibility and power being a systems administrator gives.</li>
<li>EC2 has lower total cost ownership for me than most hosting providers&#8217; virtual hosting or dedicated server plans. Shared (non virtual server) hosting is still cheaper, but no longer meets my sites&#8217; requirements.<sup><a href="http://www.rajiv.com/blog/2008/02/04/amazon-ec2/#footnote_1_105" id="identifier_1_105" class="footnote-link footnote-identifier-link" title="I plan to split rajiv.com into separate sites, The India Comedy site will move to comedy.rajiv.com and the SPV Alumni site will move to spv.rajiv.com. The latter two are community sites and will benefit from a community CMS like Drupal.">2</a></sup></li>
</ul>
<h3>Potential drawbacks/caution with EC2 &amp; S3</h3>
<ul>
<li>While S3 is persistent storage, EC2 virtual server instances&#8217; storage does not persist across server shutdowns. So if your web site is running a database and storing files on an EC2 instance, you should implement scheduled, automated scripts that regularly back up your database and your files to S3 or other storage.
<ul>
<li>Consistent with what I read in <a href="http://blog.spaceprogram.com/2007/06/amazon-ec2-ephemeral-storage-mnt-and.html">some comments online</a>, my EC2 virtual server instance <em><strong>did not lose</strong></em> its file-system state or settings when I rebooted it. So rebooting seems to be safe.<sup><a href="http://www.rajiv.com/blog/2008/02/04/amazon-ec2/#footnote_2_105" id="identifier_2_105" class="footnote-link footnote-identifier-link" title="However, please be aware of a known issue that on some occasions caused instance termination on reboots.">3</a></sup></li>
<li>This potential drawback is arguably a good thing in some ways. It compels you to implement a good backup and recovery system.</li>
<li>This also means that after installing all the software on your running Amazon Machine Image (AMI), you should save it by creating a new AMI image of it as explained in the <em>Creating an Image</em> section of the <a href="http://docs.amazonwebservices.com/AWSEC2/2007-08-29/GettingStartedGuide/">EC2 Getting Started Guide</a>.
<ul>
<li>This is an issue since you may want to do this every time after you update your software, especially with security patches. Until Amazon implements persistent storage for EC2 instances, you could do this monthly. You can script this to be partly or fully automated. Since  Amazon&#8217;s EC2 instances are quite reliable, this is not a major concern.</li>
</ul>
</li>
</ul>
</li>
<li>An EC2 instance&#8217;s IP address and public DNS name persists only while that instance is running. This can be worked around as described under the tech specs section below.</li>
</ul>
<p>Some articles about Amazon&#8217;s hosting infrastructure services:</p>
<ul>
<li>Forbes.com: <a href="http://www.forbes.com/markets/feeds/afx/2008/02/02/afx4606529.html?"><span class="headline">Amazon&#8217;s Hot New Item: Its Data Center</span></a></li>
<li>Wired.com: <a href="http://www.wired.com/techbiz/it/news/2007/10/amazon_startups">New From Amazon: Guaranteed Server Uptime</a></li>
</ul>
<h3>Tech specs of my site:</h3>
<ul>
<li>Hosting Environment &amp; Configuration
<ul>
<li>Amazon EC2 default &#8220;small&#8221; size instance</li>
<li>Dynamic DNS Management:<a href="http://www.zoneedit.com/">ZoneEdit.com</a>
<ul>
<li>I use a Ruby <a href="http://spattendesign.com/2007/10/10/updating-dynamic-dns-on-amazon-ec2">script to dynamically update DNS from my EC2 host</a> on ZoneEdit. My script is based on the one written by <a href="http://spattendesign.com/">Scott Patten</a>. It uses the <a href="http://ez-ipupdate.com/">ez-ipupdate</a> program in a custom way for EC2.</li>
<li><em><strong>Update </strong>(from q2 2008):</em> I now use Amazon <a href="http://aws.amazon.com/articles/1346">EC2 Elastic IP Addresses</a> instead of dynamic DNS.</li>
</ul>
</li>
</ul>
</li>
<li>LAMP Stack:
<ul>
<li>Operating System: <a href="http://www.ubuntu.com/">Ubuntu</a> 7.10 <a href="http://www.ubuntu.com/products/WhatIsUbuntu/serveredition">Server Edition</a>, GNU/Linux<sup><a href="http://www.rajiv.com/blog/2008/02/04/amazon-ec2/#footnote_3_105" id="identifier_3_105" class="footnote-link footnote-identifier-link" title="I created my AMI virtual machine by building on top of a public Ubuntu AMI by Eric Hammond.">4</a></sup></li>
</ul>
<ul>
<li>Web Server: <a href="http://httpd.apache.org/">Apache 2</a></li>
<li>Database: <a href="http://www.mysql.org/">MySQL 5</a></li>
<li>Programming Languages: <a href="http://www.php.net/">PHP</a>, <a href="http://www.java.com/">Java</a>, <a href="http://www.python.org/">Python</a>, <a href="http://www.ruby-lang.org/">Ruby</a></li>
<li>PHP Accelerator: <a href="http://www.php.net/apc">Alternative PHP Cache (APC)</a>
<ul>
<li>Instructions for <a href="http://www.devolio.com/blog/archives/228-How-to-install-APC-in-Ubuntu-7.10.html">installing APC on Ubuntu</a></li>
</ul>
</li>
<li>Content Management System: <a href="http://wordpress.org/">WordPress</a></li>
</ul>
</li>
</ul>
<ol class="footnotes"><li id="footnote_0_105" class="footnote"><a href="http://www.ubuntu.com/">www.ubuntu.com</a></li><li id="footnote_1_105" class="footnote">I plan to split rajiv.com into separate sites, The India Comedy site will move to comedy.rajiv.com and the SPV Alumni site will move to spv.rajiv.com. The latter two are community sites and will benefit from a community CMS like <a href="http://drupal.org/">Drupal</a>.</li><li id="footnote_2_105" class="footnote">However, please be aware of a known issue that on some occasions <a href="http://developer.amazonwebservices.com/connect/message.jspa?messageID=65064">caused instance termination on reboots</a>.</li><li id="footnote_3_105" class="footnote">I created my AMI virtual machine by building on top of a public <a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1065">Ubuntu AMI</a> by <a href="http://www.anvilon.com/">Eric Hammond</a>.</li></ol>

<p>Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2009/03/18/ebs-ec2/' rel='bookmark' title='Using Amazon Elastic Block Store (EBS) with an EC2 Instance'>Using Amazon Elastic Block Store (EBS) with an EC2 Instance</a></li>
<li><a href='http://www.rajiv.com/blog/2010/04/11/web-hosting-review/' rel='bookmark' title='Hosting Large-Scale Web Sites: Contract Review Guide for the CTO'>Hosting Large-Scale Web Sites: Contract Review Guide for the CTO</a></li>
<li><a href='http://www.rajiv.com/blog/2005/11/30/kattare/' rel='bookmark' title='Web site hosting provider and technologies change'>Web site hosting provider and technologies change</a></li>
<li><a href='http://www.rajiv.com/blog/2008/02/16/s3-outage/' rel='bookmark' title='Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages'>Opinion on the Amazon S3 Outage; Checklist for Dealing with Outages</a></li>
<li><a href='http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/' rel='bookmark' title='Save Money On Hosting &amp; CDN By Optimizing Your Architecture &amp; Applications'>Save Money On Hosting &#038; CDN By Optimizing Your Architecture &#038; Applications</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.rajiv.com/blog/2008/02/04/amazon-ec2/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>Web site hosting provider and technologies change</title>
		<link>http://www.rajiv.com/blog/2005/11/30/kattare/</link>
		<comments>http://www.rajiv.com/blog/2005/11/30/kattare/#comments</comments>
		<pubDate>Thu, 01 Dec 2005 01:38:00 +0000</pubDate>
		<dc:creator>Rajiv Pant</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[about]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[hosting]]></category>

		<guid isPermaLink="false">http://www.rajiv.com/wordpress/2005/12/01/web-site-hosting-provider-and-technologies-change/</guid>
		<description><![CDATA[www.rajiv.com now has a new hosting provider: Kattare Internet Services. The web site is now powered by Java and related technologies. My previous Internet hosting provider Brinkster gave me good service for many years, but when I converted my site &#8230; <a href="http://www.rajiv.com/blog/2005/11/30/kattare/">Continue reading <span class="meta-nav">&#8594;</span></a>


Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
<li><a href='http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/' rel='bookmark' title='Save Money On Hosting &amp; CDN By Optimizing Your Architecture &amp; Applications'>Save Money On Hosting &#038; CDN By Optimizing Your Architecture &#038; Applications</a></li>
<li><a href='http://www.rajiv.com/blog/2004/08/22/permalinks/' rel='bookmark' title='Preserving URLs of Evergreen Content'>Preserving URLs of Evergreen Content</a></li>
<li><a href='http://www.rajiv.com/blog/2007/03/24/wordpress/' rel='bookmark' title='I now use WordPress publishing software for this site (Product Review)'>I now use WordPress publishing software for this site (Product Review)</a></li>
<li><a href='http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/' rel='bookmark' title='Checklist for Migration of Web Application from Traditional Hosting to Cloud'>Checklist for Migration of Web Application from Traditional Hosting to Cloud</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.rajiv.com/">www.rajiv.com</a> now has a new hosting provider: <a href="http://www.kattare.com/signup.kvws?ref=rajiv">Kattare Internet Services</a>. The web site is now powered by Java and related technologies. My previous Internet hosting provider <a href="http://www.brinkster.com/">Brinkster</a> gave me good service for many years, but when I converted my site from Microsoft .NET and ASP technologies to Java, I had to move to a service provider that supports Java and related technologies. Kattare was my choice because they have already been providing great service to <a href="http://www.cofax.org/">www.cofax.org</a> for years. Kattare&#8217;s customer service is excellent and they provide a rich collection of technologies and products.</p>
<p>As amongst the earliest adopters of both ASP and ASP.NET technologies (<a href="http://www.rajiv.com/resume/108_0804.JPG">quote from Bill Gates</a>), my personal web site&#8217;s move to Java in no way reflects a preference of Java over MS .NET. I like both platforms.</p>
<p>The templates for the pages on <a href="http://www.rajiv.com/">www.rajiv.com</a> are powered by <a href="http://www.lifl.fr/%7Edumoulin/tiles/">Tiles</a>, a component of <a href="http://struts.apache.org/">Struts</a>. (Thanks to my colleague Magesh for suggesting it.) With the change from .NET and ASP to Struts and Tiles, the pages now have .htm extensions instead of .aspx and .asp. The old .aspx and .asp pages are redirected to the .htm ones using Apache&#8217;s mod_rewrite. The web pages on this site appear to be static html with the search-engine-friendly paths and page names ending in .htm, but internally they are dynamically assembled from components using Struts and Tiles.</p>
<p><a href="http://www.kattare.com/signup.kvws?ref=rajiv"><img src="https://www.kattare.com/images/text-logo.gif" border="0" alt="Kattare Internet Hosting" /></a> <a href="http://struts.apache.org/"><img src="http://www.rajiv.com/blog/images/struts-power-738199.gif" border="0" alt="Powered by Struts" /></a></p>


<p>Related Posts:<ul><li><a href='http://www.rajiv.com/blog/2008/02/04/amazon-ec2/' rel='bookmark' title='This Web Site is Now Hosted on Amazon EC2 &amp; S3'>This Web Site is Now Hosted on Amazon EC2 &#038; S3</a></li>
<li><a href='http://www.rajiv.com/blog/2009/07/31/optimize-hosting-cdn/' rel='bookmark' title='Save Money On Hosting &amp; CDN By Optimizing Your Architecture &amp; Applications'>Save Money On Hosting &#038; CDN By Optimizing Your Architecture &#038; Applications</a></li>
<li><a href='http://www.rajiv.com/blog/2004/08/22/permalinks/' rel='bookmark' title='Preserving URLs of Evergreen Content'>Preserving URLs of Evergreen Content</a></li>
<li><a href='http://www.rajiv.com/blog/2007/03/24/wordpress/' rel='bookmark' title='I now use WordPress publishing software for this site (Product Review)'>I now use WordPress publishing software for this site (Product Review)</a></li>
<li><a href='http://www.rajiv.com/blog/2010/01/18/cloud-migration-checklist/' rel='bookmark' title='Checklist for Migration of Web Application from Traditional Hosting to Cloud'>Checklist for Migration of Web Application from Traditional Hosting to Cloud</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.rajiv.com/blog/2005/11/30/kattare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using apc (Feed is rejected)
Page Caching using disk: enhanced
Object Caching 3935/4067 objects using apc

Served from: www.rajiv.com @ 2012-02-09 14:14:03 -->
