Posts Tagged 'Opportunity'

August 2, 2012

Meet Memcached: A Developer's Best Friend

Whether you're new to software development or you've been a coder since the punchcard days, at some point, you've probably come across horrendous performance problems with your website or scripts. From the most advanced users — creating scripts so complex that their databases flooded with complex JOINs — to the novice users — putting SQL calls in loops — database queries can be your worst nightmare as a developer. I hate to admit it, but I've experienced some these nightmares first-hand as a result of some less-than-optimal coding practices when writing some of my own scripts. Luckily, I've learned how to use memcached to make life a little easier.

What is Memcached?

Memcached is a free and open source distributed memory object caching system that allows the developer to store any sort of data in a temporary cache for later use, so they don't have to re-query it. By using memcached, a tremendous performance load can be decreased to almost nil. One of the most noteworthy features of the system is that it doesn't cache EVERYTHING on your site/script; it only caches data that is sure to be queried often. Originally developed in 2003 by Brad Fitzpatrick to improve the site performance of LiveJournal.com, memcached has grown tremendously in popularity, with some of the worlds biggest sites — Wikipedia, Flickr, Twitter, YouTube and Craigslist — taking advantage of the functionality.

How Do I Use Memcache?

After installing the memcached library on your server (available at http://memcached.org/), it's relatively simple to get started:

<?php
  // Set up connection to Memcached
  $memcache = new Memcached();
  $memcache->connect('host', 11211) or die("Could not connect");
 
  // Connect to database here
 
  // Check the cache for your query
  $key = md5("SELECT * FROM memcached_test WHERE id=1");
  $results = $memcache->get($key);
 
  // if the data exists in the cache, get it!
  if ($results) {
      echo $results['id'];
      echo 'Got it from the cache!';
  } else {
    // data didn't exist in the cache
    $query = "SELECT * FROM memcached_test WHERE id=1");
  $results = mysql_query($query);
  $row = mysql_fetch_array($results);
  print_r($row);
 
  // though we didn't find the data this time, cache it for next time!
  $memcache->set($key, $row, TRUE, 30); 
  // Stores the result of the query for 30 seconds
  echo 'In the cache now!';
 
  }
 
?>

Querying the cache is very similar to querying any table in your database, and if that data isn't cached, you'll run a database query to get the information you're looking for, and you can add that information to the cache for the next query. If another query for the data doesn't come within 30 seconds (or whatever window you specify), memcached will clear it from the cache, and the data will be pulled from the database.

So come on developers! Support memcached and faster load times! What other tools and tricks do you use to make your applications run more efficiently?

-Cassandra

July 12, 2012

An Insider's Look at SoftLayer's Growth in Amsterdam

Last week, SoftLayer was featured on the NOS national news here in the Netherlands in a segment that allowed us to tell our story and share how we're settling into our new Amsterdam home. I've only been a SLayer for about nine months now, and as I watched the video, I started to reflect on how far we've come in such a surprisingly short time. Take a second to check it out (don't worry, it's not all in Dutch):

To say that I had to "hit the ground running" when I started at SoftLayer would be an understatement. The day after I got the job, I was on a plane to SoftLayer's Dallas headquarters to meet the team behind the company. To be honest, it was a pretty daunting task, but I was energized at the opportunity to learn about how SoftLayer became largest privately owned hosting company in the world from the people who started it. When I look back at the interview Kevin recorded with me, I'm surprised that I didn't look like a deer in the headlights. At the time, AMS01 was still in the build-out phase, so my tours and meetings in DAL05 were both informative and awe-inspiring.

When I returned to Europe, I was energized to start playing my role in the company's new pursuit of its global goals.

It didn't take long before I started seeing the same awe-inspiring environment take place in our Amsterdam facility ... So much so that I'm convinced that at least a few of the "Go Live Crew" members were superhuman. As it turns out, when you build identical data center pods in every location around the world, you optimize the process and figure out the best ways to efficiently use your time.

By the time the Go Live Crew started packing following the successful (and on-time) launch of AMS01, I started feeling the pressure. The first rows of server racks were already being filled by customers, but the massive data center space seemed impossibly large when I started thinking of how quickly we could fill it. Most of my contacts in Europe were not familiar with the SoftLayer name, and because my assigned region was Europe Middle East and Africa — a HUGE diverse region with many languages, cultures and currencies — I knew I had my work cut out for me.

I thought, "LET'S DO THIS!"

