cloud

September 8, 2008

Meat SoftLayer

It has been a bit since I last “bloghogged” so I figured it was time to see what I could come up with. There is just so much going on in the world that I am not sure I can control myself and keep my blog on topic. You have all seen it in the past where I go from topic to topic and then finally wrap it all up with nonsense in the end. I can only assume this one will be the same.

My choices are the Olympics and how they turned out, politics, servers, outsourcing of course, customer service, 4-year old flag football, or meat. It is a tough choice but I think this one just has to be about meat.

The SoftLayer corporate offices are really close, I dare say too close, to a little place called Rafain. Warning, if you click the link you will get hungry. In case you haven’t ever been to a Brazilian Steakhouse (Churrascaria) then you might want to consider finding one close to you and giving it a shot. It is servers, the human ones, walking around with 7 to 15 types of grilled meat on long metal skewers holding big sharp knives. They slice the meat of your choice off and it lands on your plate. It’s the point and click of steakhouses. Instant steakification! You can of course choose to eat fillers along the way starting with salad, or great little cheese rolls and you are also offered mashed potatoes and fried bananas. Some people eat that stuff but I go straight for the money meat. Beef! Lots of beef. There is Spicy Beef, Garlic Beef, Top Sirloin, Flank, and the house special. They are always hot and fresh off the grill. They have other meats like chicken, pork, leg of lamb, and sausage but you can get those anywhere. As our CEO would say, “If a meat is low fat by design, there is no point in eating it!”

How is the service you ask? Amazing. You have a small card that is red on one side and green on the other. If you have it on the green side they will keep offering you meat until you explode or you get smart and turn the card to red. Red means, “I am taking a small break in the action but far from done!” The real fun is when they bring you a clean plate and you suddenly forget that you are about to fall out of your chair and need assistance to get back in it and start all over and eat more.

Here is where the stretch begins. How am I going to tie this into SoftLayer and outsourcing and why we are the best at what we do? Well, I’m not. This blog is simply about Meat.

Ok, last funny story. A few of the crew here at SoftLayer worked together back in the early 90’s, general ISP technical support stuff. We worked long shifts and usually ate at our desks. We would occasionally sneak out and go to a local Chinese Buffet but we were on a serious time crunch. We could eat 4 or 5 plates of food in 10 minutes easily. We came up with a term we still use today, CPM (Calories Per Minute). We had fun little sayings like, “The CPM’s were very high that day my friend” (thanks Seinfeld!) and many others like it. I can only assume that the Chinese buffet, as far as calories are concerned, would still beat out “instant steakification” on the CPM scale, but I can assure you we would need a couple of SoftLayer servers and some serious Excel equations to figure out the numbers.

Eat less Chicken!

-Skinman

Categories: 
September 5, 2008

I Have a Crush on Sarah Palin

Let me begin by saying I don’t want to turn our company blog into something political and suggest how you should vote. I still haven’t decided myself for whom I will vote. Full disclosure – I haven’t voted Republican since I cast a vote for Reagan in 1984, when I was first old enough to vote.

But hey, Sarah Palin is a former state champion basketball player and sportscaster who competed in beauty pageants and enjoys hunting and fishing. What’s not to like here? Of course, I don’t want to raise the ire of her husband, Alaska’s “First Dude” Todd Palin. I mean, he’s won a 2,000 mile snowmobile race four times, and the one time I know of that he finished fourth, it was because he broke his arm along the way but still finished the race. First “dude” indeed!

Sarah Palin appears to have a background to which I can relate. She and her family are neither Ivy League educated elitists nor entrenched Washington DC insiders. From what I’ve read, she and her family deal with many of the issues that everyday folks deal with: transporting kids to their activities, going to church, running a small business, balancing a two career family, sending a son off to the military and to battle, raising a special needs child, and handling a teenage pregnancy situation. From this list of things, this family can identify with millions and millions of other families.

What I like most about Sarah Palin is that she and her husband have small business in their background. When asked why they eloped, husband Todd said they had a bad fishing year and thus had no money for a wedding. They understand the ups and downs of small business because they’ve lived it. Consequently, she has been cognizant of supporting small businesses in her policies.

Policies toward small businesses are important to me because small businesses are our bread and butter here at SoftLayer. That is who we serve – small businesses who need enterprise class IT infrastructure and services but are too small to provide them on their own. Though we are larger than most of our customers, SoftLayer still fits in the small business category. Hey, we came from 10 guys with a dream and no revenue for 6 months – you can’t get any more “small business” than that! The small business culture still permeates this place and I hope it always will. When I send out some sort of metrics report to the management team, it usually kicks off an email thread of smart-aleck remarks while we review the metrics.

