SoftLayer Posts

February 12, 2013

From the Startup Trenches to the Catalyst War Room

By in Development, Introductions, SoftLayer

Before joining SoftLayer, I was locked in a dark, cold room for two years. Sustained by a diet of sugar and caffeine and basking in the glow of a 27″ iMac, I was tasked with making servers dance to the tune of Ruby. The first few months were the toughest. The hours were long, and we worked through holidays. And I loved it.

If that work environment seems like torture, you probably haven’t been on the front lines of a development team. I was a member of a band of brothers at war with poorly documented vendor APIs, trying to emerge victorious from the Battle of Version 1.0. We operated (and suffered) like a startup in its early stages, so I’ve had firsthand experience with the ups and downs of creating and innovating in technology. Little did I know that those long hours and challenges were actually preparing me to help hundreds of other developers facing similar circumstances … I was training to be a Catalyst SLayer:

Catalyst Team

You probably know a lot about Catalyst by now, but one of the perks of the program that often gets overshadowed by “free hosting” is the mentorship and feedback the SoftLayer team provides every Catalyst participant. Entrepreneurs bounce ideas off of guys like Paul Ford and George Karidis to benefit from the years of experience and success we’ve experienced, and the more technical folks can enlist our help in figuring out more efficient ways to tie their platforms to their infrastructure.

When I was forging through the startup waters, I was fortunate to have been supported by financially reinforced walls and the skilled engineers of a well-established hosting company in Tokyo. Unfortunately, that kind of support is relatively uncommon. That’s where Catalyst swoops in. SoftLayer’s roots were planted in the founders’ living rooms and garages, so we’re particularly fond of other companies who are bootstrapping, learning from failure and doing whatever it takes to succeed. In my role with Catalyst, I’ve effectively become a resource for hundreds of startups around the world … and that feels good.

Five days before my official start date, I receive a call from Josh telling me that we’d be spending my first official week on the job in Seattle with Surf Incubator and Portland with Portland Incubator Experiment (PIE). While the trip did not involve carving waves or stuffing our faces with baked goods (bummer), we did get to hear passionate people explain what keeps them up at night. We got to share a little bit about SoftLayer and how we can help them sleep better (or fuel them with more energy when they’re up at night … depending on which they preferred), and as I headed back to Los Angeles, I knew I made the right choice to become a SLayer. I’m surrounded by energy, creativity, passion, innovation and collaboration on a daily basis. It’s intoxicating.

TL;DR: I love my job.

-@andy_mui

February 11, 2013

Startup Series: Planwise

By in SoftLayer, Startup Series

Every startup dreams about entering an unowned, wide-open market … and subsequently dominating it. About a year ago, I met a couple of Aussies — Vincent and Niall — who saw a gaping hole in the world of personal finance and seized the opportunity to meet the unspoken needs of a huge demographic: People who want to be in control of their money but hate the complexity of planning and budgeting. They built Planwise — a forward-looking financial decision-making tool that shows you your future financial goals in the context of each other and your daily financial commitments.

Planwise

If you look at the way people engage with their finances on a daily basis, you might think that we don’t really care about our money. Unless we’re about to run out of it, we want to do something with it, or it constrains us from doing something we want to do, we don’t spend much time managing our finances. Most of the online tools that dominate the finance space are enterprise-centric solutions that require sign-ups and API calls to categorize your historical spend. Those tools confirm that you spend too much each month on coffee and beer (in case you didn’t already know), but Planwise takes a different approach — one that focuses on the future.

Planwise is a tool that answers potentially complex financial questions quickly and clearly. “If I make one additional principal payment on my mortgage every year, what will my outstanding balance be in five years?” “How would would my long-term savings be affected if I moved to a nicer (and more expensive) apartment?” “How much money should I set aside every month if I want to travel to Europe next summer?” You shouldn’t have to dig up your old accounting textbooks or call a CPA to get a grasp on your financial future:

One of the most significant differentiators for Planwise is that you can use the tool without signing up and without any identifiable information. You just launch Planwise, add relevant numbers, and immediately see the financial impact of scenarios like paying off debt, losing your job, or changing your expenses significantly. If you find Planwise useful and you want to keep your information in the system (so you don’t have to enter it again), you can create an account to save your data by just providing your email address.

Planwise has been a SoftLayer customer since around August of last year, and I’ve gotten to work with them quite a bit via the Catalyst program. They built a remarkable hybrid infrastructure on SoftLayer’s platform where they leverage dedicated hardware, cloud instances and cutting-edge DB deployments to scale their environment up and down as their usage demands. I’d also be remiss if I didn’t give them a shout-out for evangelizing Catalyst to bring some other outstanding startups onboard. You’ve met one of those referred companies already (Bright Funds), and you’ll probably hear about a few more soon.

Go make some plans with Planwise.

-@JoshuaKrammes

February 8, 2013

