A Sandbox In The Cloud

I am honoured and excited to bring you an article written by a Rackspace staff, Joseph Palumbo. My thoughts will be at the end of this article. Thanks Joseph! Disclaimer: I’m not paid by Rackspace.

As a founding member of Rackspace’s Managed Cloud support team, Joseph spends half of his time teaching customers about the Cloud and the other half learning about the Cloud from them. Follow him on Twitter.

Solid, high performing websites and web applications don’t happen by accident. From imagining an idea, creating code and developing an intuitive user experience, there are many behind the scenes tasks to ensure everything works smoothly.

Despite how simple a website or web app might appear, the reality is that even the simplest looking sites can have powerful and complex code behind them. The complexity means that one small change can take down the entire site. However, both business needs and technologies evolve, necessitating changes to your site. The choice, however, is how you implement these changes.

You can choose to make code changes to your live, production environment, but this is a dangerous proposition. By doing so, you assume the risk of making a mistake that can be visible to users, or creating an error that can make your entire site go dark for an extended period of time. The better alternative is for businesses to create a test and dev sandbox that mirrors the live environment, but in the recent past, this was expensive to do. The high cost presented a difficult decision: do you spend the money to create a test and development environment or do you assume the risk of introducing a bug or error into the live environment?

With the advances in cloud computing, you no longer have to choose. Businesses can easily clone their production environment and create a test and dev sandbox. In the cloned site, developers can replicate the ratio of usage rather than purchase all of the horsepower; this means that you can have a more cost effective version of your site because you aren’t serving up production traffic.

This cloned site can be created on demand for testing code changes and will literally cost just pennies per hour. Not only can businesses create a cloned site for temporary testing, the cloud presents a cost effective solution for a long-term test and dev sandbox.

Furthermore, the test dev sandbox allows experimentation to happen behind the scenes without anyone outside the company (or the IT department) ever knowing. While you are making changes to your test and dev sandbox, the production site is humming along, bringing in revenue, collecting customer data and maintaining your online presence.

Once your developers have perfected the changes and are ready to move the mirror site into production, it can be uploaded directly. If there is a load balancer in front of your configuration, you have the ability to make the test environment the new production environment. You simply make a change on the load balancer, redirecting traffic from the old production site to the new production site in the middle of the night. This is easily done from a systems administration point of view and can result in little or no downtime to your configuration.

In the past, I would receive frantic phone calls from people who didn’t have a test and dev site and didn’t know their code very well. They only had a production site and were trying to make changes, but they were concerned about the potential of bringing down their site, or even worse, making an irreparable error such as erasing part of their database.

The cloud lowers the cost of having a test and dev site, allowing businesses to prove out their code changes without adversely impacting their production site. You can have peace of mind that you won’t make visible mistakes to your users or delete any of their data. Peace of mind is worth every penny – and with the cloud, it won’t cost very many pennies to have.

Post-article thoughts

I have personally maintained development, test and production web servers, along with the corresponding web sites. It can get exhausting, especially when you have to coordinate the efforts of other developers and testers (from dev and test sites), and juggle inquiries from customers and customer service officers (from live sites).

I’ve also personally done server maintenance. There was this one time when there was a change in some wiring structure in the data centre, and I had to be there personally (because there’s no one else) to make sure my servers were still operational after the change. I’m really not a hardware kind of guy…

DNS propagation, IP address settings, SSL certificates, server upgrades. If there was an easy way to enclose all that into a standalone testing environment, my life would have been so much easier.

Using the Cloud for Real-Time Collaboration

I’ve been contacted by a *checks email* uh, social media representative for Rackspace. If I understand this correctly, there’s a marketing promotion thing going on, particularly on cloud computing, a service that Rackspace is providing.

Now I’m moderately interested in this new fangled thing called the cloud. As far as I know, it’s like the client/server architecture, with another server layer as the “cloud”, so to speak. So I said yes, I’m interested with being provided an article on cloud computing.

“Vincent! You sold out!”. Well, Rackspace will be writing the article, so while it’s like a sponsored article, I don’t get paid for it and this blog is not hosted with Rackspace. So while I’m waiting for the supposedly newly written article, I was given another cloud computing article, so I thought you might be interested in that.

I will say this. It reads very much like a press release, with business and marketing terms and corporate speak peppered here and there. But if the cloud seemed to form an important basis for real-time communications, then I will have learnt something. The new article will be more relevant to you, I promise. Your manager might be more interested in this one.

