Author Archive: Mathew Medoff

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.

-Mathew

May 15, 2009

Disaster Recovery Plan

A few days ago I was reading a news story about a man who just lost everything to a fire. One of the comments he made was that he had never thought to plan for something like this; it was the type of thing that happened to other people but never to me. I started thinking about how true that statement was. Many people just never think it will happen to them.

This type of situation happens every day in the IT field. There is some sort of disaster causing a server to crash or simply stop working all together, the drives on the server are completely corrupted and the data is just gone. The question is; when this happens to you, will you be prepared? Thankfully, there are steps each person can take to limit the pain and downtime a situation like this can cause. Like any other disaster recovery plan, the more you are willing to put into it, the more protection you will have when disaster strikes.

This is where SoftLayer comes in. Here at SoftLayer we understand the importants of providing our customers the means to create a good disaster recovery plan that meets their needs. We understand that a detailed disaster recovery plan will include things such as backups and replication. Our services such as NAS and EVault are perfect solutions for performing and managing the backups for you server. When looking into replication, we offer services such as iSCSI replication, Raids, local and global loadbalancing which will provide our customer with the tools to replicate not only their data across multiple locations but their servers as well. Above all, we provide our private network to securely transfer this data to the many locations without impacting the traffic on your public network.

We can only hope that on the day disaster strikes, everyone has some plan in place to deal with it. There is nothing more frustrating in this industry then the loss of crucial data that in many instances cannot be recovered.p

November 13, 2008

Size Isn't Everything

A couple days ago, I took my daughter to her favorite store. We picked up a fair amount and on the way to the car she asked a simple question, or so I thought. “Why did they only fill these bags half way”. Confused I looked at the bags and realized she was holding a bag which had a large stuffed bear in it and was looking at a bag less than half full of canned food.

Being the person I am, rather than attempt to explain this to her I wanted to let her try and figure it out for herself so she would understand it better. When we got home, I filled the rest of the bag with cans and had her try and pick it up, as I expected the bag broke in her hands. I explained to her that the cans were much heavier then the bag. She still doesn’t quite understand the concept that the bag has 2 limits, size and weight but she is starting to understand this concept.

I thought about this story this morning when I started working on a project of determining how many containers a Virtuozzo server could handle based on its system requirements. Just like the bag, a Virtuozzo system has multiple limitations that need to be observed, the size of the containers as well as their “weight”. In this situation “weight” would be the drain on overall system resources. When attempting to determine how many containers a system can handle, you need to take into account not only how many will fit size wise, but also how much of the overall system resources each container will require.

It turns out this question is much easier to ask then to answer. You can take a small server such as a dual core with 4GB of RAM and put 20 or even 30 containers onto the server and have it run flawlessly when those containers are small and do not require much in the way of system recourses. At the same time however I can take a quad proc quad core with 64GB of RAM and grind it to a halt with 1 or 2 containers.

At the end of the day, I have found that you can make just about anything work, but before you attempt to determine what hardware you will need to run a Virtuozzo server, it’s a good idea to have an estimate of what you expect the containers to be doing. What could be worse than spending hours configuring a server and getting it online only to watch it grind to a halt because there are just too many containers completely saturating your system resources?

-Mathew

Categories: 
September 30, 2008

Servers. Services. Support.

IT is a very fast paced industry where you always need to fight just to keep up. Some companies go that extra mile in an attempt to stay ahead of the curve. In my time here at SoftLayer, I can say I have never once been bored. There is always something to keep your interest, some new innovation that needs to be looked at. Three of the aspects of this that have a drastic effect on the industry as a whole are the servers that we can provide, services to use on those servers and finally support for both.

We are always looking to provide the best possible hardware to our customers. Every time we evaluate a new piece of hardware, we run it through the gauntlet. “Will this hardware work with our system, what kind of driver support does it have, and most important is it going to be an improvement for customers?” Once it’s decided that a new piece of hardware would be an improvement the real testing begins. Everything is thrown at the hardware to ensure it meet our high standards. The latest and greatest isn’t rushed into production; we want to be sure that it really does perform to our standards in the real world and not just on paper.

Having all this hardware is great, but you need to have some innovative services for the customer to go along with it. SoftLayer really has shined in this area. There are so many different services available, there is no way I could even start to list them all. The portal alone offers more server control than anyone else in the industry. Our provisioning system can provide a server in a matter of hours and not days and with tools such as StorageLayer, RescueLayer and the Portal you can perform complete disaster recovery remotely! You can even reboot your server remotely via a cell phone while you’re on vacation without having to open a single ticket or talking to a single person.

When you have all these great services, you need to back them up with great support. Here at SoftLayer we have just that. On top of our ever growing KnowledgeLayer, we have fast and efficient ticket and phone support. Within minutes of opening a ticket, a technician has already read it and is already looking into your issue. We don’t have those pesky call queues you sit in for hours just to get a human voice, you call support and the phone is immediately picked up by a skilled technician ready to address your every issue. Unlike many places I have worked, the NOC is not a dead quiet room with people staring at computers screens. The NOC is constantly active. Our support team is just that, a team. They are constantly working together to find solutions to any number of problems.

I can’t even express how much of an honor it is to work at SoftLayer. Every day you come into the office wondering what great innovation we have next for our customers. At the end of the day, I can go home knowing that we are providing the best hardware, the best services and the best support to our customers.

-Mathew

August 30, 2008

Telephone Support