Data Center Power-Up: Installing a 2-Megawatt Generator

By in Executive Blog, Infrastructure, SoftLayer

When I was a kid, my living room often served as a “job site” where I managed a fleet of construction vehicles. Scaled-down versions of cranes, dump trucks, bulldozers and tractor-trailers littered the floor, and I oversaw the construction (and subsequent destruction) of some pretty monumental projects. Fast-forward a few years (or decades), and not much has changed except that the “heavy machinery” has gotten a lot heavier, and I’m a lot less inclined to “destruct.” As SoftLayer’s vice president of facilities, part of my job is to coordinate the early logistics of our data center expansions, and as it turns out, that responsibility often involves overseeing some of the big rigs that my parents tripped over in my youth.

The video below documents the installation of a new Cummins two-megawatt diesel generator for a pod in our DAL05 data center. You see the crane prepare for the work by installing counter-balance weights, and work starts with the team placing a utility transformer on its pad outside our generator yard. A truck pulls up with the generator base in tow, and you watch the base get positioned and lowered into place. The base looks so large because it also serves as the generator’s 4,000 gallon “belly” fuel tank. After the base is installed, the generator is trucked in, and it is delicately picked up, moved, lined up and lowered onto its base. The last step you see is the generator housing being installed over the generator to protect it from the elements. At this point, the actual “installation” is far from over — we need to hook everything up and test it — but those steps don’t involve the nostalgia-inducing heavy machinery you probably came to this post to see:

When we talk about the “megawatt” capacity of a generator, we’re talking about the bandwidth of power available for use when the generator is operating at full capacity. One megawatt is one million watts, so a two-megawatts generator could power 20,000 100-watt light bulbs at the same time. This power can be sustained for as long as the generator has fuel, and we have service level agreements to keep us at the front of the line to get more fuel when we need it. Here are a few other interesting use-cases that could be powered by a two-megawatt generator:

  • 1,000 Average Homes During Mild Weather
  • 400 Homes During Extreme Weather
  • 20 Fast Food Restaurants
  • 3 Large Retail Stores
  • 2.5 Grocery Stores
  • A SoftLayer Data Center Pod Full of Servers (Most Important Example!)

Every SoftLayer facility has an n+1 power architecture. If we need three generators to provide power for three data center pods in one location, we’ll install four. This additional capacity allows us to balance the load on generators when they’re in use, and we can take individual generators offline for maintenance without jeopardizing our ability to support the power load for all of the facility’s data center pods.

Those of you who are in the fondly remember Tonka trucks and CAT crane toys are the true target audience for this post, but even if you weren’t big into construction toys when you were growing up, you’ll probably still appreciate the work we put into safeguarding our facilities from a power perspective. You don’t often see the “outside the data center” work that goes into putting a new SoftLayer data center pod online, so I thought it’d give you a glimpse. Are there an topics from an operations or facilities perspectives that you also want to see?

-Robert

January 31, 2013

ActiveCampaign: Tech Partner Spotlight

By in Partner Marketplace, SoftLayer, Tips and Tricks

We invite each of our featured SoftLayer Tech Marketplace Partners to contribute a guest post to the SoftLayer Blog, and this week, we’re happy to welcome Peter Evans from ActiveCampaign. ActiveCampaign is a complete email marketing and marketing automation platform designed to help small businesses grow.

The Challenge of Sending Email Simply

You need to send email. Usually, that’s a pretty simple task, so it’s not uncommon to find users who think that sending a monthly newsletter is more or less the same task as sending a quick note to a friend about going to see a movie. In fact, those two email use-cases are completely different animals. With all of the nuances inherent in sending and managing large volumes of email, a plethora of email marketing services are positioned to help users better navigate the email marketing waters. It’s tough to differentiate which features you might need and which features are just there to be a “Check” in a comparison checklist. ActiveCampaign set out to make the decision-making process simpler … We knew that we needed the standard features like auto-responder campaigns, metrics reports and email templates, but we also knew we had to differentiate our service in a meaningful way. So we focused on automation.

Too often, the “automation” provided by a platform can be very cumbersome to set up (if it’s available at all), and when it’s actually working, there’s little confirmation that actions are being performed as expected. In response, we were intentional about ActiveCampaign’s automation features being easy to set up and manage … If automation saves time and money, it shouldn’t be intimidatingly difficult to incorporate into your campaigns. Here is a screenshot of what it takes to incorporate automation in your email campaigns with ActiveCampaign:

ActiveCampaign Screenshot

No complicated logic. No unnecessary options. With a only a few clicks, you can select an action to spark a meaningful response in your system. If a subscriber in your Newsletter list clicks on a link, you might want to move that subscriber to a different list. Because you might want to send a different campaign to that user as well, we provide the ability to add multiple automated actions for each subscriber action, and it’s all very clear.