On clouds and collaboration

Collaboration used to occur across a table. Coworkers, clients, and vendors looked each other in the eye and worked within sight and touch of one another. Today, you don’t have to be in the same room to look each other in the eye. Currently, over 70% of American workers are classified as mobile workers. By next year, IDC estimates we’ll have 1.9 billion mobile workers worldwide. Today’s workforce is global, so are the clients. Your employees and your customers work from home, from the coffee shop, or from the road. Tools like virtual desktops, file sharing, and remote email help make that possible while promoting collaboration.

Increasingly, business owners and managers are grasping for ways to reproduce the experience of working within sight and touch of one another. And, many of them are finding that fit in the cloud. Business-to-business organizations are leading the pack in adopting real-time collaboration technology. Others lag behind, citing reasons like the cost of implementation and the lack of internal knowledge. Both reasons can be overcome in the cloud. By sidestepping the cost of implementing and managing infrastructure for real-time collaboration, businesses are free to focus on how to best use the technology to meet strategic goals.

Joe Valeri, president of Lucernex Technologies uses cloud-based collaboration tools to communicate in real time across several sites. “Since we are a geographically dispersed, virtual organization with Mac/PC/LINUX users, we need to use cloud-based, multi-platform platform solutions,” Valeri said. “Webex is used for video conferencing and teleconferencing for internal and external presentation as well as webinars. In Producteev, we build one workspace for each major project we plan to manage, invite team members to that workspace and then the project manager assigns and tracks tasks. Members of the team will update tasks, attach documents, and start threaded conversations that are all auto communicated to anyone on the team that needs to know about that task. It integrates to the desktop for Outlook users as well as Mac users with really intuitive applications.”

Once the technology is in place, the challenge in establishing a real-time collaboration system becomes people issues, reports Larry Dorie, CEO of RHUB Communications. “The technology is usually very straight forward. Starting a session and managing it are very easy. The issues come down to getting everyone to be available at the appropriate time and logged into the system(s) (audio conference, if it is separate) and prepared to share screens/web cams.”

Sanjeev Sisodiya, vice president of the Enterprise Collaboration Practice at Persistent Systems, agreed. “The key challenges are scheduling and sharing the results/outcomes of the real-time collaboration,” Sisodiya said. “While most bridging the real-time collaboration tools address the scheduling challenge with decent integration into Outlook/Exchange, integration into the asynchronous collaboration platform(s) inside organizations, such as Microsoft Sharepoint, Jive, Cisco Quad, etc., can be a challenge. Significant progress is being made in this area as multiple vendors roll out comprehensive, cloud-based collaboration platforms that integrate both real time and asynchronous collaboration.”

When using real-time collaboration internally, the most important concerns are assuring that the correct people are in the meeting, have access to the documents, and no “unwelcomed” guests have joined. User interfaces and access controls in these tools should be designed to make it clear who belongs in what group and provide appropriate mechanisms to restrict sharing when necessary.

When bringing anyone into the collaboration, security, and training need to be considered. In addition to choosing a trusted provider, organizations need a comprehensive usage policy. “Many of these real-time collaboration tools have become quite simple and easy to use,” said Sisodiya. “Given that reality, it is critical that employees be aware of what an organization’s policy is regarding this form of collaboration. This policy must be easy to find and easy to understand which requires internal marketing and education. Once the users are aware of the internal policies the technology infrastructure must also enforce and track those policies as appropriate. This is particularly important for regulated industries such as healthcare or financial services where there can be non-compliance risks in addition to the risk of security breaches.”

Brian Peters, director of marketing strategy & operations at ARRYVE, a Seattle-based consulting firm, suggested three key decision points when it comes to real-time collaboration:

  • Can you easily view and control access? When team members join or leave a project it’s important to be able to add or remove them to protect access to sensitive documents.
  • Do you have access to all communications? Invite a generic admin alias from the company, in addition to the real team members, and make that role the admin in the solution. That way as team members rotate on or off of a project, there is no risk of the company losing access to the project repository or file history.
  • Is the content OK to share on a third-party service? Most of the cloud-based collaboration providers don’t guarantee backup or enhanced security or privacy of content, so while it’s great to have increased flexibility, it’s important to plan for alternative backups or to understand when it’s not appropriate to store content with a third-party provider.

With the right people connected, communicating, and sharing ideas, the cloud becomes the next best thing to being there.