Running the company on cloud services

This is a brief post about the core cloud services we use.  Along with developing systems that run on cloud platforms, we make heavy use of them ourselves in the basic infrastructure of our company.  Here is a quick list of the ones we depend on every day.

  • Email, Calendar
  • Phone system
  • Development/Test server infrastructure
  • Salesforce

Background

I will start by describing our current solutions to each of these needs.  We are a professional services company.  We help small & mid-sized companies compete by building custom software and automation solutions.  By understanding the business model of our clients, we are able to help them executive their business strategy better.  We are 100% owned and operated in Austin, TX, but we do have some clients in other parts of Texas.  By working in the industry, we have developed expertise in many areas, and that knowledge and experience flows into our training program.  Our consultants have laptops (Dell Precision dual-8x cores, 8GB RAM), and we are set up so that any of them can work for anywhere.  We still perform all of our work from our custom offices at 4807 Spicewood Springs Rd in Austin, TX where the open environment fosters collaboration across projects and event across clients. 

Since all but a handful in our company have computer & technical backgrounds, we have little need for a helpdesk.  Our office network infrastructure consists of fast connectivity to the Internet and solid wireless access points.  While we do have one server in the office for historical reasons, it is soon to move to the cloud.  Because of this, we do not employ the use of Active Directory, Novell or any other domain/groupware.  Each computer is a stand-alone computer. You could call it “workgroup mode”, but it is no different than just plugging in a computer and using it.  This has kept our workstation overhead extremely low.  All our important infrastructure is in the cloud.

The first cloud service I’ll cover is for email and calendaring.

Email/Calendar

image We use Google Apps Premier Edition.  It provides us the following services:

  • Email
  • Calendar
  • Chat/voice soft phone
  • Mobile access
  • Email groups

The email interface is Gmail, but a few elect to connect via Microsoft Outlook.  Calendar is integrated, and we can schedule times and conference rooms according to everyone’s schedule.  As of this week, we also have integrated Google Voice into the mix so that everyone has a public phone number instead of just and extension.  For instance, you can call me directly through Google Voice just by using this little app.

https://clients4.google.com/voice/embed/webCallButton

Phone System

We use a hosted SIP phone system through a local provider, PrismNet.  These folks do the hard work of connecting the phone system to AT&T’s backbone here and getting the actual phone lines.  They also maintain the phone system’s software upgrades, patches and operation.  The only artifact in our offices are GrandStream GXP2000 desktop handsets.  We can install and use any SIP soft phone we like, and we are also able to run SIP clients on iPhone and Android phones.  Because it’s a phone system in the cloud, the mere act of taking a phone to another location and plugging it in makes the phone number/extension active.  Our office network uses a Cisco Power of Ethernet switch, so the desk phones are powered through the CAT5 network cable, as are our wireless access points in the dropped ceiling.

 

Development/Test Servers

All of our dev/test servers are at Rackspace Cloud.  We run JetBrains TeamCity as our main build server software.  It has flexible build agents, so the dashboard and main server is accessible from any location, but the build agents can be anywhere.  We have a build agent at Rackspace Cloud as well, but we also power up any spare developer workstations we have, install the TeamCity build agent software, and instantly, we have more computing capacity to run builds for client projects.  TeamCity also has Amazon EC2 integration, but we have not hooked that up yet.

Through Rackspace Cloud’s management dashboard, we can provision a server, and that server is up and running in under 10 minutes.  Through daily backups, we always have a full image of that server for the last day.  Each server is really VMware, and to create a new server, we can choose to create it from a backup image of another, so cloning servers is a breeze, and we only have to install server software once.  Even starting from scratch, the operating system comes pre-installed, of course.

 

Salesforce

We, like many people, use salesforce.com.  It allows us to keep track of our sales pipeline and opportunity workflow.  It helps with contact information for prospects and a host of other things.  We like it, and we are in the process of integrating it with Google Apps for shared contacts and automatic sales email logging.

Conclusion

My company writes software for the cloud, but it also runs on the cloud.  With all the hype about cloud computing, it’s easy to discount the whole notion because of how it has been glamorized.  For us, it’s not glamorous.  It’s just how we do business.  It makes our infrastructure reliable.  It lowers our operating costs.  It allows an employee to be productive if working from home because of a mild illness (we are extra sensitive to colds being passed around in the office because then it makes it home to children).  Finally, it makes us portable.  We moved office spaces at the end of July, 2010.  We moved on a Friday afternoon, set up furniture on Sunday.  Monday at 10am, all of our infrastructure was up and running because the only necessary thing was the Internet connection and monitor/keyboard setup.  Phones worked automatically just by giving them an internet connection.  It was a very low-cost move because of it.  That is not a small consideration given that we will have to move again given the rate at which we are growing.  Any infrastructure that must be physically installed will be costly to move in an office relocation.

To end, my goal was to merely share what we are doing so that others may benefit.  I’d by happy to answer your questions through the comments.  If anyone else has some commentary on cloud services you are employing, please chime in.