SoftLayer Technologies (tm)
Divider Forums Divider Portal Divider SPacer Divider About Divider KnowledgeLayer Divider InnerLayer
 

Posts Tagged ‘programming’

From the outside looking in

By Daniel McAloon on Friday, March 14th, 2008

Recently, as you know, SoftLayer released the new API version 3. We have all been working very hard on it, and we’ve been completely immersed in it for weeks (months, for some of us). This means that, for the developers, we’ve been living and breathing API code for quite some time now. The time came to release the API, and as many of you know, it was a smashing success. However, we were lacking in examples for its use. Sure, we all had examples coming out our ears since the customer portal itself uses the API, but those were written by the same developers that developed the API itself, and therefore were still written from an insider’s perspective.

So a call went out for examples. Many people jumped on the list, offering to write examples in a variety of languages. I thought I would tackle writing an API usage example in Perl. Perl, for those of you unfamiliar, is an infamous programming language. Flexible, confusing, fantastic and horrifying, it is the very embodiment of both “quick and dirty” and “elegance.” It is well loved and well loathed in equal measure by the programming community. Nevertheless, I have some experience with Perl, and I decided to give it a try.

I will attempt to describe my thought process as I developed the small applications (which you should be able to locate shortly in the SLDN documentation wiki) throughout the work day.

9am: “Wow, I really don’t remember as much Perl as I thought. This may be difficult.”
10am: “I need to install SOAP::Lite, that shouldn’t be hard.”
11am: “Where the heck are they hiding SOAP::Lite? There are articles about it everywhere, but I can’t actually find it or get it installed!”
12pm: “Ok, got SOAP::Lite installed, and my first test application works perfectly! Things are going to be ok! Wait…what’s all this about authentication headers?”
1pm: “What have I done to deserve this? Why can’t I pass my user information through to the API?”
2pm: “Aha! Another developer just wandered by and pointed out that I’ve been misspelling ‘authentication’ for 2 hours! Back on track, baby!” (Side note: another “feature” of Perl is how it never complains when you use variables that don’t exist, it just assumes you never meant to type that. Of course, you could tell it to complain, but I forgot about that feature because I haven’t used Perl in 4 years.)
3pm: I finally get example #1 working. It queries the API and shows a list of the hardware on your account.
3:30pm: Example #2 working, this shows the details for a single server, including datacenter and operating system
4pm: Combining examples #1 and #2, the third example shows all hardware on your account, plus the installed OS and datacenter, in a handy grid right on the command line. Success! I put Perl away, hopefully for another 4 years.

The whole experience, though, really gave me an insight into how fantastically awesome the API is. I was looking at it from an outsider’s perspective. I was confused as to how everything worked, I was working with an unfamiliar language, and I was browsing through the API looking for anything that looked “cool and/or useful.” Getting a list of all my account’s hardware to show up in a custom built application that I wrote as if I knew nothing about the API was a great feeling. It showed that not only was the API perfectly suited to the tasks we expected of it, but even a novice developer could, with a little effort, make an API application like mine. Expanding on it to show more and more information, and all the possibilities that it opened up in my mind made me realize how useful this API is that we made. It’s not just something that a small percentage of our customers will be using. It’s something that is truly revolutionary, and that all clients can take advantage of. I’m assuming, of course, that all clients have at least rudimentary skill in at least one programming language, but given the level of success everyone has had with our other offerings, I can assume that assumption is accurate.

If you have been thinking recently “look at all the noise they’ve been making about this ‘API’ nonsense,” I highly recommend dusting off an old programming book and at least looking at it once. Think of all the possibilities, all the custom reports that you can make for yourself, all the data that we have provided right at your fingertips to assemble in any way you wish. We try our best to make the portal useful to every customer, but we know that you can’t please all the people all the time. But with the API, we may do just that. If you’re the kind of customer that is only interested in outbound bandwidth by domain, write an API script that displays just that! If you want to know the current number of connections and CPU temperature of your load balanced servers, get that data and show it! The possibilities are endless, and we’re improving the API all the time.

Everyone is so helpful around here!

By Daniel McAloon on Monday, March 10th, 2008

Here at SoftLayer, all the developers stay on Jabber all day so we’re all accessible. As you know, we’ve recently been doing a major piece of software development: the new API. During development, we all were trying to get things finished as well as continue our day to day operations.

No fewer than 4 times during the last 3 weeks I have had the following conversation with a fellow developer.

Me: Hey, I need you to do something on this API class you wrote.
Other developer: Ok, no problem.
Me: Wait, you didn’t write this, did you?
Other developer: No, I didn’t.

Each time, when faced with a request to understand and modify something that they didn’t write, in addition to their already overwhelming workload, my fellow developers were more than happy to accept the new task.

It just goes to show what kind of environment we all work in here. Everyone is always willing to help, and it’s this attitude that allowed us to develop the API so quickly with such robust features. Each developer was willing to help the others, and that resulted in a tightly integrated product that we’re all very proud of.

The same sort of attitude pervades all of SoftLayer. I have had help on tasks from Networking, Accounting, and Sales since I got here, and each time everyone is more than happy to help out. The end result is, of course, that the customer gets their problems solved faster, and gets higher quality services out it the deal.

But really, fellow developers, if you’re reading this also, it’s acceptable to say “I didn’t write that” when I ask you to change it. I won’t be offended. Half the problem is that we have 5 developers with names starting with J, I just clicked the wrong guy!

Home | Dedicated | Cloud | Solutions | Services | Facilities | Reseller | Resources | News | About | Specials | Contact | Legal
©2008 SoftLayer Technologies, Inc.
Close
E-mail It
Socialized through Gregarious 42