Just so that I give equal time to both sides here, Barack Obama has outlined some specific policies that will affect small businesses. Along with 40 million others, I watched Obama’s historic speech at the Democratic convention. There were several things that I liked therein, such as his desire to develop new alternative energy sources. But when he talked about helping small businesses, I wonder if he’s out of touch with us because he said that he will eliminate the capital gains tax for small businesses. Well, SoftLayer is responsible for and pays a LOT of taxes (sales taxes, franchise taxes, property taxes, income taxes, etc.) but we have never paid a penny of capital gains taxes. Unless a small business running a small real estate or money management operation, small businesses do not have capital gains. They’re not putting cash into stocks and bonds and holding them to sell them at a later gain – they’re putting the cash into payroll and operating expenses and advertising and capital expenditures to keep their business alive and growing. Word to Obama – if you want to help small businesses, please eliminate a tax that we actually pay!

I am totally in favor of policies that truly help small businesses. You are our customer base and whatever helps you helps us. Consequently, we are very focused on serving your small business. We want to help you establish the best IT cost structure for your needs as well as take away the headache of IT infrastructure so that you can focus on your core business more effectively. Just talk to Steven, Mary, Amanda, Arielle, Chris, Doug, Daniel, Laura, Michael (either one of them), Patrick, Justin, Don, Mathew, or John. They’ll treat you right.

Again, I haven’t decided who to vote for yet. But if I select a Republican candidate for the first time in 24 years, I won’t necessarily say that I voted for John McCain – I’ll say I voted for Sarah Palin!

-Gary

Categories: 
September 3, 2008

IPv4 vs. Big Oil

Everyone is complaining about the price of gas at the pump. It’s a plain fact that it cost more than it used to fill up. Why is that? If you picked a handful of economists at random you will likely get a different story from each of them. One often mentioned of late is the oil speculators market. Not being a business guy, I hadn’t really ever paid attention to the oil futures market; much less the futures market in general. The speculation on oil prices got me thinking. Why do people think oil is going to go up in the future?

Most likely because it is a finite resource, and at some point it will become unobtainable through reasonable means. I personally think that the advances in technology will keep the black gold flowing for quite a while, but I am no where near naïve enough to believe that an infinite amount of oil can be contained within the finite confines of the globe we call Earth. Still, there is enough out there either undiscovered or untapped to keep our civilization plugging along well after Al Gore has melted all the ice caps with his private jet.

This led me to consider the impending depletion of the IPv4 address pool. Unlike the supply of magical natural resource oil, the available IPv4 address space cannot be augmented by new technology. There are no hidden underground caches to be found. It’s not like an expedition of the coast of Chile will stick a pipe in the ground and IP addresses will start spewing out. For IPv4, what you see is what you get, and what I see is the last 20% of a shrinking pool.

In theory, the answer is easy. Everyone just needs to jump on the new IPv6 train instead of riding around in their old fashioned IPv4 cars. The practicality of that solution is not quite that simple. That fancy IPv6 train is very limited right now. It currently requires special tracks, and they only go certain places, none of which is grandma’s house. Ultimately, user demand will force local ISPs to start supporting IPv6. In the great dance known as capitalism, they ISPs will bow to user demand and provide this service. However, between now and that future lies a pinch.

It’s that last squeeze of toothpaste before you have to run to the store and get another tube. The hosting industry, being the most voracious of IPv4 address consumers, is actively working towards IPv6 deployment. The real question is how long until the home ISPs start supporting it. All the address space in the world doesn’t help if the consumers can’t browse there. And to that end, doesn’t all that legacy IPv4 address space become a precious commodity? In the not so distant future, is there a speculative market for IPv4 real-estate? I see it as a real possibility. I just wouldn’t want to be the one owning that venture when the last telecom announces IPv6 support.

-Matt

Categories: 
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 28, 2008

The Speed of Light is Your Enemy

One of my favorite sites is highscalability.com. As someone with an engineering background, reading about the ways other people solve a variety of problems is really quite interesting.

A recent article talks about the impact of latency on web site viewers. It sounds like common sense that the slower a site is, the more viewers you lose, but what is amazing is that even a latency measured in milliseconds can cost a web site viewers.

