It's in the Cloud
"It’s in the cloud." This phrase is being repeated all over the world by all sorts of people -adults, children, corporations, small businesses, entrepreneurs, governments and even presidential candidates are all touting the powers of the cloud to revolutionize business and our lives. It seems that on a daily basis a new “cloud-based” service emerges. One thing we know for sure is that the “cloud” is here to stay.
Building a new service based on cloud technology is one thing, but how do companies bring legacy technologies and legacy processes into the modern cloud era? For most organizations this is the reality. Although the Silicon Valley startup world gets a lot of media attention, the fact is that most companies are in an epic struggle to move into a computing world that is vastly different from what they know.
There are five key questions any organization should ask themselves as they move toward deploying applications in the cloud:
1. Should I use public or private cloud services – or both?
2. Can I re-deploy existing applications or do I have to rebuild them?
3. Can I use the same design and development methodologies I have always used?
4. How do I get the increased performance, scalability and high availability the cloud promises?
5. Do I have the right team and skills to support my new development and operational needs?
It is important to do your homework. SaaS (Software), PaaS (Platform), or IaaS (Infrastructure)? All three may be appropriate for some aspects of your architecture. Is a multi-tenant solution right for you? Do you really understand the implications of multi-tenancy? Whether public or private, multi-tenant or not, there are always tradeoffs. Security, high availability, monitoring, regulatory compliance, how and what you pay for—don’t assume anything. Each one of these important topics needs to be researched and discussed before you commit to a particular cloud approach.
Remember, there is no right answer. The particular demands of an organization or industry will ultimately drive what type of platform or service you ultimately choose to use.
One of the key selling points for the cloud is cost efficiency
In general, you will likely not be able to re-deploy existing applications in the cloud. Even if technically possible, you will not likely reap many of the benefits afforded by cloud technologies and you may open yourself up to a number of unforeseen problems. One important design principle to keep in mind when building for the cloud is: assume that any VM and its data may be lost at any time. Build applications knowing they will fail. Break your applications into the smallest chunks you possibly can. Allow services to scale and fail independently.
Although the use of Virtual Machines in traditional in-house client-server environments has been around for years, designing and building “cloud first” applications substantially changes the dynamic of resource utilization. The idea of static resources in many cloud environments in no longer necessary.
One of the key selling points for the cloud is cost efficiency. Much of that efficiency can be lost by using the same resource allocation and utilization paradigm used in client-server environments. Take advantage of both horizontal and vertical scalability, and consider how on-demand resources will obtain code and configuration settings in an unattended fashion.
One area that is often ignored when an organization moves into the cloud is the human element. Roles and responsibilities shift, training and certification needs change and you may face an undercurrent of reluctance on the part of your employees to embrace this new computing model. Successfully staffing, training and motivating your team is as important as the vendors, tools and technologies you choose to use.
Myth vs. Reality
Is the cloud cheaper?
Is systems engineering less resource intensive?
Is the cloud less secure than traditional computing models?
For companies edging into cloud computing, these three questions are important factors in determining if or how they adopt this new computing model.
Is the cloud cheaper?
The simple answer is yes, especially for startups or small companies just getting started. Cloud computing is a non-capital-intensive strategy, so the initial costs are tangibly lower than traditional computing strategies.Ongoing operational costs are consistently lower as well. However, if not properly architected, you can quickly see your monthly bill skyrocket,so be careful.
Is Systems Engineering Less Resource Intensive?
Most experienced cloud users would say no. You may no longer be worried about hardware maintenance and other aspects of a physical infrastructure, but that doesn’t mean the cloud runs itself. The lines between traditional systems engineers and dev-ops have become blurred. There is plenty of time, effort and energy required to set up, maintain and most importantly, get the most out of your cloud computing environment.
Is The Cloud Less Secure Than Traditional Computing Models?
Security concerns seem to be a common thread among those reluctant to move to the cloud. In general, this concern is unfounded. News of security breaches is an all too common occurrence these days. Big companies, small companies, those that operate their own data centers, use a co-lo strategy or the cloud are all affected. Security is about how you configure, maintain and manage your infrastructure and application code. The physical location or the use of multi-tenant services have little to no bearing on how secure your application or data are. If you are comfortable trusting your personal information to cloud services, why wouldn’t the same apply to your business?
With so much to be gained—cost savings, scalability, availability, accessibility, the list goes on – it is no wonder that in one way or another, most companies are jumping into the cloud world. As you see your own business through this transition, be sure to ask (and answer) the tough questions, and remember to recognize that changes in how you manage, develop and deploy your resources, both human and technology, will also be part of the process.