One of the subscriber actions that might stand out to you if you’ve used other email service providers (or ESPs) is the “When subscriber replies to a campaign” bullet. ActiveCampaign is the first ESP (that we’re aware of) to provide users the option to send a series of follow-up campaigns (or to restrict the sending of future campaigns) to subscribers who reply to a campaign email. Replies are tracked in your campaign reports, and you have deep visibility into how many people replied, who replied, and how many times they replied. With that information, you can segment those subscribers and create automated actions for them, and the end result is that you’re connecting with your subscriber base much more effectively because you’re able to target them better … And you don’t have to break your back to do it.

SoftLayer customers know how valuable automation can be in terms of infrastructure, so it should be no surprise that email marketing campaigns can benefit so much from automation as well. Lots of ESPs provide stats, and it’s up to you to figure out meaningful ways to use that information. ActiveCampaign goes a step beyond those other providers by helping you very simply engage your subscribers with relevant and intentional actions. If you’re interested in learning more, check us out at http://www.activecampaign.com.

-Peter Evans, ActiveCampaign

This guest blog series highlights companies in SoftLayer’s Technology Partners Marketplace.
These Partners have built their businesses on the SoftLayer Platform, and we’re excited for them to tell their stories. New Partners will be added to the Marketplace each month, so stay tuned for many more come.
January 29, 2013

iptables Tips and Tricks: APF (Advanced Policy Firewall) Configuration

By in SoftLayer, Technology, Tips and Tricks

Let’s talk about APF. APF — Advanced Policy Firewall — is a policy-based iptables firewall system that provides simple, powerful control over your day-to-day server security. It might seem intimidating to be faced with all of the features and configuration tools in APF, but this blog should put your fears to rest.

APF is an iptables wrapper that works alongside iptables and extends its functionality. I personally don’t use iptables wrappers, but I have a lot of experience with them, and I’ve seen that they do offer some additional features that streamline policy management. For example, by employing APF, you’ll get several simple on/off toggles (set via configuration files) that make some complex iptables configurations available without extensive coding requirements. The flip-side of a wrapper’s simplicity is that you aren’t directly in control of the iptables commands, so if something breaks it might take longer to diagnose and repair. Before you add a wrapper like APF, be sure that you know what you are getting into. Here are a few points to consider:

  • Make sure that what you’re looking to use adds a feature you need but cannot easily incorporate with iptables on its own.
  • You need to know how to effectively enable and disable the iptables wrapper (the correct way … read the manual!), and you should always have a trusted failsafe iptables ruleset handy in the unfortunate event that something goes horribly wrong and you need to disable the wrapper.
  • Learn about the basic configurations and rule changes you can apply via the command line. You’ll need to understand the way your wrapper takes rules because it may differ from the way iptables handles rules.
  • You can’t manually configure your iptables rules once you have your wrapper in place (or at least you shouldn’t).
  • Be sure to know how to access your server via the IPMI management console so that if you completely lock yourself out beyond repair, you can get back in. You might even go so far as to have a script or set of instructions ready for tech support to run, in the event that you can’t get in via the management console.

TL;DR: Have a Band-Aid ready!

APF Configuration

Now that you have been sufficiently advised about the potential challenges of using a wrapper (and you’ve got your Band-Aid ready), we can check out some of the useful APF rules that make iptables administration a lot easier. Most of the configuration for APF is in conf.apf. This file handles the default behavior, but not necessarily the specific blocking rules, and when we make any changes to the configuration, we’ll need to restart the APF service for the changes to take effect.

Let’s jump into conf.apf and break down what we see. The first code snippit is fairly self-explanatory. It’s another way to make sure you don’t lock yourself out of your server as you are making configuration changes and testing them:

# !!! Do not leave set to (1) !!!
# When set to enabled; 5 minute cronjob is set to stop the firewall. Set
# this off (0) when firewall is determined to be operating as desired.
DEVEL_MODE="1"

The next configuration options we’ll look at are where you can make quick high-level changes if you find that legitimate traffic is being blocked and you want to make APF a little more lenient:

# This controls the amount of violation hits an address must have before it
# is blocked. It is a good idea to keep this very low to prevent evasive
# measures. The default is 0 or 1, meaning instant block on first violation.
RAB_HITCOUNT="1"
 
# This is the amount of time (in seconds) that an address gets blocked for if
# a violation is triggered, the default is 300s (5 minutes).
RAB_TIMER="300"
# This allows RAB to 'trip' the block timer back to 0 seconds if an address
# attempts ANY subsiquent communication while still on the inital block period.
RAB_TRIP="1"
 
# This controls if the firewall should log all violation hits from an address.
# The use of LOG_DROP variable set to 1 will override this to force logging.
RAB_LOG_HIT="1"
 
# This controls if the firewall should log all subsiqent traffic from an address
# that is already blocked for a violation hit, this can generate allot of logs.
# The use of LOG_DROP variable set to 1 will override this to force logging.
RAB_LOG_TRIP="0"

