<?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>The Official Rackspace Blog &#187; Wade Minter</title>
	<atom:link href="http://www.rackspace.com/blog/author/wminter/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rackspace.com/blog</link>
	<description>The Official Rackspace Blog</description>
	<lastBuildDate>Mon, 20 May 2013 17:47:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Understanding Your Environment With System Shepherd</title>
		<link>http://www.rackspace.com/blog/understanding-your-environment-with-system-shepherd/</link>
		<comments>http://www.rackspace.com/blog/understanding-your-environment-with-system-shepherd/#comments</comments>
		<pubDate>Thu, 13 May 2010 16:40:30 +0000</pubDate>
		<dc:creator>Wade Minter</dc:creator>
				<category><![CDATA[Rackspace Partners]]></category>
		<category><![CDATA[cloud servers]]></category>
		<category><![CDATA[system shepherd]]></category>

		<guid isPermaLink="false">http://www.rackspacecloud.com/blog/?p=5312</guid>
		<description><![CDATA[System administrators, especially of larger deployments, already have a hard time dealing with the plethora of systems found in the average datacenter. Throw in Cloud Servers scattered among potentially several different providers, and the sysadmin may just turn the fabled Clue Hammer on themselves. Rackspace Cloud partner Absolute Performance brings their product System Shepherd into [...]]]></description>
				<content:encoded><![CDATA[<p>System admi<img class="alignleft" title="sys shep logo" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/system_shepherd_logo.jpg" alt="" width="106" height="106" />nistrators, especially of larger deployments, already have a hard time dealing with the plethora of systems found in the average datacenter. Throw in <a href="http://www.rackspacecloud.com/cloud_hosting_products/servers" target="_blank">Cloud Servers</a> scattered among potentially several different providers, and the sysadmin may just turn the fabled Clue Hammer on themselves.</p>
<p>Rackspace Cloud partner <a href="http://www.absolute-performance.com/" target="_blank">Absolute Performance</a> brings their product <a href="http://tools.rackspacecloud.com/applications/system-shepherd%C2%AE/" target="_blank" class="broken_link" rel="nofollow">System Shepherd</a> into the battle to provide the sysadmin a new weapon to turn the odds in their favor. System Shepherd is a hosted monitoring service targeted at today&#8217;s mixed computing environments, improved by Absolute Performance&#8217;s work in the space since the late 1990s.</p>
<p><strong>Monitoring Agent </strong></p>
<p>At the heart of System Shepherd is their monitoring agent. This small binary (only a few megabytes of resident memory) provides the hooks into the things that you need monitored on your systems and applications. Being an easily-installable agent, it&#8217;s well-suited for including in your custom cloud images. Install once, take a snapshot, and your new systems built off of that image will be set up to connect to your monitoring infrastructure.</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/shepherd_sla_screenshot_1.jpg"><img class="alignnone" title="shepherd" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/shepherd_sla_screenshot_1.jpg" alt="" width="381" height="360" /></a></p>
<p>One problem that pops up with cloud infrastructure is that servers may be provisioned and removed rapidly to deal with changing loads. As sysadmins monitoring in this space well know, that can lead to an annoying cascade of phantom alerts as monitoring software notices that deleted servers are no longer responding to pings or other monitoring checks. System Shepherd solves this problem by hooking directly into the <a href="http://www.rackspacecloud.com/cloud_hosting_products/servers/api" target="_blank">Rackspace Cloud Servers API</a> to check on the status of your environment. If a server stops responding to the monitoring tests, System Shepherd will query Cloud Servers to query that server. If the server no longer exists in your environment, System Shepherd will note that server as deprovisioned and not alert you. If the server is still provisioned, but not responding, then the alert is sent. Cell phones everywhere breathe a sigh of relief.</p>
<p><strong>Enterprise Technology Built-In</strong></p>
<p>While System Shepherd can be used by deployments large and small, it cut its teeth on larger enterprise setups. This means that it has deeper hooks into enterprise technologies built-in. There are agents for databases like MySQL, Oracle, and SQL Server, applications like Exchange or Handysoft Bizflow, core technologies like Apache, Tomcat, and Websphere. Hardware doesn&#8217;t need to feel left out, as Cisco, Nortel, F5, Juniper, and Foundry get agents that talk to their hardware. For companies running their own private clouds, VMWare ESX is currently supported, with Xen, Hyper-V, and Parallels Virtuosos coming soon. And of course, there are hooks for pulling data out of the output of shell commands and SNMP. Finally, the agents support current releases of Windows and all major Linux distributions (plus FreeBSD!)</p>
<p><strong>The Dashboard</strong></p>
<p>All of this data gets aggregated and displayed in the System Shepherd dashboard. The dashboard features drag-and-drop components (or &#8220;gadgets&#8221; in the System Shepherd nomenclature) to display the information you want to see in the way you want it organized. The dashboard is also where system-wide configuration is managed, saving the hassle of logging into machine after machine to tune settings. There is also an extensive library of metric templates to get you up and running quickly.</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/Shepherd_customer_view.jpg"><img class="alignnone" title="shepherd" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/Shepherd_customer_view.jpg" alt="" width="403" height="360" /></a></p>
<p>If you&#8217;d like herd your systems into line, contact Absolute Performance and take a look at System Shepherd! They have a number of different offerings, so find the one that works best for your setup.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/understanding-your-environment-with-system-shepherd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building Business Applications With Rollbase</title>
		<link>http://www.rackspace.com/blog/building-business-applications-with-rollbase/</link>
		<comments>http://www.rackspace.com/blog/building-business-applications-with-rollbase/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 16:30:35 +0000</pubDate>
		<dc:creator>Wade Minter</dc:creator>
				<category><![CDATA[Rackspace Partners]]></category>
		<category><![CDATA[Rollbase]]></category>

		<guid isPermaLink="false">http://www.rackspacecloud.com/blog/?p=5092</guid>
		<description><![CDATA[Sometimes it&#8217;s handy to have a developer on staff, to build web applications with a high degree of customization. However, what do you do if you have a need to access your business data through an application but can&#8217;t justify the cost of a dedicated developer or a contract? Rackspace Cloud partner Rollbase has a [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignright" title="rollbase logo" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/rollbaselogo.jpg" alt="" width="84" height="84" />Sometimes it&#8217;s handy to have a developer on staff, to build web applications with a high degree of customization. However, what do you do if you have a need to access your business data through an application but can&#8217;t justify the cost of a dedicated developer or a contract? Rackspace Cloud partner Rollbase has a solution with their service allowing even nontechnical users to define business objects, relationships, and a rich set of tools linking them together.</p>
<p><strong>Easy To Use UI</strong></p>
<p>Rollbase provides a simple web UI that allows you to model your business data and hook into it. At the core of the application are business objects. These represent things like employees, customers, inventory items, invoices, and the like. They basically map to relational database tables, so you can link objects with the standard array of relationships (one-to-one, one-to-many, etc). You define these objects, along with their attributes, within Rollbase. Here&#8217;s a quick snapshot of the UI:</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/Rollbase.png"><img class="  alignnone" title="Rollbase UI" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/Rollbase.png" alt="" width="508" height="413" /></a></p>
<p>It walks you through the steps to create an object. It allows you to set up advanced features like audit trails, versioning, and the like as well as import attributes from a standard list, such as documents, locations, and workflows, which automatically give you features useful for those types of objects.</p>
<p>The fields in the object also have properties beyond the normal database varchar/integer set. There are fields for email addresses, percentages, checkboxes, radio buttons, select lists, and more. For more complex needs, there are computable fields, which allow you to run calculations on the input value with Javascript expressions.</p>
<p>Once you have your objects and relationships defined, the next step is providing an interface into them. Using the Rollbase WYSWYG drag-and-drop view editor, you can develop the interfaces into your data. Create forms to add or edit data, then build pages to display the data. Of course, as security is important to your app, you can set different access permissions to different data on a per-user or per-group basis. And because the pages are HTML, you can embed custom HTML/Javascript widgets into them to provide more functionality.</p>
<p>Because this is an application designed for business, there are plenty of features a business will need. Rich email and document templates are one, allowing for nice-looking mail and exports into Word and Excel. There is a detailed multi-level charting and reporting engine as well. Additionally, if you want your applications to face externally, you can create a public portal into your data, with external user access available as a control.</p>
<p>For users that want to get started with even less effort, Rollbase has an application directory with more than 20 preconfigured applications, from Customer Relationship Managers to software bug trackers to employee management and recruiting.</p>
<p><strong>Available in Two Forms: for ISVs and Resellers </strong></p>
<p>A hosted white label program makes it easy to develop and deploy business applications under any brand or identity. Hosted resellers run on Rollbase&#8217;s Rackspace-powered infrastructure. Rollbase is also offered as a licensed product allowing larger organizations and systems integrators to procure a robust multitenant platform as the foundation for SaaS application development and delivery. Licensees can choose to run Rollbase on dedicated Rackspace physical or <a href="http://www.rackspacecloud.com/cloud_hosting_products/servers" target="_blank">Cloud Servers</a> or on servers of their own choosing.</p>
<p>Rollbase offers a <a href="https://www.rollbase.com/master/portal/portal.jsp?c=1&amp;p=3041515&amp;g=3041523&amp;webkey=&amp;websrc=&amp;type=" target="_blank"><strong>30 day free trial</strong></a>, so if your business or group could use fast, easy, and powerful business applications, give them a try!</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=740b4e37-c1f5-4194-be8d-70b2436a9a1b" alt="Enhanced by Zemanta" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/building-business-applications-with-rollbase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building An Autoscaling Hybrid Cloud With UniCloud</title>
		<link>http://www.rackspace.com/blog/building-an-autoscaling-hybrid-cloud-with-unicloud/</link>
		<comments>http://www.rackspace.com/blog/building-an-autoscaling-hybrid-cloud-with-unicloud/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 15:00:55 +0000</pubDate>
		<dc:creator>Wade Minter</dc:creator>
				<category><![CDATA[Rackspace Partners]]></category>
		<category><![CDATA[UniCloud]]></category>
		<category><![CDATA[Univa]]></category>

		<guid isPermaLink="false">http://www.rackspacecloud.com/blog/?p=5059</guid>
		<description><![CDATA[As your managed server environments get more complex, throwing cloud computing into the mix can cause even more stress. Fortunately, Rackspace Cloud partner Univa has designed their UniCloud product to make hybrid hosting simpler and more consistent, while still giving you the ability to tailor the configuration to your needs. UniCloud uses a VPN to [...]]]></description>
				<content:encoded><![CDATA[<p>As your managed server environments get more complex, throwing cloud computin<a href="http://tools.rackspacecloud.com/applications/unicloud-2-0/" target="_blank" class="broken_link" rel="nofollow"><img class="alignright" title="Unicloud" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/phpThumb_generated_thumbnailjpg.jpg" alt="" width="84" height="84" /></a>g into the mix can cause even more stress. Fortunately, Rackspace Cloud partner Univa has designed their <a href="http://tools.rackspacecloud.com/applications/unicloud-2-0/" target="_blank" class="broken_link" rel="nofollow">UniCloud</a> product to make hybrid hosting simpler and more consistent, while still giving you the ability to tailor the configuration to your needs.</p>
<p>UniCloud uses a VPN to create a secure, consistent network between your physical and cloud hosts. This new VPN IP space allows all servers in your environment to have a standardized network that spans multiple datacenters and hosting environments. UniCloud handles this VPN setup automatically, along with providing DNS services for it, saving you the headache of tweaking VPN configurations when you bring new nodes online. This VPN can also be used to transfer reasonably-sized data sets up to compute nodes.</p>
<p>Additionally, UniCloud abstracts representations of compute environments (local, cloud, etc) into various resource adapters. Multiple resource adapters can exist in any given compute environment, making it easy to scale workloads over different local and remote computing providers for a single job. This also means that as new compute environments come to market, Univa can add support for them as a resource adapter and easily expand your options.</p>
<p>Coupled with these resource adapters is the notion of application mobility. With different computing options available, there needs to be a way to move applications and configurations from one environment to another with a high degree of consistency and control. UniCloud&#8217;s solution to this problem comes in the form of &#8220;application kits.&#8221;. These kits provide a self-contained bundle consisting of the application binaries or source, configuration data, and install/uninstall scripts. A kit or collection of kits can be used to encapsulate one particular piece of software, or an entire application stack. Once a kit is created, it can be added to a central software repository and then managed using policy rules. These kits are what allow applications to move from system to system, without a large amount of custom configuration.</p>
<p>So you can see how UniCloud makes it easy to manage compute resources, but its rule engine is what really sets UniCloud apart. As an application that really cut its teeth on the Sun/Oracle Grid Engine, UniCloud was engineered to solve problems involving very large-scale data processing requirements. Being able to solve those types of problems means that it UniCloud also works for many common use cases.</p>
<p>The Python-based rules engine can monitor nearly any aspect of a system or the environment as a whole, and can take actions based on the results. For example, imagine that one UniCloud user has a private physical-server cluster environment where they run an image analysis program through a distributed batch system. When the computing needs exceed the capacity of their local systems, they use UniCloud to &#8220;cloud burst&#8221; into both Rackspace Cloud Servers and Amazon EC2. This allows them to get the CPU cycles that they need, while avoiding the need for a large CapEx in local servers to handle these peak loads. For this customer, UniCloud dynamically creates a single distributed batch infrastructure on Grid Engine. From their end user&#8217;s point of view, nothing changes &#8211; they submit jobs as usual and it&#8217;s UniCloud on the back-end that allocates cloud nodes and moves jobs around. The UniCloud policy engine can even take a cost metric into account (for the cost and latency differential between local and cloud nodes, or different cloud provider costs) to intelligently spin up the most cost-effective environments.</p>
<p>Such a use case is a great reason to look at <a href="http://www.rackspacecloud.com/what_is_cloud_computing" target="_blank">cloud computing</a> &#8211; being able to seamlessly spin up cloud nodes to handle unusual workloads, while paying only pennies per hour. Add to that other useful features such as synchronized user accounts, push-based file systems, and more, and it becomes clear that UniCloud is a great option for a company that does not want to buy another rack of servers to deal with spikes in computing needs.</p>
<p>Want to find out more? Contact Rackspace Cloud partner <a href="http://tools.rackspacecloud.com/applications/unicloud-2-0/" target="_blank" class="broken_link" rel="nofollow">Univa</a> about UniCloud. They&#8217;ll be glad to help you out!</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=0d436461-4f38-4e66-a2ac-c18e204c29fd" alt="Enhanced by Zemanta" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/building-an-autoscaling-hybrid-cloud-with-unicloud/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Exploring Kaavo Autoscaling With A Real-World Demo</title>
		<link>http://www.rackspace.com/blog/exploring-kaavo-autoscaling-with-a-real-world-demo/</link>
		<comments>http://www.rackspace.com/blog/exploring-kaavo-autoscaling-with-a-real-world-demo/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 19:40:16 +0000</pubDate>
		<dc:creator>Wade Minter</dc:creator>
				<category><![CDATA[Rackspace Partners]]></category>
		<category><![CDATA[Tips for Devs and Sys Admins]]></category>

		<guid isPermaLink="false">http://www.rackspacecloud.com/blog/?p=4967</guid>
		<description><![CDATA[Rackspace Cloud partner Kaavo knows that being able to autoscale your cloud applications is important. They also know that it can be a little tough to wrap your head around how to get this autoscaling working, so they&#8217;ve put together a fully-functional three-tier (load balancer, app server, database server) demo application to demonstrate it. This [...]]]></description>
				<content:encoded><![CDATA[<p>Rackspace Cloud partner <a href="http://tools.rackspacecloud.com/applications/kaavo/" class="broken_link" rel="nofollow">Kaavo</a> knows that being able to autoscale your cloud applications is important.  They also know that it can be a little tough to wrap your head around how to get this autoscaling working, so they&#8217;ve put together a fully-functional three-tier (load balancer, app server, database server) demo application to demonstrate it.  This demo application is available to any Kaavo user, so it&#8217;s easy to go in and get your hands dirty.</p>
<p>Kaavo offers free 30-day demo accounts to its IMOD system.  Just visit the Kaavo site and look for the &#8220;Sign-up for free trial&#8221; link.</p>
<p>Once you log into your IMOD account, you&#8217;ll see a list of available templates.  These are packaged definitions that will set up environments for you.  We&#8217;re going to to look at the &#8220;Linux php-colab 3tier-For-Rackspace&#8221; template.  That will set up our three-tier architecture, and will install and run the phpCollab project collaboration application as well, so we&#8217;ll have a real-world product in place by the end.</p>
<p>Click on that option in the templates list, and you&#8217;ll see an XML file appear on the right.  Kaavo uses XML to define these environments and control what they can do.  A more user-friendly interface to handle common cases is in the works, but you can control nearly any aspect of the deployment from this XML file.</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_1_template_selected.png"><img class="alignnone size-medium wp-image-4235" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_1_template_selected-tn.png" alt="Template Selected" width="300" /></a></p>
<p>Each of the tiers is defined in a tier section in the XML.   You can specify the order in which the tiers are displayed and the order in which they are started.  Handy, of course, if your application needs its database online before the web servers attempt to talk to it.  You can also specify command actions that will run as each server in that tier comes online.  For example, in the above screenshot, you can see that in the web_tier (where the load balancer lives), there are several actions that run.  We&#8217;ll take a look at how those actions are defined shortly, but the names should be pretty self-explanatory.</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_2_app_tier_definition.png"><img class="alignnone size-medium wp-image-4235" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_2_app_tier_definition-tn.png" alt="Tier Definition" width="300" /></a></p>
<p>Scrolling down the XML, we can see the actual Cloud Servers that make up this tier.  We can see that there should be a minimum of one and maximum of two load balancers running at any given point in the autoscaling cycle, and we should start up with 1.  We&#8217;re using Cloud Server image 187811 (CentOS 5.4), and flavor 1 (256MB server).  Those can be adjusted to taste.  The other two tiers are set up in a similar manner, though in the db_tier you can see an example of having different server types within one tier.</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_3_multiple_server_types.png"><img class="alignnone size-medium wp-image-4235" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_3_multiple_server_types-tn.png" alt="Multiple Server Types" width="300" /></a></p>
<p>Next in the XML, we see the actions defined.  These are the scripts that will be run on the specified servers to perform the actions that we want.  Some of the actions can be executable scripts, and some can just be raw files (config files and the like) that aren&#8217;t run.  Below, we see both types in the screenshot below &#8211; one will install some RPMs, the other just sets up the MySQL cluster manager config file.  Note that the execute attribute is set to &#8220;true&#8221; on the script, and &#8220;false&#8221; on the config file.  Note also we&#8217;re specifying the path and filename.</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_4_mysql_manager_actions.png"><img class="alignnone size-medium wp-image-4235" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_4_mysql_manager_actions-tn.png" alt="MySQL Manager Actions" width="300" /></a></p>
<p>There is also variable substitution available in these actions.  In this action, we can see variables (parameters) set statically in the XML file, as well as ones dynamically generated (the IP addresses of the ndbd servers).</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_5_parameter_substitution.png"><img class="alignnone size-medium wp-image-4235" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_5_parameter_substitution-tn.png" alt="Parameter Substitution" width="300" /></a></p>
<p>Finally, at the bottom of the file, there are event handlers, to run actions when states change, such as tiers are scaled up or down.</p>
<p>Ok, enough XML, let&#8217;s see how it works.  At the top of the XML listing, fill in a system name and hit Deploy System.  You&#8217;ll see that system listed under My Systems on the left.  Click on that to see a diagram of your system and its tiers.  You&#8217;ll notice that it&#8217;s &#8220;unconfigured&#8221; &#8211; you need to go into each system type and choose the Rackspace Cloud account to run them under, as well as adjusting images and flavors.</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_6_edit_configuration.png"><img class="alignnone size-medium wp-image-4235" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_6_edit_configuration-tn.png" alt="Edit Configuration" width="300" /></a></p>
<p>Once all systems are configured, you should see the initial configuration (number of servers, etc) as you defined in the XML.  Now you can press the &#8220;Start System&#8221; button and wait.  You&#8217;ll see spinners pop up in the display as servers are configured in the order that you specified.  Enjoy the emails notifying you of the new servers that are being started.  We&#8217;ll wait.</p>
<p><a href="http://www.youtube.com/watch?v=vfDXlgmKFyU" target="_blank">Grab a snack while you wait.</a></p>
<p>All done?  Great!  You should now have green lights and &#8220;Running&#8221; labels beneath all servers.  If you click the blue triangle on your load balancer to get the Public IP, and open a web browser to that http://your-ip/phpCollab, you should see phpCollab!  You can also go to http://your-ip/balancer-manager to see the Apache load balancer in action.</p>
<p>Now let&#8217;s throw some load at it.  Click the &#8220;Event&#8221; button in IMOD, and choose the app-tier-overloaded event.  This simulates what happens when load gets too high.  You should immediately see another app server added to the mix.  Visit the balancer-manager URL to see that the new server has been added to the mix.</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_7_add_load.png"><img class="alignnone size-medium wp-image-4235" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/kaavo_7_add_load-tn.png" alt="Add Load" width="300" /></a></p>
<p>If you&#8217;d like to play with the scaling parameters, configure the events through the IMOD UI.  You&#8217;ll want to do this before starting the system, so that your changes are persisted.</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/Kaavo-IMOD-Configure-Event.png"><img class="alignnone size-medium wp-image-4235" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/Kaavo-IMOD-Configure-Event-tn.png" alt="Adjusting Events" width="300" /></a></p>
<p>Now, feel free to play around with the system, add traffic, modify the XML, enjoy!  Remember, you have 30 days to run the system through its paces and figure out how Kaavo can help you leverage the power of the Rackspace Cloud.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/exploring-kaavo-autoscaling-with-a-real-world-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Storing Data In Cloud Files With Rails</title>
		<link>http://www.rackspace.com/blog/storing-data-in-cloud-files-with-rails/</link>
		<comments>http://www.rackspace.com/blog/storing-data-in-cloud-files-with-rails/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 15:00:06 +0000</pubDate>
		<dc:creator>Wade Minter</dc:creator>
				<category><![CDATA[Customer Success Stories]]></category>
		<category><![CDATA[Product Discussion]]></category>
		<category><![CDATA[Tips for Devs and Sys Admins]]></category>

		<guid isPermaLink="false">http://www.rackspacecloud.com/blog/?p=4698</guid>
		<description><![CDATA[Rails developers who want to leverage the speed and power of Rackspace Cloud Files are in luck &#8211; there are several different options to choose from. In this blog post, I will take a quick tour through three of the most popular Rails gems/plugins for cloud asset storage: attachment_fu, paperclip, and carrierwave. Before I begin, [...]]]></description>
				<content:encoded><![CDATA[<p>Rails developers who want to leverage the <a href="http://www.rackspacecloud.com/blog/2009/10/23/amazon-cloudfront-vs-rackspace-cloudfiles-cdn-performance/">speed</a> and power of Rackspace <a href="http://www.rackspacecloud.com/cloud_hosting_products/files">Cloud Files</a> are in luck &#8211; there are several different options to choose from.  In this blog post, I will take a quick tour through three of the most popular Rails gems/plugins for cloud asset storage: attachment_fu, paperclip, and carrierwave.</p>
<p>Before I begin, why would you want to store assets in the cloud?  First, you get the benefit of massively expandable storage.  You don&#8217;t need to worry about adding another disk drive to your RAID or LVM pools, you just keep uploading and let the cloud provider worry about the disks.  Second, you can gain the speed of a Content Distribution Network (CDN), such as Rackspace&#8217;s partner Limelight.  This allows your users to get data faster, as the CDN routes their requests to network nodes located closer to the end user.  Finally, you&#8217;re decoupling dynamic data (uploaded files) from static data (your application code), which will allow you to more easily scale your application servers based on server snapshots.  That comes in handy when scaling out server images on <a href="http://www.rackspacecloud.com/cloud_hosting_products/servers">Cloud Servers</a>.</p>
<p>With that in mind, here&#8217;s a quick look at the big three plugins.  For each of them, I have also provided links to the source code on github, as well as a small sample Rails application demonstrating how to use them.  All of these utilities rely on the <a href="http://rubygems.org/gems/cloudfiles">cloudfiles</a> gem (<a href="http://github.com/rackspace/ruby-cloudfiles">source</a>).  (As an aside, that gem is due for some refactoring, so if anyone wants to help out with that project, feel free to drop me an <a href="mailto:wade.minter@rackspace.com">email</a>.)</p>
<p style="font-size: large; font-weight: bold;"><a href="http://github.com/technoweenie/attachment_fu">attachment_fu</a> by <a href="http://github.com/technoweenie/">Rick Olson</a> (<a href="http://github.com/rackspace/attachment_fu_demo">Sample Application</a>)</p>
<p>attachment_fu was one of the first solid file attachment plugins for Rails, with first commits happening back in December 2006.  Mike Clark <a href="http://clarkware.com/cgi/blosxom/2007/02/24">blogged about it</a> in early 2007, and it was included as an example in the Advanced Rails Recipes book.  It was created as the successor to the earlier acts_as_attachment plugin.  Uploaded files can be stored to the filesystem, database, Rackspace Cloud Files, or Amazon S3.</p>
<p>In attachment_fu, the uploaded file is stored as a discrete model in and of itself.  So for a User with an uploaded Photo, I&#8217;ve found it easier to put the user data in the User model, and join that with a Photo model that just handles the uploaded file.  I haven&#8217;t had much luck adding extra data to the attachment model.  Additionally, due to the way the metadata on the object is stored in the database, one model cannot represent multiple types of uploaded files (so the same model can&#8217;t handle both a Photo and an Avatar).</p>
<p>attachment_fu can work with a wide variety of image processors, including RMagick, ImageScience, Mini-Magick, GD2, and even CoreImage on the Mac.  The attachment_fu README also gives examples of how to use it in scripting, which is handy if you need to bulk-add data, or migrate from a different file upload system.  The README is also very thorough documenting the various options to the has_attachment definition, as well as the database tables.</p>
<p style="font-size: large; font-weight: bold;"><a href="http://github.com/thoughtbot/paperclip">paperclip</a> by <a href="http://github.com/thoughtbot/">Thoughtbot</a> (<a href="http://github.com/rackspace/paperclip_demo">Sample Application</a>)</p>
<p><em>(Cloud Files support in <a href="http://github.com/minter/paperclip-cloudfiles">paperclip-cloudfiles</a>)</em></p>
<p>Paperclip is likely the most popular file upload plugin today, with over 2,000 watchers on github and over 300 forks.  Part of the great suite of Thoughtbot software (including clearance, hoptoad, factory_girl, shoulda, and more), it allows an easier integration of uploaded files with existing models.  You don&#8217;t need to dedicate an entire new model to your uploaded files, instead you just add a few new database fields to the model (representing filename, content type, size, and update date), and you can also have multiple files attached to a given model.</p>
<p>Paperclip offers an extensible selection of post-processors for when the file is uploaded, so you can perform tasks such as OCR&#8217;ing files into text, transcoding video, and more.  There are also pre- and post- hooks that allow you more fine-grained control over handling uploads.  For image processing (the most common use case), thumbnailing is built in, and Paperclip uses system-level ImageMagick binaries to handle them (avoiding memory issues with RMagick).</p>
<p>The base installation of paperclip supports storing files on the filesystem or in Amazon S3.  Thoughtbot policy is that they don&#8217;t add any code into the mainline of their projects unless they actively use it in client projects, so there is no support for Cloud Files in the main branch of paperclip.  I maintain a fork of paperclip with Cloud Files support, though, and that gem can be found as &#8220;<a href="http://rubygems.org/gems/paperclip-cloudfiles">paperclip-cloudfiles</a>&#8221; on the gem servers.  It&#8217;s on my list to refactor that code to be a plugin into the mainline, as opposed to a fork of the entire project.</p>
<p style="font-size: large; font-weight: bold;"><a href="http://github.com/jnicklas/carrierwave">Carrierwave</a> by <a href="http://github.com/jnicklas">Jonas Nicklas</a> (<a href="http://github.com/rackspace/carrierwave_demo">Sample Application</a>)</p>
<p>Carrierwave is the new kid on the block, with first commits coming in early 2009.  Interestingly, it is not just a Rails solution, but provides options for Rails, Merb, Sinatra, or other Rack applications.  It splits out the uploader code into a class located in app/uploaders for Rails applications.  This gives you the benefit of isolating the uploading code (rspec testing macros are built in), while easily allowing your base model to include multiple uploaded assets.  Carrierwave can store files locally on the filesystem, on Rackspace Cloud Files, or on Amazon S3 (using AWS-S3 or Right-S3).</p>
<p>Carrierwave provides generators to give you the basic skeleton for your uploader.  Because the uploader model is just a Ruby class, it&#8217;s very easy to override defaults or add new features &#8211; just open up that class and redefine methods as you go!   Carrierwave can be configured on a global level (though an initializer) and on a per-uploader basis.</p>
<p>Another interesting thing about Carrierwave is built-in support for not only ActiveRecord, but MongoDB&#8217;s GridFS.  With NoSQL databases growing in popularity, having out-of-the-box support for MongoDB is a handy way to dip your feet in the waters.  For image processors, RMagick, ImageScience, and MiniMagick are supported.  Carrierwave provides support for pulling uploads from a remote URL in addition to a direct file upload, which is quite cool.  It also easily handles the common use case of removing previously uploaded files with a simple checkbox.</p>
<p>Carrierwave has an extensive amount of documentation in its README file, so peruse that to see what it can do!</p>
<p style="font-size: large; font-weight: bold;">The wrap-up</p>
<p><strong>attachment_fu</strong> is the old reliable workhorse.  It&#8217;s not under heavy development at present, so it will be interesting to see if things pick up as Rails 3 gains traction.  But you will be able to find a lot of online documentation supporting it, and it&#8217;s stable and works well.</p>
<p><strong>Paperclip</strong> is leaner, integrates well with the rest of the Thoughtbot toolkit, and is widely popular.  It&#8217;s tailored to a fairly specific technology set by design, though, so Rackspace customers will need to use a fork of the main project.</p>
<p><strong>Carrierwave</strong> is the upstart, taking a different tack on the idea of asset uploads, and is touching on a wider variety of technology than the others.  It&#8217;s still under active development, so you&#8217;ll want to keep an eye on how things change.  I&#8217;m very impressed with it.</p>
<p>Play around with all three, find the one that suits your particular feature needs, and easily leverage the power of Cloud Files!  And if I&#8217;ve gotten anything completely wrong, feel free to correct me in the comments!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/storing-data-in-cloud-files-with-rails/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Scaling Your Monitoring With Scout</title>
		<link>http://www.rackspace.com/blog/scaling-your-monitoring-with-scout-2/</link>
		<comments>http://www.rackspace.com/blog/scaling-your-monitoring-with-scout-2/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 15:53:38 +0000</pubDate>
		<dc:creator>Wade Minter</dc:creator>
				<category><![CDATA[Rackspace Partners]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[scout]]></category>

		<guid isPermaLink="false">http://www.rackspacecloud.com/blog/?p=4376</guid>
		<description><![CDATA[As a longtime Unix sysadmin, I&#8217;ve beaten my head against more system monitoring tools than I care to remember.  However, I&#8217;ve recently been playing around with Scout, a hosted monitoring solution, and have been very impressed.  As a bonus, I discovered a cool feature that makes monitoring clusters of cloud servers much less time-consuming.  This [...]]]></description>
				<content:encoded><![CDATA[<p>As a longtime Unix sysadmin, I&#8217;ve beaten my head against more system monitoring tools than I care to remember.  However, I&#8217;ve recently been playing around with <a href="http://tools.rackspacecloud.com/applications/scoutmonitoringapp/" class="broken_link" rel="nofollow">Scout</a>, a hosted monitoring solution, and have been very impressed.  As a bonus, I discovered a cool feature that makes monitoring clusters of cloud servers much less time-consuming.  This article will show you how to use the Scout &#8220;Cloud Image&#8221; feature to have your new servers automatically monitored.  It assumes that you have already signed up for a Scout account (there&#8217;s a free trial) and have the ability to deploy <a href="http://www.rackspacecloud.com/cloud_hosting_products/servers" target="_blank">Rackspace Cloud Servers</a>.</p>
<p>I&#8217;ve spun up a basic Fedora 12 server that will be the base image for my farm of web servers in this instance, and have set up this initial server in Scout.  After creating that server in Scout, I get instructions to install one Ruby gem, a server key, and a sample crontab entry.  Easy!</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/scout-scaling-1-scout-setup.png"><img class="alignnone size-medium wp-image-4235" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/scout-scaling-tn-1-scout-setup.png" alt="Scout Setup" width="300" /></a></p>
<p>I&#8217;ll then go install that gem on my test server, register the server with Scout, and set up the crontab entry so that it will update Scout every minute.</p>
<blockquote>
<pre>[root@scout-web1 ~]# <strong>yum install ruby rubygems</strong></pre>
<pre>[Omitted for brevity]</pre>
<pre>Complete!</pre>
</blockquote>
<blockquote>
<pre>[root@scout-web1 ~]# <strong>gem install scout</strong></pre>
<pre>Successfully installed elif-0.1.0</pre>
<pre>Successfully installed scout-5.0.3</pre>
<pre>2 gems installed</pre>
</blockquote>
<blockquote>
<pre>[root@scout-web1 ~]# <strong>scout</strong></pre>
<pre>=== Scout Installation Wizard ===</pre>
<pre>You need the Server Key displayed in the Server Settings tab.</pre>
<pre>It looks like:</pre>
<pre>6ecad322-0d17-4cb8-9b2c-a12c4541853f</pre>
<pre>Enter the Server Key:</pre>
<pre><strong>37dc7d3f-290d-408d-9605-c31c727450b9</strong></pre>
<pre>Attempting to contact the server...</pre>
<pre>Success!</pre>
<pre>Now, you must setup Scout to run on a scheduled basis.</pre>
<pre>If you are using the system crontab</pre>
<pre>(usually located at /etc/crontab):</pre>
<pre>****** START CRONTAB SAMPLE ******</pre>
<pre>* * * * *  root /usr/bin/scout 37dc7d3f-290d-408d-9605-c31c727450b9</pre>
<pre>******  END CRONTAB SAMPLE  ******</pre>
<pre>If you are using this current user's crontab</pre>
<pre>(using crontab -e to edit):</pre>
<pre>****** START CRONTAB SAMPLE ******</pre>
<pre>* * * * *  /usr/bin/scout 37dc7d3f-290d-408d-9605-c31c727450b9</pre>
<pre>******  END CRONTAB SAMPLE  ******</pre>
<pre>For help setting up Scout with crontab, please visit:</pre>
<pre></pre>
</blockquote>
<blockquote>
<pre>[root@scout-web1 ~]# <strong>echo "* * * * *  root /usr/bin/scout 37dc7d3f[...]" &gt;&gt; /etc/crontab</strong></pre>
</blockquote>
<p>At this point, you can do anything else you need to get this server ready to be a base image for future instances in your web cluster (update packages, install application software, configure centralized authentication, etc).  When you&#8217;re done, visit the Rackspace Cloud control panel and create a backup snapshot image for this server.</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/scout-scaling-3-save-image.png"><img class="alignnone size-medium wp-image-4245" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/scout-scaling-tn-3-save-image.png" alt="Saving The Backup Image" width="300" /></a></p>
<p>While that backup is saving, go back over to Scout.  Select this server from the monitored servers list, then choose the &#8220;Server Settings&#8221; tab from the top-right.  You&#8217;ll then check the &#8220;Cloud Image&#8221; checkbox.  What this does is tell Scout that any other server that checks in with this same key is functionally equivalent to this server, so it should get the same settings, alert thresholds, plugins, and such that you define for this server.</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/scout-scaling-4-config-cloud-image.png"><img class="alignnone size-medium wp-image-4247" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/scout-scaling-tn-4-config-cloud-image.png" alt="Configure The Cloud Image" width="300" /></a></p>
<p>At this point I&#8217;ll go into the server definition for this monitored server in Scout and add a couple more plugins to this server&#8217;s monitoring setup, to get it like I want it.</p>
<p>Now, it&#8217;s back to the Rackspace Cloud control panel to kick off a couple more cloud servers.  Only this time, instead of choosing the generic Fedora 12 instance as a base image, I&#8217;ll choose the &#8220;My Backups&#8221; tab and select the snapshot that I just saved of the customized system.  From there, I&#8217;ll create two more web servers.</p>
<p>Now we go back to scout, look at our server tab, and the two new servers have just appeared, replicating the configuration of the original!</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/scout-scaling-5-new-servers-online.png"><img class="alignnone size-medium wp-image-4249" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/scout-scaling-tn-5-new-servers-online.png" alt="New Servers Appear" width="300" /></a></p>
<p>If you add new plugins or change thresholds to the primary system&#8217;s monitoring configuration, newly created servers will pick them up. You can push out updates to existing servers using Scout&#8217;s <a href="http://blog.scoutapp.com/articles/2010/01/27/updating-monitoring-large-server-cluster">Copy &amp; Paste</a> functionality.</p>
<p><a href="http://c0179631.cdn.cloudfiles.rackspacecloud.com/scout-scaling-6-update-cloud-servers.png"><img class="alignnone size-medium wp-image-4251" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/scout-scaling-tn-6-update-cloud-servers.png" alt="Update Servers In Bulk" width="300" /></a></p>
<p>So just like that, you can quickly and easily have new servers in your Cloud clusters get their monitoring configured at bootup &#8211; no more SSH&#8217;ing into each server, or having to constantly update a server image.  Now that&#8217;s a time-saver.</p>
<p>For more information, visit <a href="http://tools.rackspacecloud.com/applications/scoutmonitoringapp/" class="broken_link" rel="nofollow">Scout</a> or talk to us here at the Cloud!  If you can&#8217;t wait to try out Scout in your environment, sign up with coupon code &#8220;rack&#8221; (now until March 3rd) and get $10 off of your first paid month of service.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/scaling-your-monitoring-with-scout-2/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/

Content Delivery Network via Rackspace Cloud Files: c3414940.r40.cf0.rackcdn.com

 Served from: www.rackspace.com @ 2013-05-20 12:52:30 by W3 Total Cache -->