A Primer on the Cloud
This is part 1 of a 4-part series called Demystifying the Cloud. This blog series explores the differences between cloud-based solutions and traditional on-premise solutions, and the potential that the right cloud solution has to impact manufacturing organizations.
Every day, consumers use a variety of cloud technologies. From office instant messaging and video calls, to media streaming and social media, cloud solutions surround our personal and work environments. Many organizations leverage cloud-based solutions to log customer information, share documentation, and communicate across their organization. Yet, some organizations still consider cloud computing to be a new and confusing technology.
Take the manufacturing industry for example. According to a 2016 report from The Economist Intelligence Unit, 7 percent of manufacturing senior executives believed that cloud had a pervasive presence in their industry. Despite the low percentage indicating the cloud’s presence, the same study asked what these same executives predicted for future cloud penetration. An overwhelming 71 percent of executives indicated that cloud would be a major factor in five years (by 2020). Today, the explosion of innovations fueled by the Internet of Things (IoT) are proving that investment in cloud technologies significantly impacts every step of the manufacturing process.
Despite its growing prevalence, benefits, and capabilities, many manufacturing organizations have shied away from implementation. They consider cloud computing to be risky, mysterious, and complicated. One of the best strategies to reduce feelings of risk and justify investment is to understand the technology and remove its ambiguity. The cloud seems intimidating to the uninitiated, but once we dissect the components and terminology, the cloud becomes less scary and more manageable.
Cloud Service Models: Infrastructure, Platform, and Software
At its core, cloud computing allows companies to harness information technology (IT) resources–such as processing power, storage, applications, or infrastructure–over an existing network. A cloud service provider owns and manages remote data centers, providing the technology infrastructure that is traditionally located at an organization’s site. Users can access their resources over the public internet or through a private connection.
There are three different cloud computing service models that organizations can leverage. These service models build on each other, providing infrastructure, platform, and software as a cloud service (IaaS, PaaS, SaaS). Figure 1 below demonstrates a clear way to visualize the relationship between the service models:
Infrastructure as a Service (IaaS)
Infrastructure as a Service (IaaS) companies remove the burden of managing the physical IT infrastructure (such as servers, storage, and networking) and the virtualization layer (such as a virtual machine). IaaS providers transfer locally-hosted infrastructure elements to the cloud, such as:
- Networking hardware
Many IaaS providers can also supply services such as load balancing, security, and itemized billing statements to allow their customers to manage the cloud-based infrastructure components. The contracted organization maintains responsibility for managing applications, data, runtime, middleware, and the operating system. IaaS deployments are ideal for instances where workloads are temporary, experimental, or subject to change rapidly and without warning.
Platform as a Service (PaaS)
Platform as a Service (PaaS) is the next step in the cloud computing model, providing the application stack for users. PaaS layers on top of infrastructure components, then adds the elements necessary to develop, customize, and manage a software application:
- Operating systems
- Development tools
- Database management
Through PaaS, an organization gains simplicity and convenience in their application development. PaaS provides customization capabilities (such as customizing text or images in their software development), version management, compiling, and testing services to help developers. Finally, PaaS enables teams to collaborate even if they aren’t in the same physical space. Distributed teams can access the same tools, files, programs, and virtual desktops.
Software as a Service (SaaS)
Software as a Service (SaaS) providers combine the elements of IaaS and PaaS, and include the cloud-hosted software application and data management. Instead of installing software licenses or applications directly on their personal machines, users access products in a browser or lightweight client. They leverage cloud-based compute, storage, and infrastructure rather than what is on their machines.
Software types range from online productivity tools, to accounting, to light simulation programs. When leveraging SaaS solutions, an organization generally has no upkeep responsibilities or control over the product – which some can view as a benefit or a limitation. My next blog discusses this in depth.
Cloud Resources: Dynamic or Static Scaling
Cloud elasticity and scalability reference how organizations add or remove cloud resources. The difference is whether resource additions occur dynamically or statically. An organization’s unique situation with growth will determine whether they find more success adding resources dynamically or statically.
Cloud elasticity allows a service provider to dynamically and automatically allocate cloud resources. Resources contract or expand according to varying workload. Organizations that have ever-changing demands for resources find more success with cloud elasticity.
A cloud service provider manages resources in an approach called “resource pooling.” The provider has access to all its available resources at any given time. It manages and distributes its resources dynamically, adding or taking away resources based on the current needs. When done correctly, the end users or customers rarely notice change in their service.
Conversely, cloud scalability is a more hands-on approach, allowing users to statically add resources to their infrastructure. Predictable or constant organizations find cloud scalability more optimal than cloud elasticity. Two examples of scalable services include:
- On-demand cloud services: Users can request the service provider scale resources up or down. By extension, on-demand self-service enables users to modify resources according to demand without needing to communicate with the service provider.
- On-measured basis: The service provider meters services, and uses the exact usage to assess billing, or shares information with the customer to predict future usage.
Multi-tenant vs. Single-tenant: To Share or Not to Share
In many cases, cloud platforms host an organization’s infrastructure, platform, or application with other consumers on the same servers. This is called a “multi-tenant” environment. A single-tenant environment allocates all resources to a specific user or company. To determine which environment is most ideal, an organization must understand their needs relating to:
- Cost: Not surprisingly, leveraging a single-tenant environment is significantly more expensive than multi-tenant environments.
- Security: Although cloud security has evolved in recent years to better protect a customer’s data in a multi-tenant environment, many organizations may still desire a single-tenant environment for a an extra layer of security. I will discuss security in greater detail in later blogs.
- Customization: On request, some service providers will provide an organization the underlying code to the environment to customize a single-tenant environment. Multi-tenant environments limit the ability to customize due to the shared nature.
Deploying the Cloud: Public, Private, or Hybrid
An organization’s needs will dictate the optimal type of cloud deployment. In general, organizations that need lower cost and security gravitate to public clouds. Private clouds provide greater security and scalability.
Public Cloud Deployment
Public cloud platforms share resources over the public internet. By their nature, public clouds tend to be multi-tenant environments with users all accessing shared hardware. Public cloud services are generally low cost and maintenance, with high scalability and reliability.
Private Cloud Deployment
Private cloud services provide high levels of flexibility, security, and scalability. These deployments are generally single-tenant environments, adding an extra level of security. Due to the dedicated nature of private clouds, the pay-as-you-go model does not apply to private cloud users.
If an organization wants to access a private cloud while maintaining a pay-as-you-go scheme, they can employ a Virtual Private Cloud (VPC). A VPC actually runs on a public cloud, but maintains a level of data isolation by allocating private IP subnets and virtual communications constructs.
Hybrid Cloud Deployment
Hybrid cloud solutions combine on-premise datacenters and cloud-based resources. For example, an organization may use a public cloud for lower-security applications and a private cloud for mission-critical information. Hybrid clouds provide users control, flexibility, cost scalability, and a phased approach.
Cloud Storage vs. Cloud Computing
Cloud storage refers to the storage space located at the service provider’s datacenter. For example, cloud storage includes everything from personal cell phone accounts to industrial clients storing product information or media files. Users access their data from any device, allowing for greater collaboration opportunities.
Cloud computing leverages computational resources located at an off-site data center. This is particularly valuable to engineering and manufacturing companies, who may wish to perform computationally-intensive simulations such as CFD or FEA simulations simulations.
Laying the Foundation
Understanding the terms associated with the cloud is only the first step in its demystification. Once an organization truly sees through the misconceptions of the cloud, understands its benefits, and overcomes implementation challenges, they can understand how a cloud-based software solution may impact their workflows.
About Robert Kluin
Robert Kluin is managing partner at Real Kinetic, where he specializes in helping companies leverage the cloud and scale their business. Robert is an experienced technology executive and entrepreneur who is passionate about helping companies develop engineering organizations that reliably deliver business value. Previously, Robert led the operations engineering, infrastructure engineering, reliability engineering, and support engineering groups at Workiva to ensure 24×7 operations and deliver systems to meet product engineering needs. He is a Google Cloud Platform Developers Expert and is an expert in Amazon Web Services.