Next, we have an option to adjust ICMP flood protection. This protection should be useful against some forms of DoS attacks, and the associated rules show up in your INPUT chain:

# Set a reasonable packet/time ratio for ICMP packets, exceeding this flow
# will result in dropped ICMP packets. Supported values are in the form of:
# pkt/s (packets/seconds), pkt/m (packets/minutes)
# Set value to 0 for unlimited, anything above is enabled.
ICMP_LIM="30/s"

If you wanted to add more ports to block for p2p traffic (which will show up in the P2P chain), you’ll update this code:

# A common set of known Peer-To-Peer (p2p) protocol ports that are often
# considered undesirable traffic on public Internet servers. These ports
# are also often abused on web hosting servers where clients upload p2p
# client agents for the purpose of distributing or downloading pirated media.
# Format is comma separated for single ports and an underscore separator for
# ranges (4660_4678).
BLK_P2P_PORTS="1214,2323,4660_4678,6257,6699,6346,6347,6881_6889,6346,7778"

The next few lines let you designate the ports that you want to have closed at all times. They will be blocked for INPUT and OUTPUT chains:

# These are common Internet service ports that are understood in the wild
# services you would not want logged under normal circumstances. All ports
# that are defined here will be implicitly dropped with no logging for
# TCP/UDP traffic inbound or outbound. Format is comma separated for single
# ports and an underscore separator for ranges (135_139).
BLK_PORTS="135_139,111,513,520,445,1433,1434,1234,1524,3127"

The next important section to look at deals with conntrack. If you get “conntrack full” errors, this is where you’d increase the allowed connections. It’s not uncommon to need more connections than the default, so if you need to adjust that value, you’d do it here:

# This is the maximum number of "sessions" (connection tracking entries) that
# can be handled simultaneously by the firewall in kernel memory. Increasing
# this value too high will simply waste memory - setting it too low may result
# in some or all connections being refused, in particular during denial of
# service attacks.
SYSCTL_CONNTRACK="65536"

We’ve talked about the ports we want closed at all times, so it only makes sense that we’d specify which ports we want open for all interfaces:

# Common inbound (ingress) TCP ports
IG_TCP_CPORTS="22"
# Common inbound (ingress) UDP ports
IG_UDP_CPORTS=""
# Common outbound (egress) TCP ports
EG_TCP_CPORTS="21,25,80,443,43"
# Common outbound (egress) UDP ports
EG_UDP_CPORTS="20,21,53"

And when we want a special port allowance for specific users, we can declare it easily. For example, if we want port 22 open for user ID 0, we’d use this code:

# Allow outbound access to destination port 22 for uid 0
EG_TCP_UID="0:22"

The next few sections on Remote Rule Imports and Global Trust are a little more specialized, and I encourage you to read a little more about them (since there’s so much to them and not enough space to cover them here on the blog). An important feature of APF is that it imports block lists from outside sources to keep you safe from some attackers, so the Remote Rule Imports can prove to be very useful. The Global Trust section is incredibly useful for multi-server deployments of APF. Here, you can set up your global allow/block lists and have them all pull from a central location so that you can make a single update to the source and have the update propogated to all servers in your configuration. These changes are synced to the glob_allow/deny.rules files, and they will be downloaded (and overwritten) on a regular basis from your specified source, so don’t make any manual edits in glob_allow/deny.rules.

As you can see, apf.conf is no joke. It has a lot of stuff going on, but it’s very straightforward and documented well. Once we’ve set up apf.conf with the configurations we need, it’s time to look at the more focused allow_hosts.rules and deny_hosts.rules files. These .rules files are where where you put your typical firewall rules in place. If there’s one piece of advice I can give you about these configurations, it would be to check if your traffic is already allowed or blocked. Having multiple rules that do the same thing (possibly in different places) is confusing and potentially dangerous.

The deny_hosts.rules configuration will look just like allow_hosts.rules, but it’s performing the opposite function. Let’s check out an allow_hosts.rules configuration that will allow the Nimsoft service to function:

tcp:in:d=48000_48020:s=10.0.0.0/8
tcp:out:d=48000_48020:d=10.0.0.0/8

The format is somewhat simplistic, but the file gives a little more context in the comments:

# The trust rules can be made in advanced format with 4 options
# (proto:flow:port:ip);
# 1) protocol: [packet protocol tcp/udp]
# 2) flow in/out: [packet direction, inbound or outbound]
# 3) s/d=port: [packet source or destination port]
# 4) s/d=ip(/xx) [packet source or destination address, masking supported]
# Syntax:
# proto:flow:[s/d]=port:[s/d]=ip(/mask)

APF also uses ds_hosts.rules to load the DShield.org blocklist, and I assume the ecnshame_hosts.rules does something similar (can’t find much information about it), so you won’t need to edit these files manually. Additionally, you probably don’t need to make any changes to log.rules, unless you want to make changes to what exactly you log. As it stands, it logs certain dropped connections, which should be enough. Also, it might be worth noting that this file is a script, not a configuration file.

