"No one understands the cloud! It's a mystery!"
Those words of anguish, from Jason Segel to his co-star Cameron Diaz in a new comedy, sum up the confusion that still surrounds cloud technology for most people. In this case, the pair discovers that their computer has uploaded undesirable personal data to a cloud-based file sharing service, making it visible to everyone they know. Can they get the offending content back, saving some shred of their dignity in the process?
While this is a fictional story wrapped around a comedic personal mishap, it identifies some key challenges we face with cloud computing today, from the lack of controls for safeguarding data to a general lack of knowledge in the general public.
For those of us in the business community who work with systems like Microsoft Dynamics, managing sensitive information such as customer data and payroll records requires understanding some of the common cloud terms and what they mean to an organization. And you'll need to be able to explain these terms to others who require at least a basic understanding of what the stakes are in a cloud-based business environment.
1) What is "The Cloud"?
"Cloud computing" has become a buzz word that is used interchangeably for various models of software and services that run somewhere other than your own property and infrastructure. Essentially, the cloud is the outsourced online infrastructure (i.e. servers and databases) for an application or multiple applications that can be accessed through the Internet.
Cloud computing resources are similar to a utility service, but the cloud can refer to multiple licensing models and service levels, and these are the details that decision makers should carefully define when evaluating a cloud offering. When used in a vague sense, the term "cloud" can refer to hosting of your own software off premise or it can be used to reference subscription licensing of software on top of shared computing and infrastructure services.
2) Public vs. Private Cloud
A public cloud service is provided "as-a-service" over the Internet, and cloud service provider manages the infrastructure and the applications that run on top of it. In a public cloud, the business application software, hardware, data center and operating system is shared (multi-tenant) and broadly available, meaning almost any person or organization who wants to purchase it can utilize the service alongside your own team. As a result, it tends to be a very low cost option since it is designed for large scale availability.
A private cloud is also provided "as-a-service" or on demand, but the infrastructure is based on dedicated hardware under the control of a provider organization, or sometimes outsourced by internal IT departments. Virtualization is the key technology that helps a company realize similar cost savings to a public cloud solution, while giving them a separate application instance and virtual "pod" for their infrastructure. In a private cloud, the only shared component is the provider's infrastructure. The virtual layer is software that allows the application to use shared hardware and still remain protected. A company's business applications and database are stored on its own virtual layer, creating a protective bubble around the application set and data.
Much has been written about the usage of public versus private clouds. A private cloud offers the most secure way to deliver agile and updated applications, especially for systems with sensitive data or specialized technical requirements. A public cloud is a perfect and practical option for systems with less sensitive data. An approach of mixing deployment models or integrating applications between two models is called a hybrid approach, or hybrid cloud.
3) Cloud Storage
Cloud storage solutions can be as elegant and well-packaged as Dropbox, OneDrive, Google Drive or iCloud, where the user interface and actions are clearly defined and easy to use. For applications and software development, there are also raw platforms like Azure storage or Amazon S3. These clouds are great for development and testing as well as back-up storage. However, just like there are concerns related to the accidental sharing of data in a public cloud, there are concerns over the security of enterprise data within these multi-tenant environments. Some of these services allow users to share content with the click of a button (as in the case of our previously mentioned movie).
4) Software as a Service (SaaS)
SaaS solutions are the most common type of cloud computing and provide everything needed to run an application for a monthly subscription fee. Examples of SaaS solutions include Microsoft Dynamics CRM Online, Office 365, NetSuite, and QuickBooks Online. Certified Microsoft Dynamics partners can provide Dynamics in a SaaS model with a subscription license. An advantage of SaaS for Dynamics is the ability to scale up and down on the number of users at any time, as well as to catch up on licensing after a lapse. While SaaS solutions provide a lower barrier to entry, moving from one SaaS solution to another may pose the same challenges for porting your data as you would find in changing from any platform to another.
5) Infrastructure as a Service (IaaS)
IaaS offerings provide the customer with server and technical infrastructure as a monthly subscription. This solution has been popularized due to the fact that many relevant line-of-business applications and services haven't been rewritten as modern cloud apps, yet can still be "hosted" in the cloud. IaaS is also referred to as the modern datacenter, as organizations can take advantage of cloud properties such as the ability to grow or shrink their footprint based on their requirements, but without the need to convert to a subscription model. Specific to Microsoft Dynamics, this model allows an organization to retain their licensing and current partner but still take advantage of a cloud deployment.
6) Platform as a Service (PaaS)
PaaS is the future of cloud computing. This cloud service provides the necessary components and frameworks for applications to be developed, tested and run with a cloud service provider but without the need to manage the infrastructure. The most well-known players in this space are Microsoft Windows Azure, Amazon AWS and the Google App engine. Taking advantage of public cloud environments is a cost-saving strategy for development and testing. However, organizations should be aware that applications have to be specially developed to leverage the specific cloud platform. These applications typically cannot be ported back to a standard package deployment because the application will be coded to leverage the cloud platform, database connections, etc. Because some private cloud providers will also provide test environments as part of their solution, organizations will want to choose their platforms carefully based on the end goal.
As with any other critical business move, selecting a cloud environment and provider should not be taken lightly. It is important to employ a partner with the flexibility to offer solutions that fit different application needs and stages of the development lifecycle. Be sure to discuss your goals and objectives early and often with your Dynamics partner and/or cloud provider. The strength of their expertise, not just the quality of the solution, will be a key factor in a smooth deployment.