What’s Rackspace doing in the cloud?

If you’re wondering what Rackspace is up to when it comes to the cloud, you might want to check out the Rackspace Cloud Event. We’re hosting the event on Wednesday, Oct 22 at noon (central) in Austin and you’re invited. And this event isn’t just for the press or industry insiders…it’s for you. Anyone interested in the cloud is invited. And if you can’t make it to Austin, you can tune in to the webcast. We’re streaming it live so you won’t miss it.

Visit http://www.rackspacecloudevent.com for more information!
Cloud Graphic


Cloud Cover

Since I haven’t blogged here before, let me introduce myself. My name is Erik Carlin and I’m a senior architect here in RackLabs. My current focus is, of course, “cloud” initiatives. Cloud is certainly the rage these days, and as with all new disruptive technologies, it will take some time for the industry to agree on exactly what that means. I’d like to take this post to share our thoughts on defining the cloud. This is long overdue and isn’t revolutionary, but it’s important and lays the foundation for additional posts I’d like to write that get into more of our current thinking.

As we were developing our cloud strategy, it was important to create a framework for understanding the different types of clouds we could build. We came up with the following taxonomy:

Application Clouds (SaaS)

If you’re an aaS kind of person, this is really just Software as a Service repackaged in cloud terminology. Application clouds are the highest level cloud in that the underlying infrastructure and platform are completely abstracted away. Application cloud users simply consume the application. Is it running on Dell hardware? What kind of load balancer is in use? Is the platform Windows or Linux? What is the DB shard strategy? What about geoavailability? Users don’t know nor should they care. The responsibility for architecture, repair, upgrades, scalability, etc. is all on the application cloud provider. That’s great since the consumer can simply benefit from the application without all the traditional worries and cost of availability, growth, etc. This is particularly powerful for non-differentiating “dial tone” services like e-mail, CRM, etc. that all businesses require. Application clouds are thus the simplest to use from a user perspective, but as a result, offer the least amount of control.

In summary, application clouds have the following characteristics:

Ease of Use: Low Complexity
Flexibility: Minimal Control
Typical Consumers: End Users
Examples: Salesforce.com, TurboTax Online, Microsoft Online Services, MailTrust

Platform Clouds (PaaS)

Also known as Platform as a Service, platform clouds are one level down from application clouds in the cloud stack. I like Marc Andreessen’s definition of a platform as “a system that can be programmed and therefore customized by outside developers — users — and in that way, adapted to countless needs and niches that the platform’s original developers could not have possibly contemplated, much less had time to accommodate.” A platform is, as in the physical sense, something people build on top of. Platform clouds offer a scalable, Internet-based platform that developers can innovate on top of. Here, the complexity for the consumer is a bit higher, but so is the power and control. The limitations are reduced, but not eliminated. Let’s look at some examples. Rackspace/Mosso offers the Hosting Cloud, which is a dynamically scalable platform cloud designed specifically for web sites. Developers can innovate and build all different kinds of applications on top of the Hosting Cloud (so it’s more flexible than an application cloud), however, there are certain limitations. The Hosting Cloud supports many standard web technologies like PHP, ASP, Ruby, MySQL, MS SQL, Python, etc. But, if you prefer a technology not (yet) supported, you’ll need to find another platform cloud or go lower down in the cloud stack. Google App Engine is also a platform cloud. It allows developers to innovate on top, but likewise has constraints. It currently only supports Python and uses Google’s proprietary BigTable for persistent storage. Platform clouds are thus more powerful and complex than application clouds, but still have constraints that may limit their use.

In summary, platform clouds have the following characteristics:

Ease of Use: Medium Complexity
Flexibility: Medium Control
Typical Consumers: Developers
Examples: Rackspace/Mosso Hosting Cloud, Google App Engine, Force.com

Infrastructure Clouds (IaaS)

