Posts Tagged 'API'

April 7, 2011

Thou Shalt Transcode

Deep in the depths of an ancient tomb of the great Abswalli, you and your team accidentally awaken the Terbshianaki ghost army. You’re disconnected from the supply caravan with the valuable resources that could not only sustain your journey but also save your team. As Zeliagh the Protesiann hunter fires his last arrow, you come to the sudden realization that continuing your quest is now hopeless. Alas, true terror was unknown before this moment as you come to the most surprising realization: The one thing you truly can't live without is your trusty server that converts one type of media into another.

Fear not great adventurer, for I, Phil of the SLAPI, have come, and I bear the gifts of empowerment, automation and integration. Freedom from the horror of your epiphany can be found in our complementary media transcoding service.
Before we can begin, some preparation is required. First, you must venture to our customer portal and create a transcoding user: Private Network->Transcoding. As you know from the use of your other SoftLayer spoils, you shan't be obligated to access this functionality from your web browser. You can summon the API wizardry bequeathed to you by coders of old in the the SLDN scroll: SoftLayer_Network_Media_Transcode_Account::createTranscodeAccount.*

*For the sake of this blog, we'll abbreviate "SoftLayer_Network_Media_Transcode_Account" as "SNMTA" from here forward ... Shortening it helps with blog formatting.

You must then construct an object to represent a SoftLayer Network Media Transcode Job, like our SoftLayer Network Media Transcode Job template object. This template object will be built with a number of properties. Your pursuit in relieving your aforementioned horror only necessitates the use of the required properties.

You will need to decide in which format the final treasure will take form. You may find this information with the SNMTA::getPresets method.

$client = SoftLayer_SoapClient::getClient('SoftLayer_Network_Media_Transcode_Account', $trandcodeAccountId, $apiUsername, $apiKey);
$transcodePresets = $client->getPresets();
    [0] => stdClass Object
            [GUID] => {9C3716B9-C931-4873-9FD1-03A17B0D3350}
            [category] => Application Specific
            [description] => MPEG2, Roku playback, 1920 x 1080, Interlaced, 29.97fps, 25Mbps, used with Component/VGA connection.
            [name] => MPEG2 - Roku - 1080i
    [1] => stdClass Object
            [GUID] => {03E81152-2A74-4FF3-BAD9-D1FF29973032}
            [category] => Application Specific
            [description] => MPEG2, Roku playback, 720 x 480, 29.97fps, 6.9Mbps, used with Component/S-Video connection.
            [name] => MPEG2 - Roku - 480i
    [2] => stdClass Object
            [GUID] => {75A264DB-7FBD-4976-A422-14FBB7950BD1}
            [category] => Application Specific
            [description] => MPEG2, Roku playback, 720 x 480, Progressive, 29.97fps, 6.9Mbps, used with Component/VGA connection.
            [name] => MPEG2 - Roku - 480p

The freedom to use this power (the more you know!) is yours, in this instance, I scrolled through let my intuition find the option which just felt right:

stdClass Object
            [GUID] => {21A33980-5D78-4010-B4EB-6EF15F5CD69F}
            [category] => Web\Flash
            [description] =>
            [name] => FLV 1296kbps 640x480 4x3 29.97fps

To decipher this language we must know the following:

  1. The GUID is the unique identifier which we will use to reference our champion
  2. The category section is used to group like presets together, this will be useful for those who's journey leads down the path of GUI creation
  3. A description of the preset, if one is available, will be listed under description
  4. name is simply a human-readable name for our preset

You are nearly ready to restore your yearned for transcoding service as the ghostly horde presses the defensive perimeter. We have but one more task of preparation: We must provide the transcoding service a file! Using your Wand of File Transference +3, or your favorite FTP client, you enter the details for your transcode FTP account found on the Transcoding page of the IMS (or of course SNMTA::getFtpAttributes) and choose the "in" directory as the destination for your source file. Lacking no other option, you may call upon Sheshura, a fairy sprite, specializing in arcane documents for a source video file: Epic Battle

The battle rages around you, as the Wahwatarian mercenaries protect your flank. The clicking of your laptop keys twist and merge in the air around your ears only to transcend into a booming chorus of "The Flight of the Valkyries" as you near transcoding Utopia. You strike:

//  Create a transcoding client
$client = SoftLayer_SoapClient::getClient('SoftLayer_Network_Media_Transcode_Job', null, $apiUsername, $apiKey);
// Define our preset GUID and filename
$presetGUID = '{95861D24-9DF5-405E-A130-A40C6637332D}';
$inputFile = '';
 * The transcoding service will append the new file extension to the output file
 * so we strip the extension here.
$outputFile = substr($inputFile, 0, strrpos($inputFile, '.'));
try {
    // Create a SoftLayer_Network_Media_Transcode_Job template object with the required properties
    $transcodeJob = new stdClass();
    $transcodeJob->transcodePresetGuid = $presetGUID;
    $transcodeJob->inputFile = "/in/$inputFile";
    $transcodeJob->outputFile = "/out/$outputFile";
    // Call createObject() with our template object as a parameter
    $result = $client->createObject($transcodeJob);
    // $result will contain a SoftLayer_Network_Media_Transcode_Job object
} catch ( Exception $e) {
    die( $e->getMessage());

If your will did not waver nor did your focus break in the face of ever-closing ghouls pounding your resolve, your treasure will be waiting. Brandish your Wand of File Transference +3, or utilize your favorite FTP client to retrieve your reward: "out/video.flv"

If the gods be with thee, your resulting file should look like this: Epic Battle (in .flv)

With your victory fresh upon the tablets of history, you can now encode to any of our supported formats. Try using the process above to convert the video to .mp4 format so your resulting file output is Epic Battle (in .mp4)!


P.S. If you're going to take off your training wheels, the second example uses "[description] => MPEG4 file, 320x240, 15fps, 256kbps for download" for the bandwidth impaired.

March 1, 2011

API Basics: REST API - "Hello World"

Learning SoftLayer's API
When I first started to look at SoftLayer's API, I favored the SOAP programming interface because I liked the strictly formatted XML responses, the good separation of concerns (using the server as proxy for data retrieval) and the increased security. All of these are great reasons to use the SOAP interface, but once I saw how easy and direct the REST interface is, I decided that I would use it as my cornerstone for learning the SoftLayer API.

Although the REST software archetype is a difficult concept to explain, its practice has become natural to those of us who use the internet daily. Imagine that the information that you want to know is saved as a web page somewhere and all you have to do is type in the URL, it will prompt you for a username and password, and you will see the information that you requested.

Before making a request you will need to find your API authentication token. To do this, log into your customer account and click API under the Support tab. Click the "Manage API Access" link. At the bottom of the next page you will see a drop-down menu that says "Select a User" and above it a tag that says "Generate a new API access key." Select a user and click the "Generate API Key" button. You will see your username and the generated API key for that user. Copy this API key, as you'll need it to send commands SoftLayer's API.

"Hello World"
Unfortunately, there is no specific "Hello World" command in SoftLayer's API, but there are some commands that are very simple and don't require any variables, like the getObject() method. APIs are like component libraries, split into web services and methods of that service. The SLDN has a full list of SoftLayer's web services to choose from. I am going to use the getObject() method from the SoftLayer_Account service in this example:

  • You will be prompted for your username and API access key
  • XML data type output

  • Automatic authentication
  • JSON data type output

The Request
Here is the basic REST request structure:

<code>https://<u><em>username</em></u>:<u><em>API key</em></u><u><em>serviceName</em></u>/<u><em>InitializationParameter</em></u>.<u><em>returnDatatype</em></u></code>
  • All requests are sent via secure transfer (https://)
  • Listing your username and API key before the URL allows for automatic HTTP authentication
  • Service and serviceName both refer to the web service you are trying to access
  • InitializationParameter is only used if the method you are calling requires an initialization Parameter
  • SoftLayer's REST API can respond with either JSON or XML data types; replace returnDatatype with the type you would like to receive.

The Data
Looking at the first link above, your browser should be able to output the response data in XML format, showing information about your account. More information about the format of the data can be found on the SLDN wiki.

REST Basics
When you start integrating this into a website you will want to get/make a function or library to handle advanced requests and to properly receive and disperse the response; I recommend using JQuery. This is the most basic example of a function call for SoftLayer's API, I hope that it will help you get a feel for the information that you will need to pass to our server and the kind of response that you will receive.


February 17, 2011

API Basics: REST

What is REST?
"Representational State Transfer," or REST, is a style of software architecture designed to relate different types of hypermedia to each other for distribution. The basic concept of REST is that a client application can request information from a server in the form of a representation of a resource without actually downloading an entirely new resource. This is how the World Wide Web works.

The World Wide Web
A browser is a client side application which requests information from a server; the server then accepts the request and transfers data back to the browser. The data transferred is not an application; it simply gives instructions to the client-side application (the browser), which then uses those instructions to properly display some information. Downloading information from a server changes the application state of the browser. The result of that change in state is a new website, which is therefore named the new state, so when new websites are downloaded by a browser, it is transferring representational data for a new application state.

How does REST relate to SoftLayer's API?
SoftLayer's API has many different avenues for implementation; one of these avenues is simple data transfer using the GET method in HTTP. Hyperlinks are one of the most basic examples of REST in action. When the user clicks on the hyperlink it requests information from the server and responds by transferring back representational data, in this case the data is expressed as either XML or JSON.

What are the disadvantages of using a REST API?
REST requests must contain all information, including authentication, within the URL. This can lead to security threats somewhere down the line. Luckily, SoftLayer allows you to add any number of users to your account, and then restrict their access to specific servers/services. This way your customers can utilize SoftLayer's API without a security risk to you or each other. They can even create their own users and further restrict access.

What are the advantages of using SoftLayer's REST API?
Direct client to server communication is the biggest advantage of using REST. The other protocols that SoftLayer uses to communicate data to the API require server-side scripting; this means that you will have to program your websites to use the host server as a proxy for calling SoftLayer functions. With REST you can directly link to the information that you want to display, using XLST or JavaScript to display it. You can also use AJAX with JSONP or script injection to dynamically update your webpage.

The REST archetype is the most natural API for HTTP. This sets it above others in that there are no secondary programs needed to interact with HTTP (like SOAP), which means less computing time and better performance. REST APIs also don't need to use a proxy server for remote procedure calls. This decreases server load and bandwidth usage and further increases website performance. SoftLayer's REST API is easy to implement, and with SoftLayer's tiered user system its security flaws can be eliminated. This is why I prefer SoftLayer's REST API over the others.

Basic REST function calls are detailed in the SoftLayer Development Network (SLDN) here.


February 2, 2011

API Basics: What is SOAP?

What is SOAP?
"Simple Object Access Protocol" - SOAP is a method and format for sending XML from one server to another via HTTP. SOAP allows you to have remote database servers which supply information to power your website. The best part about SOAP is that it is universal and secure. This means that big companies like SoftLayer can open their databases for you to gather the information that you need to keep your customers up to date. This kind of complete transparency is what makes SOAP (and any other supported API) an invaluable asset to SoftLayer customers. In order to fully understand SOAP, you will need to know about markup languages, namespaces and a little about the protocols used to implement it.

Markup Languages?
The term "markup language" is derived from when teachers/editors would make corrections to a written article, using shorthand for what needed to be corrected. A markup language is just a document with a few special symbols used to separate some text as "markup;" this text can then be used by other programs to perform tasks. Markup languages are declarative programming languages, so they contain data and talk about data, but they don't actually have instructions about what to do with the data. HTML, XML and LaTeX are all variations of markup languages.

Markup languages can be used for all kinds of different things, but the most common markup language used in web design is Hyper Text or HTML. HTML uses predetermined markup "tags" to describe data for browsers to display; it is the basic building block of all websites. SOAP uses XML to transfer data from server to server.

What is XML?
"Extensible markup language" - XML is a markup language dedicated to presenting data to different applications. Unlike HTML, XML has no dedicated markup tags; instead, you can create any type of tag you want. In XML, the tags describe and define the data that they contain. Applications can easily pull just the data that they need, no matter what is in the document. In this way an XML can be expanded without causing application errors, making it "extensible." Due to the free form of XML tags, sometimes you want multiple tags to have the same name; this is possible with XML namespaces.

How do XML Namespaces work?
Namespaces are used to group XML elements so that parsing programs won't confuse different elements that have the same name. Namespaces have to be defined by a "universal resource identifier" or URI; essentially, they have to be universally unique. This is why the WC3 chose to use website URLs as the standard naming convention. This can lead to some confusion when looking at XML namespaces, though. Information is not transferred to or from the websites; they don't even have to resolve, parsing programs read the URLs as basic text strings. SOAP uses a few pre-determined namespaces to define key information, but the most important thing about SOAP is its ability to work as an RPC-type protocol.

"Remote procedure calls" are connections created between two or more servers for the sole purpose of enacting programs or procedures on a remote server. RPCs start at the client, sending a request to the remote server with a procedure name and perameters for the procedure. The request has to be in a very strict format, that way the host server doesn't have to know anything about the language that the client is using. SOAP makes RPCs over HTTP because it is the most accessible protocol; very few firewalls block HTTP, and SOAP makes use of headers similar to HTTP headers to provide encoding and security information.

So, What is SOAP?
In short, SOAP is a very strictly formatted XML document which uses XML namespaces to define key elements of data, sent via HTTP, in order to enact procedures on a remote server, and sometimes receive data in response to those procedures.


January 13, 2011

API Basics: What is the API?

Over the past few years, there has been a dramatic increase in the use of APIs, or Application Programming Interfaces. An API allows a developer to create software that directly interfaces with another system. A simple example would be an online retail site that drop ships products from a distributor. Without an API, the retail site administrator might have to manually update stock availability and product information, but with an API, the retail site administrator can link directly to the distributor's database to display real-time stock and product changes.

SoftLayer has taken this concept to a whole new level. Most APIs are added to an existing system allowing the developer to interact with a small part of the overall architecture. SoftLayer took a different approach. We built our entire system on the API. This means anything you can do from our Portal, you can do via the API.

The breadth of the API can be seen in its current use cases. On one end of the usage spectrum, customers simply incorporate a few API calls to keep track of their hosting account details like bandwidth usage and invoice information. On the other end, users have built the API into complete management systems that allow control over all aspects of their SoftLayer experience - essentially a custom, personalized portal.

What gives an API its true power is its ability to automate. In a standard system, you can plans for any situation, but someone needs to see the situation and react to it. With the API, the system can automatically react. For example, an administrator could design a system that requires a minimum number of IP addresses for every X number of clients on a server. If a new client is added to the server and a new IP address is needed, the administrator's application can use the API to automatically request an additional block of IPs to be provisioned to the server.

This level of automation can be taken even further: A system is in place that needs to dynamically scale based on traffic. With the power of the API and the use of Cloud Instances, this can be achieved. By designing a system to monitor the current traffic trends, when certain thresholds are reached, the system can automatically request additional instances to be provisioned or excess instances to be removed from the pool and terminated. This system would function without any manual intervention to recognize the issue and react to it. Obviously, the real-time automation saves money because instances are turned up and turned down as they are needed, and it ensures your systems stay up and running. It might even let your systems administrator get a full night of sleep.

There is no limit to the potential applications of the SoftLayer API. Whether you are an individual just starting to program or have a team of developers with years of experience, the API has the tools that you will need to get started.


January 3, 2011

I'm Dreaming of TV Commercials

With GI Partners' investment into SoftLayer last August and the subsequent merger with The Planet in November, I haven't had a spare moment to write a blog. As I write this, it's just before year end 2010, and now that we are the largest privately held pure-play hosting company in the world, I sort of wonder how soon it will be before SoftLayer TV commercials start popping up. Hey, maybe one day we'll do a Super Bowl commercial! We always dream big.

Thus, I thought I'd try my hand at a script for our first commercial:


IT GUY is on phone to SERVER SUPPLIER.


We need another 50 servers as fast as you can get them to us – we are out of capacity and the big guns are demanding better email performance and lower latency for incoming orders and customer service traffic. I wish I could have them tomorrow, but…


Yeah, we can't do tomorrow. Let's see, I think I can squeeze them into next week's production run and then expedite shipping. We can probably have them on your dock in 12-14 days.


Oh boy. I don't know if that will be good enough. I'm caught between a rock and a hard place. I have accounting on my case about minimizing lowly utilized machines while sales, marketing, and operations whine about not keeping enough spare capacity to handle business spikes. I can't win.


Ouch. Wish I could get them there faster, but 12 days is our best-case scenario for you.


OK, thanks for trying. Go ahead and get them here as fast as you can.


You wanna order a few more for a cushion?


Not if I don't want the CFO complaining to my boss about me over ordering – again.


I understand. We'll go with the 50 for now.

IT GUY hangs up the call, still stressed out, talks to himself.


Geez. It'll take the full 14 days to get here. Then we have to rack them, cable them, test them, then provision them. It could be a month before they go live in production. I'm doomed.

Another employee – IT GAL – walks up. She has a cheerful, stress-free demeanor.


So, why do you look so 'doomed'?


The business units I support need 50 new servers by yesterday. I'll be lucky to have them online and in production in a month.


What? Why so long?


Well, that's how long it will take them to be built, and shipped, and racked, and cabled, and tested, and provisioned, and...


[Cuts him off.] You should just use SoftLayer.


What? Who's that?


That's who I use in a pinch. Heck, it's who I use most all the time for infrastructure for the groups I support.


How's that?


Here, let me drive.

IT GUY stands up. IT GAL sits down at his workstation. Move to screen shots of customer portal where applicable.


Here's my account at SoftLayer. Notice that I have servers as my foundation combined with cloud computing capacity that I can adjust on the fly and pay for it by the hour. If I need more power, I ramp up the cloud portion and boost my computing power in 5 minutes – not a month. Here, I'll show you. Click here, Click here and voila! I just added another cloud server. It'll be in production in 5 minutes. It's an hourly machine, so I can release it at the end of the day and it will cost me less than $20.


But how do your groups know that the new cloud server is out there for use?


I use SoftLayer's API connections. To them, it looks like any other server that's available on our corporate network.


It's that easy?




So how do you comply with our backup plan guidelines and disaster recovery planning?


Easy. The production data lives in SoftLayer's Dallas facility. I back it all up at their Seattle facility, and the data moves over SoftLayer's private network that isn't exposed to the public internet. And all transit on the private network is free and doesn't count against my public internet bandwidth limits.


Speaking of bandwidth, what if one of those servers goes over its limit? Do you get hit with overage charges?


No. SoftLayer offers bandwidth pooling between servers as well as global load balancing. You can add it on the fly too.




Also on the fly. No downtime at all.


Wow, I never knew a place like this existed. How do I get started? And how does your department pay for it?


You've got a corporate purchasing card, right?




Give them a call, order your servers, and pay with that card. It's a month-to-month contract. Just give 24 hours notice to cancel. Your first setup will take about 4 hours, but you'll be home at dinner tonight with your 50 new servers online. Not a month from now.


Thanks for the info! Boy, that's a relief.


After calling SoftLayer, don't forget to cancel that order of 50 to come here in a month.


That'll be a pleasure.

Screen fades to black. Graphics appear.

SoftLayer. It's That Easy.


September 7, 2010

Who you gonna call?

I ain’t afraid of no bathtub. Or rather I wasn’t afraid of no bathtub. Seventy two hours and twelve hundred dollars ago, I wasn’t afraid of the bathtub, toilet or sink. Now I’m not so sure. What am I talking about? Perhaps I better start at the beginning.

A few weeks ago, I had a general contractor come out to my house. One of my bathrooms was in pretty bad shape and I wanted to give it a face lift. I figured it was a small job. New sink, new toilet, new tub. Splash some paint on the walls. Throw down some tiles. Viola!

The contractor, let’s call him Al, came highly recommended from a buddy of mine who recently had some work done. Al spent about 20 minutes looking at my bathroom, (which I thought was about 10 minutes too long considering we’re talking about a 6 foot by 8 foot room), and then asked if he could sit down at my kitchen table. He pulled out a number two pencil, yellow pad, and a calculator, then began scribbling.

When he was finished he passed the tablet my way, and somewhere near the bottom of the page circled a couple times for emphasis was: 6K. I don’t come from a long line of mathematical wizards, (see, but if six times eight equals forty-eight that comes out to something like $125 per square foot.

“Thanks for your time,” I said, handed Al back his notebook, and showed him to the door.

The following weekend, my son and I went up to Lowe’s. We needed some light bulbs. Well it just so happens that within rock throwing distance of the light bulbs were the bathtubs. And don’t you know once we walked in that direction, we were within eyeshot of the sinks, toilets, vanities, you get the idea.

Quickly, (okay moderately), I began adding up the raw materials in my head. Tub, sink, toilet, light fixtures, I could easily get everything I needed for about a grand. I was inspired. I’m reasonably bright, semi-competent with a hammer, and come to think of it, among other things my grandfather was a plumber for a number of years. Surely that’s the sort of thing handed down generation to generation through DNA—right?

At some point I must have gotten “that look” in my eyes because my son asked which tub we were getting, and could we hurry up please so he didn’t miss “Minute to Win It”.

As with any project, I think it’s best to break a job down into manageable chunks, and as I saw it, there were five obvious tasks at hand: the tub, the toilet, the sink, the walls, and the floor. I started with the tub, because quite frankly the idea of knocking ceramic tiles off the shower wall with a hammer sounded like a blast.

It was fun too. So much so that my son turned off the TV in the living room, opting to get a hammer of his own and help. The dog even ventured as far as the threshold to see what all the commotion was and for about twenty minutes tiles were raining down, and hammers were thwacking, and I was thinking to myself: six thousand dollars my butt—I should charge for the pleasure of demolishing my wall. That’s when I noticed an unpleasant odor.

I looked at my son, who was looking at me, and then we both turned and looked at the dog who promptly let out a whimper and ran off in search of breathable air. The odor quickly elevated itself to the title of stench and the adjective unpleasant was upgraded to down-right-nasty. At the risk of permanent blindness I poked my head into the hole where the drywall had been.

My eyes were watering and it was too dark to see. Knowing a lighter in this situation was not the way to go I sent my son for a flashlight. Even with the flashlight I could find nothing to explain the foul odor and when stuffing the holes with rags and shutting off the room failed to alleviate the level red pollution watch that rapidly spread throughout the house, my son, the dog, and myself were forced to evacuate and check into a hotel.

It took the plumber six hours at weekend rates to cap off the leak, and two more days to actually repair the problem. Including the night at the hotel, my experiment in bathroom remodeling has tallied up to just about twelve hundred dollars. And really, considering my original task break down, I’ve only completed 1/5th of the job. As I already mentioned, I don’t come from a long line of mathematical wizards, (if you missed it the first time see, but twelve hundred times five is 6K.

I guess what I’ve learned is that sometimes you have to call in the pros and just maybe extend a little trust—especially if that pro comes highly recommended. I’m a wiz when it comes to programming low-level utilities, system software, and drivers. That’s why SoftLayer hired me. But I’m no plumber.

My point is each of us has our own area of expertise. We can’t all be everything, and the same is true when it comes to a business. Whatever your business is, you are undoubtedly good at it. But take it from me you can’t be an expert at everything.

SoftLayer comes highly recommended, do a simple Google search and you’ll find customer after customer raving about our support, our reliable network, our flexible API. And we know Information Technologies inside and out. We have hardware engineers, software engineers, support engineers, and some of the most knowledgeable sales folks I’ve ever met anywhere.

Sometimes it just makes more sense to concentrate on your core competencies. The next time you require dedicated computing resources or cloud services, pick up the phone and give SoftLayer a call. You’ll be glad you did. Oh, and the next time you need a plumber, well, I have a guy for that too I can recommend these days.

July 29, 2010

What Makes SoftLayer Different?

I often get asked “what makes SoftLayer different?” The problem with that simple question is – SoftLayer is so different from all the competition out there that it’s not a simple question to answer. I have my standard version that I run thru – but I’m not sure people really grasp how different SoftLayer really is. After talking to my wife, she recommended doing a Letterman style top 10 reason why SoftLayer is different. I figured I would give it a shot – so here it is..

  1. SoftLayer terminates 40Gbps to every single rack!! 20Gbps to the public internet and 20Gbps to the private network.
  2. SoftLayer offers three types of VPN services for out-of-band connectivity (SSL, PPTP, IPSEC)
  3. SoftLayer manages its own nationwide MPLS network with 10 PoPs and over 1000Gbps of transit and peer connectivity
  4. SoftLayer offers free enterprise grade DNS services through our DNS farms located in all 10 PoPs in North America
  5. SoftLayer has over 1600 APIs for custom integration, a full service control panel for ease of use and a private label option for resellers
  6. Every single server in every datacenter is a rackmount, hotswap, tool-less chassis offering enterprise grade hardware with ultra-fast modifications
  7. SoftLayer has downloadable iPhone, Android and Blackberry apps in addition to our mobile phone friendly .mobi site for complete control.
  8. Only hybrid solution available – dedicated, virtualized, and cloud instances operating in a single environment and control thru a single interface or API
  9. Private Network – connect any server to any other server in any datacenter with a click of a button
  10. Fastest service delivery
  • Over 1000 servers in stock
  • Dedicated servers – 4 hours or less
  • Servers with virtualization – 2 hours or less
  • Cloud instances & storage – 5 to 15 minutes
  • Firewalls, Load Balancers, SAN Storage – added real time w/ no downtime


July 6, 2010

SoftLayer API Updates

Our API has gone through more than a few changes since the middle of 2006 when it was first released in beta to a few of our customers. Since then, it has grown from a handful of available features to your one stop shop for infrastructure automation needs. Providing all the functionality our customer portal has, plus putting automation in your/the customers’ hands that was only dreamed of a few short years ago. We have a few NEW note worthy features we just released concerning the API that numerous people have asked for. So here goes:

1.Opened the API up to the public network

We now have two ways to access the SoftLayer API. The first is the same method you have been using utilizing our private network. Some developers have asked for a way to bypass the VPN and private network. So we have added a publicly accessible entry point for the API in addition to the private network. This should open up your development to new exciting desktop widgets and consumption of our API for external software projects without requiring the VPN overhead. More information is available in the SLDN wiki.

2. RESTful web services

We added a simple Representational State Transfer (REST) interface to the arsenal of already supported SOAP and XML-RPC protocols. REST is great if you want to perform simple requests that do not require the complexity of SOAP and for simple integration into AJAX related operations on web pages.

3.New documentation

We have just revised our documentation located in the SLDN wiki. We added more examples, updated connection information for public access and usage for our new REST protocol support. We have also been busy working on our growing collection of open source projects.

4.New Code Samples

As you may or may not have heard Softlayer has a github account now. We are uploading projects and examples as fast as we can. You might want to check out Stratos a white label portal example, Client libraries for Python, Perl and PHP, as well as our growing gist examples which outline common tasks requested by customers.

We would love to hear any feature requests you are looking for, so let us hear from you.

January 22, 2010

A Little History Lesson and Reflection

In this industry, it seems very easy to get in the rut of looking forward without stopping to take the time and look back. Whether it is a project deadline or just planning for the future, past accomplishments sometimes get lost in the day to day workload. I remember back on January 23rd of 2006—exactly four years ago tomorrow—when we opened the doors. We had 17 employees and around 1,000 servers in our one and only Dallas server room. With just 17 employees you can imagine we wore many hats, and I will not miss or take for granted prepping racks such as putting cage nuts or rails in ever again.
From our humble beginnings, things grew at a rapid pace to say the least. Over the last four years, we have grown to 175 employees, 25,000+ servers spanning facilities in Dallas, Seattle, and Washington D.C. and just recently passed $100 million annualized run rate mark. Not too shabby for four years, if I do say so myself.
The product and service offering have grown at an astounding pace as well. Thanks in part, I think, to our API—launched publicly in May of 2007. Was that over two years ago? It seems like yesterday. On top of that, there have been too many individual products to list here. Some highlights would fall into the areas of: CloudLayer, StorageLayer, backup solutions, and security solutions—just to name a few!
Looking forward I think 2010 is going to be a big year for SoftLayer, not that the past years haven’t been. I cannot get into any details; but, as usual there are big plans on the horizon, and you know we aren’t planning on slowing down anytime soon. Looking back, it has been a packed and crazy four years, but I would not trade it for anything.

Subscribe to api