The rise of cloud computing is arguably the most consequential tech development of the past decade. Businesses now find it cheaper and easier than ever to access scalable, agile processing power and storage, and end users enjoy unprecedented platform flexibility. Software is more responsive, more social, and crucially, more portable than ever.
Meanwhile, developers are gaining new access to high-performance processing just as the diversity of digital consumer devices is about to explode. CES 2015 saw the debut of smart objects that we've never seen connected before, including "rings, pendants, jackets, handbags and so on." All of these devices that are part of the so-called Internet of Things, as well as devices like smartphones and tablets, will run cloud-based applications.
The forward-thinking SaaS company needs to design into this flexibility. At Grovo, we experimented quite a bit in designing our own product, which is a cloud-based, mobile-optimized web application with a lot of static and dynamic content. Here are a few guidelines we've arrived at through this process, which hopefully will help you capitalize on the cloud computing revolution in building your SaaS product.
Handle security in one spot
The emergence of cloud computing is, in many ways, the story of improving cybersecurity. Any system that relies on a network of servers to process sensitive data is susceptible to malicious actors. If addressed properly, however, this weakness can be an advantage for your product. Just as the medieval cities under constant attack were the ones that built the strongest walls, so will your cloud-based application live in a safer environment than it would on the private servers of yesteryear.
Given the potentially catastrophic vulnerability inherent to cloud computing, airtight security will be a singular focus of platform providers and network administrators. This is a huge help to small companies, which can use cloud computing to leverage billions of dollars' worth of security R&D for a small cost. Your customers' security is easier too: rather than having to download security patches, one fix to your cloud application will effectively push out to all your users.
Designing for cloud security can also make your product run better. If you reduce an application's exposure to infiltration by limiting its number of API end-points, for example, that means your processing components will be compactly-housed and more efficient. If you design in the anticipation of data loss, that means that you'll automate your backup-and-restore process, which might come in handy in the event of a more pedestrian outage. Addressing these concerns at the application level will make your product not only safer, but more resilient.
Optimize for different platforms by keeping data in the cloud
Approximately 50 billion devices will be connected to the Internet in five years' time, all of different sizes, uses, and interfaces. The successful SaaS product will anticipate this variety with a single flexible, cross-platform user experience. Cloud computing means that processing power can be constant from one device to another, so that a smartwatch could run an application with the same speed and using the same caches as a desktop.
This revolutionizes the theory behind building a SaaS product that is intended to run on different platforms. Not long ago, desktop and mobile-optimized applications were entirely different pieces of software. Today, it's easier to build a web application that lives in the cloud and looks beautiful on both phones and monitors than it is to support a distinct mobile app. With mobile design best practices increasingly finding consensus, look for this unified-design trend to continue.
Make it easier for your product to optimize on different devices by limiting its native processing requirements. It's tempting to preempt latency and data-delivery issues by having the device running your app handle a lot of processing. Resist that inclination. We ship data to the cloud as much as possible so that we can focus on designing for ergonomics across different devices without suffering their diminished processing capacity. Grovo in particular benefits from having a lot of static data (mostly videos) that we can keep closer to the end user instead of the cloud's processors. The important thing is that it's off the devices, so it runs well across a variety of them.
Make an elastic, social product
One of the most important advantages cloud computing offers businesses is the easy scalability of computing power. A recent University of Berkeley study on cloud computing put that scalability into perspective, noting that "using 1000 servers for one hour costs no more than using one server for 1000 hours. This elasticity of resources, without paying a premium for large scale, is unprecedented in the history of IT."
Take advantage of this quantum expansion of processing power by building an application that uses parallel operations. I actually think there is precedent for what we're offered by cloud computing: it was only about 15 years ago that dual-core processors opened up multi-threaded applications to simultaneous computing, soon followed by quad-core processors and so on. Now, you can write for a nearly unlimited amount of processors and servers. It's easier than it sounds; Amazon Web Services' official best practices guide recommends that you "not only implement parallelization wherever possible but also automate it because the cloud allows you to create a repeatable process very easily."
The opportunities of radical parallelization truly unfold when you consider the potential of having multiple devices inputting into one application at the same time. This is what enables your product to become a real-time social tool that places itself immediately in the user's life. The difference is huge. Compare, for example, the traffic app Waze -- which processes user data in real time -- to Google Maps, a static, old-school mobile app. Google bought Waze for $1.3 billion to add just this functionality. In 2015 and beyond, users will demand it. Parallel construction and service-oriented architecture will achieve it.
The best of all worlds
Cloud computing has liberated SaaS companies like few developments before it. It has allowed us to focus on creating a user experience that scales the right way on different devices, and on building an application that is as safe and efficient as possible. We don't worry about storage or security the way we would in the days of private servers, and our users love the fact that the interface is consistent across hardware. None of this is to say that SaaS companies who build separate apps for different platforms are going astray; only that in our case, we've found that an optimized web application delivers the best of all worlds.
Jeff Fernandez is the CEO and Cofounder of Grovo, the quickest, simplest training platform for digital and professional skills. The venture-backed learning technology company is based in New York City and serves Fortune 500 companies, businesses and universities in 190 countries.