Lowest down in the stack are infrastructure clouds aka Infrastructure as a Service. Here, the raw constituent parts are provided and consumers can combine them in whatever ways they want. The parts can consist of any number of infrastructure components, including storage, compute, DB, queuing, etc. The consumer has the most control and flexibility with infrastructure clouds, but they are also the most complex to use (hence companies like RightScale exist). It’s important to note that infrastructure clouds may still have constraints (e.g. EC2 currently only supports Linux VMs), but leveraging multiple infrastructure clouds and having access to the raw infrastructure components allows many of these to be creatively overcome.

In summary, infrastructure clouds have the following characteristics:

Ease of Use: High Complexity
Flexibility: Maximum Control
Typical Consumers: Developers, Administrators
Examples: EC2, S3, Microsoft SSDS, Rackspace/Mosso CloudFS, FlexiScale, GoGrid

We shared this classification paradigm with RightScale who blogged about it here. Subsequently, GoGrid and others have embraced this definition as well. Michael Sheehan at GoGrid has created a Cloud Pyramid which I think does a good job at graphically representing these concepts. So, this taxonomy is starting to get some traction. What do you think?

With this as a foundation, I’d like to talk in the next post about a specific taxonomy for compute clouds.


Tech Talk 5: Developing an Open Source IMAP Server

Join Mailtrust on Wednesday August 6th for a presentation by Timo Sirainen, the lead developer and creator of Dovecot, an open source IMAP and POP3 server.

When: Wednesday, August 6, 2008, 6:00 PM Eastern
Where: Mailtrust, 775 University City Blvd, Blacksburg VA
RSVP: techtalk@mailtrust.com (free pizza!!)

From the Virginia Tech campus, take the Tom’s Creek B bus to the first University City Blvd stop. The bus runs every 10 minutes.

Summary of the talk:

Dovecot is an open source IMAP and POP3 server for Linux/UNIX-like systems, written with security primarily in mind. Dovecot is used by both small and large organizations, including large email hosting companies such as Mailtrust. It’s fast, simple to set up, and included as the default IMAP server in popular Linux distros such as Red Hat. Timo will talk about the architecture of Dovecot, as well as what it’s like to run a popular open source project.

If you’re interested in the technical details behind an IMAP server, interested in creating your own open source project, or just generally curious about how the wacky world of open source software operates, please join us on August 6 to learn about Timo’s experiences.


Tech Talk 4: Agile Software Development

Join Mailtrust on Wednesday July 9th for a presentation by Richard Hammer of Modea covering Agile Development.

When: Wednesday, July 9, 2008, 6:00 PM Eastern
Where: Mailtrust, 775 University City Blvd, Blacksburg VA
RSVP: techtalk@mailtrust.com (free pizza!!)

From the Virginia Tech campus, take the Tom’s Creek B bus to the first University City Blvd stop. The bus runs every 10 minutes.

Summary of the talk:

“Agile” has quickly become a technology term of art and a center space in buzzword bingo. It encompasses several iterative and incremental software development methodologies, including: XP, Scrum, Lean Development, and Feature-Driven Development. While each of these methods is unique in its specific approach to solving today’s software development headaches, they all share a common vision and core values: The Agile Manifesto.

Fundamentally, all of the agile development methodologies incorporate iterations and continuous feedback to refine and deliver functional software systems. Key touch points in the processes include continuous planning, continuous testing, continuous integration, and other forms of continuous evolution of the project, the software, and communications between the teams. They are all lightweight and inherently adaptable, focus on empowering people to collaborate and make decisions together quickly and effectively. Basically delivering what is needed, when it is needed, while maintaining the ability to change course and adjust priorities with less risk.

Come see what the art form and buzz are all about. Share your experiences. Listen to the experiences of peers. A video of the talk will be posted shortly after it is given.


Hitting the the Road to Talk About the Cloud

We have a bunch of folks hitting the road over the next few weeks to get out and talk about Rackspace, Racklabs, Mosso and our other cloud initiatives.

Please look us up if you are attending any of these events.

One event is already history. John Engates spoke on a panel at Enterprise 2.0 about Cloud Computing. I am hoping they will post the video of this panel.