The last two configuration files are the preroute.rules and postroute.rules that (unsurprisingly) are used to make routing changes. If you have been following my articles, this corresponds to the iptables chains for PREROUTING and POSTROUTING where you would do things like port forwarding and other advanced configuration that you probably don’t want to do in most cases.

APF Command Line Management

As I mentioned in the “points to consider” at the top of this post, it’s important to learn the changes you can perform from the command line, and APF has some very useful command line tools:

[root@server]# apf --help
APF version 9.7 <apf@r-fx.org>
Copyright (C) 2002-2011, R-fx Networks <proj@r-fx.org>
Copyright (C) 2011, Ryan MacDonald <ryan@r-fx.org>
This program may be freely redistributed under the terms of the GNU GPL
 
usage /usr/local/sbin/apf [OPTION]
-s|--start ......................... load all firewall rules
-r|--restart ....................... stop (flush) & reload firewall rules
-f|--stop........ .................. stop (flush) all firewall rules
-l|--list .......................... list all firewall rules
-t|--status ........................ output firewall status log
-e|--refresh ....................... refresh & resolve dns names in trust rules
-a HOST CMT|--allow HOST COMMENT ... add host (IP/FQDN) to allow_hosts.rules and
                                     immediately load new rule into firewall
-d HOST CMT|--deny HOST COMMENT .... add host (IP/FQDN) to deny_hosts.rules and
                                     immediately load new rule into firewall
-u|--remove HOST ................... remove host from [glob]*_hosts.rules
                                     and immediately remove rule from firewall
-o|--ovars ......................... output all configuration options

You can use these command line tools to turn your firewall on and off, add allowed or blocked hosts and display troubleshooting information. These commands are very easy to use, but if you want more fine-tuned control, you’ll need to edit the configuration files directly (as we looked at above).

I know it seems like a lot of information, but to a large extent, that’s all you need to know to get started with APF. Take each section slowly and understand what each configuration file is doing, and you’ll master APF in no time at all.

-Mark

January 24, 2013

Startup Series: SPEEDILICIOUS

By in SoftLayer, Startup Series

Research from the Aberdeen Group shows the average website is losing 9% of its business because
 the speed of the site frustrates visitors into leaving. 9% of your traffic might be leaving your site because they feel like it’s too slow. That thought is staggering, and any site owner would be foolish not to fix the problem. SPEEDILICIOUS — one of our new Catalyst partners — has an innovative solution that optimizes website performance and helps businesses deliver content to their end users faster.

SPEEDILICIOUS

I recently had the chance to chat with SPEEDILICIOUS founders Seymour Segnit and Chip Krauskopf, and Seymour rephrased that “9%” statistic in a pretty alarming way: “Losing 9% of your business is the equivalent of simply allowing your website to go offline, down, dark, dead, 404 for over a MONTH each year!” There is ample data to back this up from high-profile sites like Amazon, Microsoft and Walmart.com, but intuitively, you know it already … A slow site (even a slightly slow site) is annoying.

The challenge many website owners have when it comes to their loading speeds is that problems might not be noticeable from their own workstations. Thanks to caching and the Internet connections most of us have, when we visit our own sites, we don’t have any trouble accessing our content quickly. Unfortunately, many of our customers don’t share that experience when they visit our sites on mobile, hotel, airports and (worst of all) conference connections. The most common approach to speeding up load times is to throw bigger servers or a CDN (content delivery network) at the problem, but while those improvements make a difference, they only address part of the problem … Even with the most powerful servers in SoftLayer’s fleet, your page can load at a crawl if your code can’t be rendered quickly by a browser.

That makes life as a website developer difficult. The process of optimizing code and tweaking settings to speed up load times can be time-consuming and frustrating. Or as Chip explained to me, “Speeding up your site is essential, it shouldn’t be be slow and complicated. We fix that problem.” Take a look:

The idea that your site performance can be sped up significantly overnight seems a little crazy, but if it works (which it clearly does), wouldn’t it be crazier not to try it? SPEEDILICIOUS offers a $1 trial for you to see the results on your own site, and they regularly host a free webinar called “How to Grow Your Business 5-15% Overnight” which covers the critical techniques for speeding up any website.

As technology continues to improve and behavioral patterns of purchasing migrate away from the mall and onto our computers and smart phones, SPEEDILICIOUS has a tremendous opportunity to capture a ripe market. So they’re clearly a great fit for Catalyst. If you’re interested in learning more or would like to speak to Seymour, Chip or anyone on their team, please let me know and I’ll make the direct introduction any time.

-@JoshuaKrammes

January 15, 2013

Startup Series: Moqups

By in SoftLayer, Startup Series, Tips and Tricks

