Following up from our prior blog on “To app or not to app” this one is equally relevant, if not more.
Scene: You are looking for software to solve a business problem or bring efficiencies to operations, processes or provide services to your customers, integrate better with suppliers, partners, employees etc. One question you will have to ask in today’s environments is “should the software solution be a cloud solution?”
A brief recap on cloud – cloud computing is a simple concept – your pc, laptop, device is no longer running the software (and/or resource) that you are using. The software is being run in some remote machine (could be your server room or a remote off-site server) – also called SaaS (software as a service). Quick note: cloud also has other components, viz. IaaS (infrastructure as a service), PaaS (platform as a service) and DaaS (development as a service) – but for this discussion let us focus on the Software portion.
Some quick, good links to cloud http://medullus.com/cloud-migrations/
So to answer the impending question, it is best to answer another one!
Why is the question “To cloud or not to cloud” important?
(a) Security – most software now cross the boundaries of your office (firewall). They have interactions with email, customers, suppliers, surely employees accessing from remote, mobile devices etc. Although your internal network is buttoned up, your security and governance policies are well-defined and security audits are intact, it is still vulnerable. The only reason is that breaches are a factor of the opportunities that “system access” provide to hackers and not dependent on where the data resides. Studies have proved that it is safer to be in the cloud than traditional IT networks. Why that is the case is a discussion for another time, but you can easily search this on the internet or wait for our next few blogs on this! Having said that you cannot uproot your business and move to the cloud today if you are not there yet, but when developing your next software, you should see if the software can be “cloud ready”
(b) Scalability – can the software scale with your business? If you experience growth do you need to reinvest in upgrading the software? Similarly if you need to scale down, does the software environment provide for cutting costs? In a traditional IT environment it is difficult to cut costs when you have invested in infrastructure. It is a sunk cost. Software and infrastructure in a cloud environment may provide you with the scalability you need if implemented correctly.
(c) Availability – enterprise software needs to be highly available. Today’s business is 24×7 and that is not an idiom nor a cliché anymore – it is the life blood of your business and to be competitive you need to have software that has high availability if not fault tolerant. A traditional IT infrastructure and software system needs downtime – can you afford such downtime? Cloud environments typically have redundancy built in so downtime is minimal to none.
(d) Performance – software as a service is vulnerable to internet band width. While that can be a drawback, most well-designed software allows an offline component that caches data locally while there is latency and syncs updates back to the cloud once band width is restored. However such latencies are slim to none in today’s broadband markets. If you are located in areas where you do not have good internet most of the time, then a remote cloud solution may not be viable. But your software can still enjoy high availability if it is “cloud ready” and runs in a server located within your premises and is not running locally on your devices. And when you have that broadband and you are ready to migrate a remote cloud solution all you need to do is network changes – your software is already cloud enabled!
(e) Support – cloud software solutions are a lot easier to support, administer and monitor. Your IT support will need to monitor one resource (or a few, depending on the architecture and complexity of the software) instead of end user devices. Patch installations, upgrades and release management is relatively easier due to the same reasons.
(f) Ease of access – this is a big benefit – a software as a service allows the software to be accessed from anywhere and if designed and developed correctly, from any device. No more worrying about VPN or connecting to remote terminals, printers etc – the software runs anywhere so long as the device is connected to the internet.
(g) Cost (short term and long term) – finally, the inevitable discussion re: cost. Is it cheaper to have a Saas model, desktop software, remote install? Short term? (1-6 months), longer term? (18 months+). The real question to ask is the value you are getting from a piece of software. There are upfront costs in all types of software – some are cheaper to install, others are cheaper when looking at lifetime ownership. This is a topic of big debate and the correct answer is “it depends” – although that is not an answer that you would like to hear as a consumer, it is also not that indeterminate. Cost comparisons can be done at proposal and a good software development company will provide both alternatives with pros, cons and value (short term and lifetime).
So to answer the main question – “To cloud or not to cloud” from a software development perspective – the answer is a big YES. Every software that gets developed in today’s business environments should be “cloud ready” – are you asking this question to your software developers?
Roni has 16 years of experience in leading small to large scale IT projects for various markets. Roni successfully founded 2 companies spanning multiple locations and time-zones. He rolls up his sleeves and gets into software development anytime you ask him and database development is his passion – we call him “our sequel junkie”! Roni has a Bachelor’s in Engineering, his very valued PMP and is close to finishing his Global MBA from the coveted Warwick Business School in the UK. When asked about his personal life he says “We, my wife and 2 boys, live in the picturesque Hudson Valley region of New York. A Yankees and New York Giants fan, I also enjoy strumming my guitars every day, mixing recipes from different cultures when I get some time and hack away during an occasional round of golf.”