The article focuses mainly on application specific solutions to latency, and briefly mentions how to deliver static content like images, videos, documents, etc. There are a couple ways to solve the static content delivery problem such as making your web server as efficient as you can. But that can only help so much. Physics - the speed of light - starts to be your enemy. If you are truly worried about shaving milliseconds off your content delivery time, you have to get your content closer to your viewers.

You can do this yourself by getting servers in datacenters in multiple sites in different geographic locations. This isn't the easiest solution for everyone but does have its advantages such as keeping you in absolute control of your content. The much easier option is to use a CDN (Content Delivery Network).

CDNs are getting more popular and the price is dropping rapidly. Akamai isn't the only game in town anymore and you don't have to pay dollars per GB of traffic or sign a contract with a large commit for a multi-year time frame. CDN traffic costs can be very competitive costing only a few pennies more per Gb compared with traffic costs from a shared or dedicated server. Plus, CDNs optimize their servers for delivering content quickly.

Just to throw some math into the discussion let's see how long it would take an electron to go from New York to San Francisco (4,125,910 meters / 299,792,458 meters per second = 13.7 milliseconds). 13.7 millisconds one way, now double that for the request to go there and the response to return. Now we are up to 27.4 milliseconds. And that is assuming a straight shot with no routers slowing things down. Let's look at Melbourne to London. (16,891,360 meters / 299,792,458 meters per second = 56.3 milliseconds). Now double that, throw in some router overhead and you can see that the delays are starting to be noticeable.

The moral of the story is that for most everybody, distributing static content geographically using a CDN is the right thing to do. That problem has been solved. The harder problem is how to get your application running as efficiently as possible. I'll leave that topic for another time.

-@nday91

August 27, 2008

Perspective

So…I was just promoted to a management position after serving SoftLayer’s customers as a CSA for 15 months. “Things look different from up here!” Moohahahaaa. Anyway, I find it to be extremely interesting to see how our support works from a new perspective. When you are in the trenches as a CSA, it is very hard to see the big picture as you are on the phone, working diligently on a ticket (or ten tickets), or completing a plethora of other tasks from the moment you arrive for your shift until an hour or so after your shift officially ends most days. You become so involved in the specific issues you are working and the customers with whom you are dealing, you are hard-pressed to step back and see the effect of your team’s efforts on the customers who were served during your shift. Honestly, some days you are simply glad to get to go home and rest your brain for a while. Other days, you leave with a great sense of satisfaction in the fact that you conquered several difficult issues and made a lot of customers, as well as their customers, very happy.

As a manager, you have the privilege of seeing the different talents, abilities, and areas of specialized knowledge of a team of great technicians come together to create an outstanding support department for our customers. As we support such a tremendously wide range of issues, it would be impossible for any one tech, or even two techs, to have all the answers. But, here at SoftLayer, the egos seem to be left at the door and there is a meeting of the minds and a cooperation among peers that may rival the acropolis (well, maybe not…different clothing anyway :P). But seriously, the techs do band together to find resolutions to difficult issues and therefore, a customer can rest assured that the issue is being dealt with by a consortium of scholars, if you will.

Before becoming a part of the management team, I frequently heard my co-workers talk about how nice it was to work in a place that was free from the drudgery of politics in which most work-places are buried. The management team has done a very good job of keeping it down to business and absent of drama and red tape. The opportunities to advance are many as I can attest. Among the CSA teams, there is a sense of purpose and camaraderie that foster the great support that our customer’s enjoy. Of course, it is not mount Olympus (speaking of drama) as no place is perfect, but if you stopped one of SoftLayer’s CSA’s on the street, I’m sure you would find someone who enjoys going to work and serving their customers. The excitement of a fast-growing company with many opportunities for hard-working technicians makes for a positive, success-driven, committed environment. SoftLayer just keeps getting better and better, both for the customers, and the employees.

-David

August 25, 2008

Do You Know Where Your Nameserver Is?

Today we are getting back to the basics. Really simple stuff like how content gets served up on the internet. I'm going to keep things at a fairly high level, so don't flame me if I oversimplify things. I was trying to explain this to my Mom recently (Hi Mom!) and that inspired me to write this blog.

The first thing that has to happen is for the viewer to make a request by typing in a site name or clicking on a link in a web browser. That request usually has a text-based name as part of the request (like "www.softlayer.com"). Each name has a domain ("softlayer.com") and each domain has an authoritative nameserver to translate the name into a numerical address. That numerical address is used by the internet infrastructure to make sure the request gets to the right place. Phone numbers work the same way, so just think of an IP address (and domain name) serving the same purpose as a traditional phone number which defines the location of the “owner” of the number (at least in the landline world) based on country, region, and city.