Every member on the Catalyst team is given one simple goal: Find the most innovative and creative startups on the planet and get them on the SoftLayer network. We meet entrepreneurs at conferences and events around the world, we team up with the most influential startup accelerators and incubators, and we hunt for businesses who are making waves online. With the momentum Catalyst built in 2012, our message has started spreading exponentially faster than what the community development team could be doing on our own, and now it seems like we’ve earned a few evangelists in the startup community. We have those evangelists to thank for bringing Moqups to our door.

In a Hacker News thread, a user posted about needing hosting for a server/startup, and a recommendation for the Catalyst program was one of the top-rated results. The founders of Moqups saw that recommendation, researched SoftLayer’s hosting platform and submitted an application to become a Catalyst partner. As soon as we saw the unbelievable HTML5 app the Moqups team created to streamline and simplify the process of creating wireframes and mockups for website and application design, we knew they were a perfect fit to join the program.

If you’ve ever had to create a site prototype or UI mockup, you know how unwieldy the process can be. You want to sketch a layout and present it clearly and cleanly, but there aren’t many viable resources between “marker on a whiteboard” and “rendering in Photoshop” to accomplish that goal. That’s the problem the Moqups team set out to solve … Can a web app provide the functionality and flexibility you’d need to fill that gap?

We put their answer to that question to the test. I told Kevin about Moqups and asked him to spend a few minutes wireframing the SoftLayer Blog … About ten minutes later, he sent me this (Click for the full Moqups version):

SoftLayer Blog Moqup

Obviously, wireframing an existing design is easier than creating a new design from scratch, but Kevin said he was floored by how intuitive the Moqups platform made the process. In fact, the “instructions” for how to use Moqups are actually provided in an example “Quick Introduction to Moqups” project on the home page. That example project allows you to tweak, add and adjust content to understand how the platform works, and because it’s all done in HTML5, the user experience is seamless.

Moqups

Put it to the test for yourself: How long will it take you to create a wireframe of your existing website (similar to what Kevin did with the SoftLayer Blog)? You have down-to-the-pixel precision, you can group objects together, Moqups helps you line up or center all of the different pieces of your site. Their extensive library of stencils supplements any custom images you upload, so you can go through the whole process of creating a site mockup without “drawing” anything by hand!

I’m actually surprised that the Moqups team heard about SoftLayer before our community development team heard about them … In November, I was in Bucharest, Romania, for HowtoWeb, so I was right in their back yard! Central and Eastern European startups are blowing up right now, and Moqups is a perfect example of what we’re seeing from that region in EMEA.

Oh, and if you know of a crazy cool startup like Moqups that could use a little hosting help from SoftLayer, tell them about Catalyst!

-@EmilyBlitz

January 8, 2013

Startup Series: Bright Funds

By in SoftLayer, Startup Series

Did you ever see The Beach with Leonardo DiCaprio? You know … The one with a community of world-shunners that live in a paradisaical community on a beautiful white-sand beach. The people in that community were purists — altruistic types who believed in the possibilities of living a simple life based on community support of the individual and the individual’s reciprocal support and dedication to the community. Recently, I walked into Hattery — a co-working space in SF — and found a similarly tight-knit community that immediately reminded me of that movie. Hattery is “off the radar” to a certain extent, and that’s largely because the collaborative environment and culture are what drive the incredible group of entrepreneurs who work there. To be allowed in the co-working space, it seems like the prerequisites are endless passion and an ambitious vision, so I shouldn’t be surprised that Bright Funds calls it home.

Bright Funds is a business that was created to provide users the ability to easily invest in complete solutions for the causes they care about. After signing on as a Catalyst partner, Bright Fund co-founders Ty Walrod and Rutul Davé invited me to lunch at the Hattery office, and I immediately accepted so I could learn more about what they are up to. Having been involved in the tech startup world for a while now, I knew that I’d be meeting two very special entrepreneurs with big hearts and even BIGGER tech startup street cred.

Rutul and Ty were not content with their user experience (UX) when it came to giving to charities and helping solve some of the world’s biggest problems. They noticed that little effort had been invested in providing donors with tools to make the act of giving both enjoyable and highly effective, so they took action. Bright Funds was created to redefine and refocus the experience of “giving to charity” … Giving shouldn’t just involve going through the motions of transferring funds from our bank accounts. They built a new giving platform to be more intuitive, rewarding and enlightening, and they did an unbelievable job.

Think of the last time you had a great user experience: An interaction that was as enjoyable as it was effective. Aesthetics play a big role, and when those aesthetics make doing what you want to do easier and more satisfying, you’ve got an awesome UX. The best user experiences involve empowering users to make informed and intelligent choices by providing them what they need and getting out of the way. Often, UX is used for site design or application metrics, but Bright Funds took the concept and used it to create an elegant and simple business model:

Bright Funds was designed to create a giving experience with an intuitive flow in mind. Instead of just writing checks or handing over cash to a charity, the experience of giving through Bright Funds is interactive and didactic. You manage your giving like you would a mutual fund portfolio — you decide what percentage of your giving should go to which types of vetted and validated causes, and you get regular performance updates from charity. I want to help save the environment. I want to give clean water to all. I want to empower the underserved. I want to educate the world. You choose which causes you want to prioritize, and Bright Funds channels your giving to the most effective organizations serving the greatest needs in the world today.

Bright Funds

Instead of focusing on individual nonprofits, you support causes and issues that matter most to you. In that sense, Bright Funds is a very unique approach to charitable giving, and it’s a powerful force in making a difference. Visit Bright Funds for more information, and get started by building your own ‘Impact Portfolio.’ If you’re curious about what mine looks like, check it out:

Bright Funds Impact Portfolio

What does yours look like?

-@JoshuaKrammes

This is a startup series post about Bright Funds, a SoftLayer Catalyst Program participant.
About Bright Funds:
Bright Funds is a better way to give. Individuals and employees at companies with gift matching programs create personalized giving portfolios and contribute to thoroughly researched funds of highly effective nonprofits, all working to address the greatest challenges of our time. In one platform, Bright Funds brings together the power of research, the reliability of a trusted financial service, and the convenience of a secure, cloud-based platform with centralized contributions, integrated matching, and simple tax reporting.
December 27, 2012

Using SoftLayer Object Storage to Back Up Your Server

By in Development, SoftLayer, Tips and Tricks

Before I came to my senses and moved my personal servers to SoftLayer, I was one of many victims of a SolusVM exploit that resulted in the wide-scale attack of many nodes in my previous host’s Chicago data center. While I’m a firm believer in backing up my data, I could not have foreseen the situation I was faced with: Not only was my server in one data center compromised with all of its data deleted, but my backup server in one of the host’s other data centers was also attacked … This left me with old, stale backups on my local computer and not much else. I quickly relocated my data and decided that I should use SoftLayer Object Storage to supplement and improve upon my backup and disaster recovery plans.

With SoftLayer Object Storage Python Client set up and the SoftLayer Object Storage Backup script — slbackup.py — in hand, I had the tools I needed to build a solid backup infrastructure easily. On Linux.org, I contributed an article about how to perform MySQL backups with those resources, so the database piece is handled, but I also need to back up my web files, so I whipped up another quick bash script to run:

#!/bin/bash
 
# The path the backups will be dumped to
DUMP_DIR="/home/backups/"
 
# Path to the web files to be backed up
BACKUP_PATH="/var/www/sites /"
 
# Back up folder name (mmddyyyy)
BACKUP_DIR="`date +%m%d%Y`"
 
# Backup File Name
DUMP_FILE="`date +%m_%d_%Y_%H_%M_%S`_site_files"
 
# SL container name
CONTAINER="site_backups"
 
# Create backup dir if doesn't exist
if [ ! -d $DUMP_DIR$BACKUP_DIR ]; then
        mkdir -p $DUMP_DIR$BACKUP_DIR
fi
 
tar -zcvpf $DUMP_DIR$BACKUP_DIR/$DUMP_FILE.tar.gz $BACKUP_PATH
 
# Make sure the archive exists
if [ -f $DUMP_DIR$BACKUP_DIR/$DUMP_FILE.tar.gz ]; then
        /root/slbackup.py -s $DUMP_DIR$BACKUP_DIR/ -o "$CONTAINER" -r 30
 
        # Remove the backup stored locally
        rm -rf $DUMP_DIR$BACKUP_DIR
 
        # Success
        exit 0
else
        echo "$DUMP_DIR$BACKUP_DIR/$DUMP_FILE.tar.gz does not exist."
        exit 1
fi

It’s not the prettiest bash script, but it gets the job done. By tweaking a few variables, you can easily generate backups for any important directory of files and push them to your SoftLayer Object Storage account. If you want to change the retention time of your backups to be longer or shorter, you can change the 30 after the –r in the line below to the number of days you want to keep each backup:

/root/slbackup.py -s $DUMP_DIR$BACKUP_DIR/ -o "$CONTAINER" -r 30

I created a script for each website on my server, and I set a CRON (crontab –e) entry to run each one on Sundays staggered by 5 minutes:

5 1 * * 0  /root/bin/cron/CRON-site1.com_web_files > /dev/null
10 1 * * 0  /root/bin/cron/CRON-site2.com_web_files > /dev/null
15 1 * * 0  /root/bin/cron/CRON-site3.com_web_files > /dev/null

If you’re looking for an easy way to automate and solidify your backups, this little bit of code could make life easier on you. Had I taken the few minutes to put this script together prior to the attack I experienced at my previous host, I wouldn’t have lost any of my data. It’s easy to get lulled into “backup apathy” when you don’t need your backups, but just because nothing *has* happened to your data doesn’t mean nothing *can* happen to your data.