EMEA is home to some of the biggest hosting markets in the world, so my first-week whirlwind tour of Dallas actually set the stage quite nicely for what I'd be doing in the following months: Racking up air miles, jumping onto trains, attending countless trade shows, meeting with press, reaching out to developer communities and corresponding with my fellow SLayers in the US and Asia ... All while managing the day-to-day operations of the Amsterdam office. As I look back at that list, I'm amazed how the team came together to make sure everything got done.

We have come a long way.

As I started writing this blog, BusinessReview Europe published a fantastic piece on SoftLayer in their July 2012 magazine (starting on page 172) that seems to succinctly summarize how we've gotten where we are today: "Innovation Never Sleeps."

BusinessReview Europe

Our first pod is almost full of servers humming and flashing. When we go to tradeshows and conferences throughout Europe, people not only know SoftLayer, many of them are customers with servers in AMS01. That's the kind of change we love.

The best part of my job right now is that our phenomenal success in the past nine months is just a glimmer of what the future holds. Come to think of it, we're going to need some more people.

-@jpwisler

April 12, 2012

HTML5 - Compatibility for All?

Many of us remember when Flash was the "only" way to enhance user experience and create rich media interactivity. It was a bittersweet integration, though ... Many users didn't have the browser compatibility to use it, so some portion of your visitors were left in the dark. Until recently, that user base was relatively small — the purists who didn't want Flash or the people whose hardware/software couldn't support it. When Apple decided it wouldn't enable Flash on the iPhone/iPad, web developers around the world groaned. A HUGE user base (that's growing exponentially) couldn't access the rich media and interactive content.

In the last year or so, Adobe released Flash Media Server to circumvent the Apple-imposed restrictions, but the larger web community has responded with a platform that will be both compatible and phenomenally functional: HTML5.

HTML5 allows us to do things we've never been able to do before (at least without the hassle of plugins, installations and frustration). Gone are the limitations that resigned HTML to serving as a simple framework for webpages ... Now developers can push the limits of what they thought possible. As the platform has matured, some developers have even taken it upon themselves to prototype exactly where this generation of scripting is heading by creating Flash-free browser games.

Yes, you read that right: Games you can actually play on your browser, WITHOUT plugins.

From simple Pong clones that use browser windows as the paddles and ball to adventure-based Zelda-like massively multiplayer online role playing games (MMORPGs) like BrowserQuest, it's pretty unbelievable to see the tip of the iceberg of possibilities enabled by HTML5 ... Though it does seem a bit ironic to say that a Pong clone is such a great example of the potential of the HTML5 platform. Click on the screenshot below to check out BrowserQuest and tell me it doesn't amaze you:

Browser Quest

With an ingenious combination of CSS, JavaScript and HTML5, developers of BrowserQuest have been able to accomplish something that no one has ever seen (nor would ever even have thought possible). Developers are now able to generate dynamic content by injecting JavaScript into their HTML5 canvasses:

<code>
function handleKeyDown(evt){
keys[evt.keyCode] = true;
}
 
function handleKeyUp(evt){
keys[evt.keyCode] = false;
}
 
// disable vertical scrolling from arrows :)
document.onkeydown=function(){return event.keyCode!=38 &amp;&amp; event.keyCode!=40}
</code>

Look familiar? The game-making process (not syntax!) appears eerily similar to that of any other popular language. The only difference: You don't need to install this game ... You just open your browser and enjoy.

Using a popular port of Box2D, a physics simulator, making pure browser-based games is as simple as "Make. Include. Create." Here's a snippit:

<code>
//Make your canvas
<canvas id="game" width="600" height="400"></canvas>  
 
//include your js physics files
 
// create your world
function createWorld() {
// here we create our world settings for collisions
var worldAABB = new b2AABB();
worldAABB.minVertex.Set(-1000, -1000);
worldAABB.maxVertex.Set(1000, 1000);
// set gravity vector
var gravity = new b2Vec2(0, 300);
var doSleep = true;
// init our world and return its value
var world = new b2World(worldAABB, gravity, doSleep);
return world;
}
</code>

We may be a few years away from building full-scale WoW-level MMORPGs with HTML5, but I think seeing this functionality in native HTML will be a sigh of relief to those that've missed out on so much Flash goodness. While developers are building out the next generation of games and apps that will use HTML5, you can keep yourself entertained (and waste hours of time) with the HTML5 port of Angry Birds!

Angry Birds

HTML5 is not immune to some browser compatibility issues with older versions, but as it matures and becomes the standard platform for web development, we're going to see what's to come in our technology's immediate future: Pure and simple compatibility for all.

-Cassandra

December 14, 2011

Startup Series: Tech Wildcatters

Tech Wildcatters is a mentor-driven technology startup accelerator led by entrepreneurs in the Dallas area. The 12-week "boot camp" runs every spring and fall, providing experience and exposure to the 8-10 companies selected to participate in each class. Dennis Dayman, a Tech Wildcatters partner and mentor, explains what Tech Wildcatters is all about and why they chose to partner with SoftLayer:

In the coming weeks, you'll meet a few of the startups that have benefited from the Tech Wildcatters program, and we'll share some of their post-accelerator success with you.

If you're interested in learning more about how you can participate in the Tech Wildcatters startup accelerator, visit http://techwildcatters.com. If you already know you want to take advantage of the opportunities Tech Wildcatters can provide, their simple online application is the only thing between you and your soon-to-be-huge business!

This post features an organization involved in the SoftLayer Startup Program. SoftLayer Loves Startups, so we want to help them fuel their success by providing hosting resources and expertise to new and growing businesses. In this series, you'll meet a few of the startups and incubators SoftLayer supports to learn more about the amazing things they're doing.
October 21, 2011

Why Don't You Work Here Yet?

I started my career with SoftLayer in March 2011 as a Server Build Technician, and after a few short months, I can safely say that coming here was one of the best moves I have ever made in my life. I have worked in a number of different jobs ranging from retail to shipping, but in my heart, I always knew I wanted a career in computer technology. SoftLayer made that dream come true.

When I started, I felt a bit overwhelmed with the amount of information I had to learn all at once. That feeling quickly subsided during the first week as I realized how the work environment and culture is built on employees who take great pride both what they do and the knowledge they are able to pass on to newcomers. I knew I was in good hands. I felt like I was a part of an elite group of intelligent, inspiring, funny, energetic and down to earth people.

Through the interactions I've had with my direct coworkers, my knowledge has grown tremendously, and I feel more confident in meeting and exceeding the expectations and responsibilities in front of me. The original SoftLayer culture is alive and well thanks to the efforts and example of the management team, and it doesn't take long to notice that this company has a passion for customer service, and we strive to be the very best we can be. Because of the encouragement and optimism I have been given, I see a bright future for me here.

As our operations expand, I can't help but get excited for the success in store for the business, our team and our customers. We're ready to embrace new challenges, and though the tasks seem daunting, I know our team can handle them easily. I take great pride in my work, and I'm quick to tell the SoftLayer story to anyone who will listen. The company motto is, "Innovate or Die," and every employee – from Dallas to Amsterdam to San Jose to Singapore – lives and breathes that motto daily. We're pushing the limits of what a "hosting company" can do, and we're having a lot of fun doing it.

I feel honored to say that I am a part of the SoftLayer family, and if you're in the market for a new job for an awesome employer, you should head to SoftLayer Careers to find which of the 50+ positions you'd fit so you can join us in Dallas, Houston, San Jose, Seattle, Singapore, Amsterdam or Washington, D.C.

We are SoftLayer!

-Anthony

November 19, 2010

What Does it Cost (Part 2)

Your People and How They Relate to Your Infrastructure

If you read my previous blog, “What Does it Cost (Part 1) - The Overview,” you may be interested to delve deeper into the conversation and math behind how all of this adds up. Essentially asking yourself “is it better to build infrastructure yourself?” is a good thing and you will inevitably try to ask yourself what does it cost to do so versus looking into “what would it cost to have SoftLayer do this for me since this is what their core competencies reside in?”.

Remember that one of the big lessons we can learn and that I re-learned at the conferences I attended is that your people are your biggest assets. This lesson is showcased and repeated several times and for good purpose, since this seems to be a time tested rule. While your people are a biggest assets they can also easily be one of your biggest costs especially if they are not managed properly. Every business should have a growth model but one thing that can hold you back is the cost of growth (or your growing pains).

Think about the amount of people you need when you run everything inside and what that will wind up costing. If your business, network, and uptime are all mission critical you’ll also need to take into consideration the number of people needed to make sure a facility is 24*7. You will need someone to fix a drive that brakes and needs to be replaced at 3:42AM, won’t you? Take the number of people that you think you’ll need and now consider what would happen if you were to double in size in a single year (or you could use your own timeline in your head). Would you need double the people or possibly more when you consider the needs of managers to make sure everything was in line with your business strategy? What would the cost be that you would need to pay when considering more than just their salaries.

Think of the other things that do not jump out at you immediately like taxes, insurance, a 401K plan, office space, other liabilities, etc. Gary Kinman (VP of Accounting and Finance) estimates that the cost of each additional employee is about 15-20% more than just the cost of their salary without including things like office space. This is one of the biggest aspects often overlooked, because it not only takes new people you would need to hire, but how it can monopolize time and production you would get otherwise from people you already have on staff.

Now, if you remember from part one I mentioned how Opportunity Costs are some of the biggest costs in the differences between how SoftLayer can help you versus doing things yourself. If you reverse the previous scenario and say that after you’ve just doubled in size there is a bust in the economy which causes you to have to contract. For starters the easiest way to cut back on spending is in people, so you may have to lay people off and ultimately make you the bad guy. Now here is where ugly gets really gruesome.

If you talked yourself into how cheap it can be to buy and do everything yourself you are in a real tight spot because now you may not have the necessary people to run all of your infrastructure, or in an even worse case scenario you may not even need it. What this spells out is that you keep something that cannot be used even though you are paying for it, and you had to let people go just to keep the rest of the boat afloat. Didn’t we say that our people are our most important asset earlier? You can’t always know what kind of worker someone will be when you hire them or how things will work out, but you do want to put yourself in a position to keep the good ones that you trust to push your business forward around and happy.

All right, that is enough doom and gloom scenario. Let’s look at this subject from another angle. As you grow in size generally everything you have and everything you use will grow right along the company. We covered the fact that it will probably become more and more obvious that you’ll need more people to do the work for your business. Hiring systems administrators, DBAs, and development staff can all be good moves that would impact your business specifically; however, are you putting them in the best position for them to be successful? Have you ever seen that show “Undercover Boss”? It seems that in a lot of the episodes you would see that a CEO was not cut out for doing a lot of other jobs in the company and would have a much greater appreciation of everyone who did all of those jobs and how hard they work. Sometimes they would have comments about if they were really trying to get that job they wouldn’t last long. Keep that thought in mind when asking these same Sys-admins, DBAs, and development staff to do jobs that they do not specialize in.

Taking your people in positions where they may get a grade of an “A” or a “B+” and putting them into different positions where they may get a “C-“, “D”, or even an “F” will not likely be good for production levels, decrease levels of morale, and will also likely tank the investment value made in the employees themselves and/or the infrastructure you purchase.

Bottom line is that the way the world is evolving is to work smarter, lessen risk, and (in drawing back to part 1) get more out of having less. The best way to avoid unnecessary risk is to not overextend yourself in the first place, and to stay in a position of flexibility so that you can react and adapt to the market around you. This is what SoftLayer is built for; keeping you with the most options in order to increase your ability to innovate and execute without sacrificing any level of control and without costing large sums of upfront capitol.

I am guessing that about 9 times out of 10 if you take the time to sit down and do the math it all makes perfect sense.

-Doug

Categories: 
October 15, 2010

How to Stop Worrying and Love the Network

I have recently discussed the network from a couple of perspectives. I have discussed the fact that traffic continues to grow at a furious pace, and the fact that SoftLayer spends a lot of time thinking about and designing our network to keep ahead of this growth. It makes sense to extend the discussion to the customer - what does any of this mean for me?

An increase in traffic means a couple of things. It means that there are more people joining the community - they might be in places that you have not considered yet (like India), but they are there. It is also true that the services and applications that people are using are getting more varied and sophisticated. There is another Facebook or Twitter waiting to happen. It might be in India or China, but it is going to come. Trust me. The business opportunity ahead is immense.

Whether they are consciously doing it or not, customers will work through a decision tree when they are choosing a hosting partner. Key discussions ought to occur that will address what happens in the data center and what happens in the network.

  • In the Data Center - A lot of what happens in the DC is similar across providers. Hosting companies choose from the same hardware vendors, picking from the same basket of processors, memory, storage and security. I am not so sure there is significant differentiation on the hardware side. However, there are significant differentiation points when it comes to implementation. What is the time frame between ordering a service and having the service live? What happens when I need to add another server? What happens when I become the next Twitter?
  • In the Network - I think that network is one of the most important pieces of the puzzle. I also think that is gets overlooked. It does not matter how good the DC is managed, or how great your application is, if your customers cannot get access to your stuff, it does not matter how many or whose processors you use or how much RAM you have onboard or what firewalls are in place or what your storage architecture looks like. The only thing that matters is if YOUR customers can use YOUR app. Nothing else, nobody else matters.

We get it - that's why SoftLayer puts terrific effort into architecting our network. It’s why we have 10 carrier partners with 1000 GB of capacity. It’s why our new Dallas facility has bonded 2X1 Gbps links to both our private and public networks. It’s why we are deploying 10 Gbps servers. And its why we are thinking about next year, not just about tomorrow.

We are ready for whatever comes next. The question is: Are you?

-@quigleymar

Subscribe to opportunity