If the nameserver for a name is slow or down, then the request will be delayed, or even worse, fail because the nameserver was not available to translate the name into an address. And if the translation fails, the viewer will not get the content he or she requested.

So, if you are running a website, you want your nameservers to be highly available and service the request as quickly as possible. Here is where I get to brag about SoftLayer a little. We provide nameserver service to our customers. Our customers can use our web portal or a sophisticated programming interface (the SoftLayer API) to manage the numerical addresses for their names. We have located nameservers at several locations and we keep the data synchronized between the sites. Our nameservers themselves have the same addresses using a technology called anycast (http://en.wikipedia.org/wiki/Anycast).

What all this means is that our customers get to have their name to number translation hosted at multiple sites. This results in faster translation times and in the case of a disaster at one site, the other nameservers will still be working.

In other words, SoftLayer has very cool nameservers.

-@nday91

August 24, 2008

Inventory Envy

Before coming to SoftLayer in February of 2007, I worked for a large format printing company. What does that mean you ask? We printed LARGE signage, not as large as billboards, but think about a mall and all the signs in the windows and inside the stores, this is called POP (point of purchase) and that’s what I did. I was in charge of making sure schedules were met, materials were ordered (all of them, for the entire company), maintained vendor relations (so I could get what I wanted, when I wanted it) and helped start up their online ordering system, those were a few of my jobs.

I’ve been helping out the inventory team in the Dallas DC as we are getting rid of the old and bringing in the new so to speak, saying bye-bye to the legacy servers that use up too much space and too much power. Our COO asked me for my help, knowing I had an inventory background. I had also worked with one of the inventory guys at my last location. He worked in the shipping/fulfillment department, so he was always aware of inventory levels and things like that, and was responsible for letting me know when we needed more of a particular item in his department (he always did an excellent job).

Yesterday I was putting legacy servers back to a basic config and he was scanning all parts back into the portal and back out based on the basic config. I was amazed at the system. I knew our portal for our customers was amazing, but hadn’t really delved into the inventory side of our reporting, etc. until then. We know where every single piece of hardware is in each of our facilities at any given time. Each stick of RAM, each HDD, each RAID card and the list goes on and on and on. It’s simply amazing. I joked with him saying “our old bosses would freak out if they had a real inventory set up like this, wouldn’t they?” he laughed and agreed.

I had to constantly order things last minute and over night, rush delivery because inevitably, someone would not tell me they took the last roll of vinyl, the last pallet of 20” x 40” boxes, whatever it was, it happened all the time. Taking on so many hats at my last job, I didn’t have time to readily go around and check stock all the time, I relied on each department to tell me and inevitably, it failed over and over again. I had complained for years that people could just walk off with whatever they wanted, as there was no sort of tracking system in place at all. Sure, each thing had its place, but an actual inventory count at the end of each month, reports? HAHAHAHAHA.

SoftLayer not only helps our customers every single day but they also built a system so that it would make their employees lives much easier as well. Every single aspect of this business was painstakingly thought out with the amazing team of guys and gals we have here. If a report doesn’t exist, they can make it happen, sometimes in a day, sometimes it’s not so easy, but they can do it. These guys are super heroes; I’ll let them tell you what kind of super powers they have.

-Shawna

August 22, 2008

Thoughts from the "New Guy"

Being the 'new guy' in any situation has its ups and downs. However, being the new guy at a dedicated host provider was a challenge that I embraced with open arms. My expertise is certainly wide-ranging but somewhat random so I expected quite a learning curve to supporting an environment of thousands of servers. The next 6 months would prove to be a trial by fire movie script with the best supporting cast I've ever seen.

While a jack of all trades is great when you're an Administrator/Consultant for a number of companies across a wide geographical area, it does not necessarily offer a quick route to success. I had been searching for an upgraded position with more opportunity to learn and progress. That opportunnity came on Christmas weekend in the form of an e-mail from SoftLayer Technologies.

Who are these guys? I had not been active in the dedicated host provider market, as I had always run my own servers in the past. Upon visiting the website, I soon realized that I was not dealing with a newcomer or underbudgeted attempt at market domination. The site is well organized and aesthetically pleasing, while retaining a playful obedience. I decided to take the opportunity to see what this place was all about.

Upon my arrival, I realized that the culture and policy was remarkably similar to the key aspects I had learned in my less-than-10-year IT career. Offer an industry-leading twist on a product while focusing on the customer experience. Provide every possible service and never skimp on the important things like STAFF. I found a company that had learned how to do the above, while maintaining a well-organized (almost to the point of OCD), clean (OCD reference here) and documented datacenter that I have ever visited (I've seen a few.)

The culture is one of "clock-punchers need not apply" and nerds will rule the world. The atmosphere is almost like we all own the company. Employees take personal interest in support issues and customer satisfaction. The level of knowledge around here is far-reaching and as varied as the personalities they share. I have to mention that this is the first company I have visited which values its employees enough to pay them adequately, too. They appear to hate turnover and spend a lot of time to choose the correct individuals and train them with the skills necessary to provide the best service - time and time again. I knew many of these market-dominating aspects before, but have had a snowball's chance of convincing upper management of it in the past (I won't mention company names). But with SoftLayer, they already had it all in place after a couple of years! Upper level management keeps in contact with employees on a regular basis. You can call the CEO right now and ask him what the temperature is in SR04 in Dallas, if the trash is full in SR03, or how many new racks were built in SR02 in Seattle and he could tell you. How many CEO's do you know that could tell you what is going on in 'the trenches'? That's why this company is so amazing to me.

I've been here 6 months to date, and my experience continues to expand. I share my nights (yes, I am graveyard shift) with some of the most friendly, determined, and knowledgeable people in the business and I know it. I'm just glad I was lucky enough that they found my resume, and not some other kid with a thirst for IT knowledge. Thanks SL!

-Krishen

August 20, 2008

Tell Me a Little About Yourself...

Everyone knows that the Sales team is a serious team of professionals who work well with one another, strive to break sales records, continue to help SoftLayer grow, and stand out in the industry among competition for a consistent job well done. But what lies beneath these driven individuals? There is definitely a great deal of personality and depth to our characters. There are many ways to find out about my peers (as if I didn't know each and every one of them pretty well already). But I thought a good way for you guys to get to know us, would be to find out what websites we frequent outside of work - that can say a LOT! Therefore, I have collected from each member of the sales team, their top 3 favorite websites. I think one or two of the websites each person submitted really does open a window into their personality.

Steven Canale (VP Sales): http://www.cnbc.com/, http://www.msnbc.msn.com/ and http://www.webhostingtalk.com/ - Steven is always well informed and up to date with the hosting industry, as well as the outside world and latest news. This gives you an idea of Steven's serious demeanor. Someone has to be serious, with all of the shenannigans (ahem, Douglas...) that go on around here.

Michael Miller: http://online.wsj.com/public/us and http://espn.go.com/ - These were a bit surprising, even though I know that he is obsessed with sports and money. Michael, Wall Street Journal, really? Impressive, but I cannot believe you did not include something that has to do with testosterone-fueled fighting, such as http://www.ufc.com/. Which leads me to Daniel...

Daniel Kracht: http://sherdog.com/ - Daniel loves Mixed Martial Arts, and there is never a Pay Per View fight that this guy does not order. If there is a good fight on, Party at Danny's!

Miz Mary Hall: http://www.somethingawful.com, http://icanhascheezburger.com, and http://geekologie.com – I had to include all three of Mary's because they really do say a lot about her. (Site #1) She LOVES the Fashion SWAT, and I agree you can get stuck on it for HOURS. (Site #2) Not much to say here, hilarious LOLcats all the way through. (Site #3) Geekologie used to be hedonistica.com. It’s a rolling blog of awesome toys, robots, and other techie stuff. The writers for Geekologie and The Superficial are absolutely hilarious. That brings me to mine...

Amanda Jordan: http://www.thesuperficial.com/ - I am addicted to celebrity gossip, and this is the ultimate place to go for just that, and it doesn't hurt that it is extremely funny and entertaining.

Laura Gardner: http://youtube.com/ - Also highly entertaining, you can get stuck on this site forever!

Arielle Eaton: http://www.drudgereport.com/ - A world of information at your fingertips.

Michael Laude: http://www.howstuffworks.com/ - Our "Laude" is always looking for ways to expand his mind. And where else can you find out if you will die if you consume polar bear liver?

Patrick McElmurray, Chris McCallan, Doug Jackson: http://www.softlayer.com/ - I am going to end with the most spirited three on the team. They have chosen the one and only SoftLayer website. A few reasons behind this choice include "This is my whole world," "Contains all of the information I need to provide an effective service to our clients," and "Because it makes me money."

-Amanda

Pages

Subscribe to cloud