Take it from me … Be over-prepared and save yourself a lot of trouble.

-Ronald

December 24, 2012

Giving From (and For) the Heart

By in Culture, SoftLayer

This time of year is often referred to as “The Season of Giving,” and we thought we’d share two SLayers’ stories about their involvement in the American Heart Association Heart Walk. Like last year, we split up into fundraising teams for the AHA with a goal of raising $100,000. In addition to those fundraising efforts, SoftLayer also encouraged employees to get active and get involved in the annual Heart Walks in Houston and Dallas. Here’s our on-location coverage from two team captains who attended those events this year:

Dallas

My name is Fabrienne Curtis, and I work in the Accounting Department at SoftLayer. I joined a team with thirty other people (from several different departments) to raise money for the American Heart Association, and because I love to help and work on community projects, I volunteered to be a team captain. Our team had a ton of great ideas for fundraisers, so we set an ambitious goal of raising $12,400 ($400 per person). When the dust settled, I’m proud to report that we me that goal with a total team tally of $12,488 (which SoftLayer then matched).

Beyond the fundraising, participating in the Dallas Heart Walk at Victory Park was a highlight this year. No one on my team knew that this walk had a personal meaning to me … I lost my dad to congestive heart failure and wanted to walk in his behalf. When I got to the Heart Walk, I was touched. There was a “Survivor Wall” and there were several signs where you could share who you’re walking on behalf of. If not for SoftLayer, I probably wouldn’t have participated in the Heart Walk, so as I wrote on the wall and created a sign for my dad, I thought about how good it felt to work for a company that truly cares about the well-being of its employees.

SoftLayer Photo Booth

SoftLayer added a little flair to the event by setting up a photo booth for people to take pictures and take home, and with the help of Don Hunter, Hao Ho and my husband Jerry, 679 photos were taken!

SoftLayer Photo Booth

Here are some pictures I snapped from the 2012 Dallas Heart Walk:

SoftLayer Heart Walk

The Start!
SoftLayer Heart Walk

The SoftLayer “Uniform”
SoftLayer Heart Walk

The Crowd
SoftLayer Heart Walk

Victorious!

Thank you SoftLayer for having a heart! If you want more coverage of this years event, check out this Dallas Heart Walk 2012 video and click through to our Dallas Heart Walk Flickr album.

-Fabrienne

Houston

Dallas didn’t get to have all of the fun when it comes to the AHA Heart Walk, and I made sure to document the Houston goings-on to share with our avid SoftLayer Blog readers. From bake sales to ice cream socials, the Houston office was diligent about donating money and raising heart-health awareness for months prior to the 2012 walk, and those months were extremely eventful. Like Fabrienne, I jumped at the opportunity to be one of 18 team captains at SoftLayer, and considering the fact that cardiovascular disease is the number one killer of Americans, I was inspired to get everyone involved.

I’ll be the first to admit that I am not in the best of shape, so a five-kilometer walk through a course at Reliant Stadium would be pretty challenging. My team had been tirelessly preparing for the 5k “mini-marathon” walk, and as November approached, you could sense the excitement and enthusiasm brewing. Walking only one mile can add up to two hours to your lifespan, so in the process of preparing for the walk, we added quite a few hours to our collective lives. When the big day finally arrived, we were ready:

SoftLayer Heart Walk

The Houston Heart Walk SLayers

Given that our day started at an unbelievable 7:00am on a Saturday, most of our participants were tired-eyed and ready to chow down on the free burritos and fruit provided by SoftLayer, and by the time we fired up the photo booth and broke out the goofy props, everyone was wide awake. It’s like they say, “Give a man a fish and he’ll eat for a day … Give a man fun props and a camera, and he’ll have a blast (and pictures that can be used against him.” Actually, I don’t know if “they” say that, but it’s true:

SoftLayer Heart Walk

Before we knew it, a gunshot of glitter and colorful confetti got the crowd of people moving down the 3.1-ish mile track, and we were hooting and cheering, pumped to represent our company! By mile two, my legs were a little wobbly and the sun was scorching, I could see that our dog, Rikku (whom had been carried the entire way) looked was confused about why I was putting her through the exhausting task of being comfortably in my arms as we herded through the people like cattle.

SoftLayer Heart Walk

AHA water stations and mile markers reminded us that we were doing it for the best cause ever: The people we love and the people of the past that have been lost due to heart disease. It’s a safe bet that if you don’t know someone directly affected by heart disease, you will eventually. The American Heart Association organizes these fundraisers and walks every year across the world to gather donations and raise awareness so that one day, we may be able to conquer this silent killer. With their donations, they’re able to participate in research for preventative treatment, provide education to children to avoid obesity and fund medical research that could one day breakthrough and save lives.

All in all it was a wonderful experience, one that I’ll definitely be sure to be a part of next year.

-Cassandra

SoftLayer Heart Walk