This Tuesday Jonathan Bryce and Todd Morey of Mosso will be at Stanford for the VentureLab event on Cloud Computing. They will discuss our approach to cloud computing and how we have incubated Mosso outside the mainstream of Rackspace.

The week of the 23rd is a big one in the Bay area for infrastructure and cloud events. Here is where you can find us:

  • Jonathan will be at O’Reilly’s Velocity.
  • He will do a short talk that night at Ignite. The rule is 20 slides in 5 minutes. I think he is up for it.
  • Then its off to Cloudcamp. Not sure of the format yet, but we will be there to talk about our Cloud initiatives.
  • Then Om Malik’s Structure08 conference. I think Om has really done a great job on this one. Great program, one action packed day. Many, many people in our industry are going. I will be on the cloud computing panel.

Hope to see you at some of these events. We will report back to you.



Rackspace Developers Conference 2008

Our first developer conference was held over the last couple of days and came to a close Friday afternoon. I’ll go ahead and declare it a success based on all the feedback I received from attendees. RackLabs and Mailtrust sponsored the event, but we had software developers from every corner of the company in attendance. In fact, we invited everyone at Rackspace who actively writes code as a part of their job and even some of the Rackers who just work closely with those developers.

We began planning this event early this year when a few of us were talking about how many developers we must have at Rackspace by now and how few of them likely know what one another is working on. We’re a bit spread out now with office locations in Texas, Virginia, and London and it makes it hard to keep up with what other teams are working on. So we decided to fix that…

Our dev conference was designed to bring all the Rack developers we could together in one place to expose them to some new technologies, to share ideas, and to meet a few new people or at least put names with faces. We decided to hold it in San Antonio because we could get the highest attendance here, so we flew in a bunch of the guys at Mailtrust down from Blacksburg. We thought about holding the conference at Rackspace HQ, but to cut down on distractions we needed to get offsite. We ended up renting out the old Southern Pacific Railroad Depot in downtown San Antonio. Nowadays it’s called Sunset Station, but it’s a historic building built back in 1902 and has a great atmosphere. We had lunch both days nearby in an old church.. What a cool venue. Lanham Napier, our CEO, came down and talked to the group on the first day and pointed out something pretty remarkable…back in 2000 we had the Rackspace holiday party at Sunset Station and today there are more developers at Rackspace than there were total employees back then. Crazy.

Our conference revolved around a series of technical talks delivered by Racker developers about various technologies used at Rackspace, Mosso, or Mailtrust. We even talked about a few technologies that we don’t use…yet! Here are a few of topics just to give you a little flavor:

  • HA and Scalability @ Mailtrust
  • MapReduce
  • Botnets Gone Wild, Real Botnets, Real Wild
  • Trends in Concurrent Programming
  • Intro to PostgreSQL
  • Asynchronous, event-driven programming with Twisted Python
  • and many more…

We also had several “demo” booths set up to allow Rackers to demonstrate the technology they were working on and give others a chance to see it up close. One of the demo booths showed off our new cloud storage platform called CloudFS. Also demo’d was some of the cool technology we’ve built for integrating and scaling the immense monitoring infrastructure at Rackspace. Very cool stuff indeed.

It was exciting to see so many Rackspace developers in one place at one time and to hear about all the cool stuff they’re working on and thinking about. We’re planning on doing it again and may even invite some customers next time around. Stay tuned.

If you’re interested in joining Rackspace and working on some very challenging projects, we’re looking for good Python and Java developers. It’s getting interesting around here, so now is the time to join!
Here are some photos from our conference:

Our T-shirts. The front says /[RH]ACKER/
Logoshirt

The place where we held the conference.
sunset.png

My “keynote” slides.
titleslide.png

Bill Boebel, CTO @ Mailtrust
bill.png

The old church where we had lunch.
church.png

A shot of the conference.
roomful.png
Some of the RackLabs guys at lunch. Eric, Jay, and Jay.
racklabs.png


Previous Posts