What can be more aggravating then paying for a service that does not work? The other night I got home after a long day and go to check my email. It doesn’t take long before I realize I am unable to connect to my mail server. In a few moments, I realize my internet service is down. So like any person would in this situation, I call my ISP to see what is going on. I promptly receive a message that the DSL department is closed and I am given their working hours and am told to call back then, alternately I can email them and they will respond as quickly as they can. At this point I am floored; an ISP that does not have 24/7 phone support. As my email is down, it’s not like I can just send off an email to them which I assume wouldn’t be answered anyway until the next day. What choice do I have, I wait until the next day.

Upon calling the next day, I am greeted with a wonderful message telling me all technicians are currently assisting other customers and that my call will be answered when someone is available. After 30 minutes on hold, I finally get to talk to a live person. I go through the steps to prove I am the owner of the account and to my surprise I am told I am being transferred to someone who can help me and am immediately dumped into another call queue. So I am thinking ok, they have someone who just verifies the user and passes them to a tech. When the tech answers, I yet again go through all verification on my account (what was the purpose of the first person I talked to?). I explain that my internet connection isn’t working and explain to him the steps I have taken such as rebooting the DSL modem and router. I am told that I need to reboot the router, rather than explain I have already done this I do it again. I them again do the same to the modem even though again I have already done this.

Things go downhill from this point. I am then asked what OS I am running, not really sure what this has to do with my router not having an internet connection but I answer without thinking and tell the tech Linux. This promptly results in the tech telling me my OS is not support and that’s the problem, I need to run Windows or a Mac to use their service. I attempt to explain to the tech that it’s not an OS issue; the router doesn’t have an internet connection. This resulted in a stone wall, the tech just repeated that the OS I was using does not work with their system. I tried to explain to him that I have been using Linux on their system for over a year now. After arguing this with me for over 10 minutes, I ask to be escalated to a level 2 technician. After sitting on hold for another 10 minutes, the phone start to ring and I am dumped into another call queue.

At this point, I feel I am justifiably upset. Another tech answers and yet again I verify all information on my account. I am again asked to reboot the router and modem. Based on the way they are asking, I can tell the tech is simply reading from a script. I interrupt the tech and tell him that I have already gone through this with the last tech and while I realize it’s not his fault, I need to speak with his supervisor. I am put on hold again, just as I think I am going to be dumped into yet another call queue; a new voice picks up telling me that he is the supervisor on duty. I explain the entire situation to the person. He apologies for the inconvenience and I am forwarded directly to a level 3 technician. After only 2 minutes on the phone with the level 3 technician I am informed that there is an outage in my area and that they expect it to be corrected shortly.

When I finally got off the phone, I realized that I had spent over 2 hours on the phone and spoken to 5 different people just to be told there was a network outage. This is when I think to our own SoftLayer support system and just couldn’t imagine support running any other way. Sitting in a call queue is so incredibly frustrating, especially when your end up talking to someone who doesn’t actually know anything other than to read a script and hope something in their checklist fixes your issue. Here at SoftLayer, we have no call queues to get stuck in. When a technician answers the phone, you have just that a technician who will actually take the time to work on an issue with you to get it corrected. There is nothing more satisfying then calling into a support department, having your call answered immediately by a person who can actually help you. I am honored to be a part of this incredible support team that strives to make the customers life as easy as possible. Now if only other companies could follow this path making telephone support something you can count on rather than something you dread having to use.

-Mathew

Categories: 
August 18, 2008

Not Sure I Have Enough Yet

You ever wonder what a SoftLayer technician does in their down time? Well aside from my addictions to coffee, PHP and of course the dreaded World of Warcraft, I tinker. My home network has been a work in progress for about 5 years on and off. For a family of 4 with 2 very young children, we have an awful lot of computers. At last count we currently have 10 computers when you include the laptops. As the wee ones are not to an age where computers even cross their minds, that means between myself and my wife we use all 10, well I should say I use about 8 of them and she uses 2.

You might wonder what a person does with 10 computers and how in the world you handle that in a home environment. Well here is a basic run through our world o computers. My wife being the average joe, has a desktop and a laptop. I on the other hand cannot get by with just 1 desktop, nope I need 3. If my desk didn’t give off a healthy hum and a slight vibration I just wouldn’t be happy. So my desktops are broken down in to a Windows Vista box, generally used for gamming and 2 Linux boxes running Slackware and Gentoo respectively. You might wonder why I need 3, and my response would probably be something like “Because I can”. I do however make full use of these different desktops on a fairly regular basis so I guess I can still justify them. Of course you really could consider my laptop to be yet another desktop, but then again, it is rarely used at home.

So as you have probably noticed, that’s only 6 of the 10. Now, 2 of the computers I have are media centers connected to the TV’s in the living room and the master bedroom. If you haven’t had a media center, you just don’t know what you’re missing. This brings us to the last 2 pieces of this network. The last 2 are rather old boxes that sit in the corner of a closet being as unobtrusive as possible; however they are the backbone of my home network, the fileservers. What good would 2 media centers be if I needed to have a duplicate of all files on each one of them? In the world of computers, the 2 fileservers would be considered dinosaurs, but for what they do, they are perfect.

Now that you have all these computers, they need to be connected somehow. This entire network is connecting to 2 separate gigabit networks. Why 2 you might add? Well I took a page from the SoftLayer book on that one. I saw no reason why the fileservers or the media centers needed internet access, so rather than deal with firewalls and the like, it was easier to put in a second network linking all the computers to each other while only the desktop computers were able to connect to the internet.

Is all of this overkill? Probably, but it sure gives me something to do. Now my current project might actually cut down that number a bit, then again, what fun is that? The current project is to get a 2008 server running with Hyper-V and a domain controller up and running. I figure since I have all these computers, I should be able to log into them all without having to create a separate user account on each. This project has been an experience for sure, but that’s for another blog.

-Mathew

Subscribe to Author Archive: %