Cloud Infrastructure and uses in Data Science

Posted by Kanwal Arora on September 30, 2020

What is Cloud Computing?

Cloud computing is the act of running workloads within clouds—which are IT environments that abstract, pool, and share scalable resources across a network. Neither cloud computing nor clouds are technologies unto themselves.

  • Cloud computing is an act—the function of running a workload in a cloud.
  • Clouds are environments—places where applications run.
  • Technologies are things—software and hardware used to build and use clouds.

Whats is Cloud infrastructure?

Cloud infrastructure is a term used to describe the components needed for cloud computing, which includes hardware, abstracted resources, storage, and network resources. Think of cloud infrastructure as the tools needed to build a cloud. In order to host services and applications in the cloud, you need cloud infrastructure.

What’s included in cloud infrastructure?

Cloud infrastructure is made up of several components, each integrated with one another into a single architecture supporting business operations. A typical solution may be composed of hardware, virtualization, storage, and networking components.

As a term, cloud infrastructure can be used to describe a complete cloud computing system—once all the pieces are put together—as well as the individual technologies themselves.

Components of cloud infrastructure

Hardware

Although you probably think of clouds as being virtual, they require hardware as part of the infrastructure.

A cloud network is made up of a variety of physical hardware that can be located at multiple geographical locations.

The hardware includes networking equipment, like switches, routers, firewalls, and load balancers, storage arrays, backup devices, and servers.

Virtualization connects the servers together, dividing and abstracting resources to make them accessible to users.

Virtualization

Virtualization is technology that separates IT services and functions from hardware.

Software called a hypervisor sits on top of physical hardware and abstracts the machine’s resources, such as memory, computing power, and storage.

Once these virtual resources are allocated into centralized pools they’re considered clouds.

With clouds, you get the benefits of self-service access, automated infrastructure scaling, and dynamic resource pools.

Storage

Within a single datacenter, data may be stored across many disks in a single storage array. Storage management ensures data is correctly being backed up, that outdated backups are removed regularly, and that data is indexed for retrieval in case any storage component fails.

Virtualization abstracts storage space from hardware systems so that it can be accessed by users as cloud storage.

When storage is turned into a cloud resource, you can add or remove drives, repurpose hardware, and respond to change without manually provisioning separate storage servers for every new initiative.

Network

The network is composed of physical wires, switches, routers, and other equipment. Virtual networks are created on top of these physical resources.

A typical cloud network configuration is composed of multiple subnetworks, each with varying levels of visibility. The cloud permits the creation of virtual local area networks (VLANs) and assigns static and/or dynamic addresses as needed for all network resources.

The cloud resources are delivered to users over a network, such as the internet or an intranet, so you can access cloud services or apps remotely on demand.

Type of Cloud

Public Cloud

A public cloud environment is owned by an outsourced cloud provider and is accessible to many businesses through the internet on a pay-per-use model. This deployment model provides services and infrastructure to businesses who want to save money on IT operational costs, but it’s the cloud provider who is responsible for the creation and maintenance of the resources.

Public clouds are ideal for small and medium sized businesses with a tight budget requiring a quick and easy platform in which to deploy IT resources.

Pros of a public cloud

  • Easy scalability
  • No geographical restrictions
  • Cost effective
  • Highly reliable
  • Easy to manage

Cons of a public cloud

  • Not considered the safest option for sensitive data

Private Cloud

This cloud deployment model is a bespoke infrastructure owned by a single business. It offers a more controlled environment in which access to IT resources is more centralised within the business. This model can be externally hosted or can be managed in-house. Although private cloud hosting can be expensive, for larger businesses it can offer a higher level of security and more autonomy to customise the storage, networking and compute components to suit their IT requirements.

Pros of a private cloud

  • Improved level of security
  • Greater control over the server
  • Customisable

Cons of a private cloud

  • Harder to access data from remote locations
  • Requires IT expertise

Hybrid Cloud

For businesses seeking the benefits of both private and public cloud deployment models, a hybrid cloud environment is a good option. By combining the two models, a hybrid cloud model provides a more tailored IT solution that meets specific business requirements.

Pros of a hybrid cloud

  • Highly flexible and scalable
  • Cost effective
  • Enhanced security

Cons of a hybrid cloud

  • Communication in network level may be conflicted as it’s used in both private and public clouds.

Cloud Services

There are three main service models of cloud computing – Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). There are clear differences between the three and what they can offer a business in terms of storage and resource pooling, but they can also interact with each other to form one comprehensive model of cloud computing.

IaaS (Infrastructure as Service)

This is the most common service model of cloud computing as it offers the fundamental infrastructure of virtual servers, network, operating systems and data storage drives. It allows for the flexibility, reliability and scalability that many businesses seek with the cloud, and removes the need for hardware in the office. This makes it ideal for small and medium sized organisations looking for a cost-effective IT solution to support business growth. IaaS is a fully outsourced pay-for-use service and is available as a public, private or hybrid infrastructure.

PaaS (Platform-as-a-Service)

This is where cloud computing providers deploy the infrastructure and software framework, but businesses can develop and run their own applications. Web applications can be created quickly and easily via PaaS, and the service is flexible and robust enough to support them. PaaS solutions are scalable and ideal for business environments where multiple developers are working on a single project. It is also handy for situations where an existing data source (such as CRM tool) needs to be leveraged.

SaaS (Software as a Service)

This cloud computing solution involves the deployment of software over the internet to variousbusinesses who pay via subscription or a pay-per-use model. It is a valuable tool for CRM and for applications that need a lot of web or mobile access – such as mobile sales management software. SaaS is managed from a central location so businesses don’t have to worry about maintaining it themselves, and is ideal for short-term projects.

Platforms of Cloud Infrastructure

1. Amazon Web Services:

Amazon Web Services (AWS) is a subsidiary of Amazon (a leading company in eCommerce). Under the umbrella term of AWS, Amazon provides on-demand cloud computing platforms like storage, data analysis, etc. With a whopping 35% market share, Amazon lends its services to individuals, companies, and governments. Amazon Web Services allow their subscribers to enjoy a full-fledged virtual cluster of computers, at any time, based on their requirements. The entire service is enabled through the internet.

Among all the cloud service providers Amazon is considered is the most powerful and flexible solution. AWS’s virtual cloud platform comes with most of the attributes of an actual computer including hardware (CPU(s) & GPU(s) for processing, hard-disk/SSD for storage & local/RAM for memory); an operating system to choose from and pre-loaded apps like web servers, databases, CRM, etc.

2. Google Cloud Platform:

Google offers its public cloud computing solutions with the name of Google Cloud Platform, or GCP. It offers services in all major spheres including compute, networking, storage, machine learning (ML) and the internet of things (IoT). It also includes tools for cloud management, security, and development. The Google Cloud Storage is a highly dynamic storage solution that supports both SQL (Cloud SQL) and NoSQL (Cloud Datastore) database storage.

The Google Compute Engine (Infrastructure as a Service, or IaaS) provides users with virtual machine instances for workload hosting. The Google App Engine (Platform as a Service, or PaaS) offers software developers access to Google’s on-demand hosting and a software development kit (SDK) to develop applications that run on app engine. All these services can be accessed using a public internet or via dedicated networks.

Google Cloud Platform or GCP is the home of Kubernetes. Kubernetes was developed by Google in 2014 as open source. Google Kubernetes Engine or GKE provides users with a managed environment for the deployment, management, and scaling of containerized applications with the help of Google infrastructure.

3. Microsoft Azure:

Microsoft Azure (formerly Windows Azure) is the cloud computing service from Microsoft. Enabled primarily through Microsoft-managed data centers, this service proves to be a reliable solution, especially for Microsoft evangelists. Like the above solutions, it supports the development, test, deployment, and management of applications and services. For web development, it offers support for PHP, ASP.net, and Node.js.

The Windows Azure is used to deploy code on Microsoft’s servers. This code holds access to local storage resources (blobs, queues, and tables). While the SQL Azure it is not a full SQL Server instance it can be integrated with SQL Server. The security features like authentication, security, etc. are supported using Azure AppFabric that allows applications within your LAN to communicate with Azure cloud. Overall it is a complete package that supports development, management as well security of applications.

4. IBM Bluemix:

IBM Bluemix is the cloud computing solution from IBM that comes with the platform (PaaS) as well as infrastructure as a service (IaaS) offerings. With Bluemix IaaS, users can deploy and access virtualized compute power, storage and networking using the internet. The IBM service offerings can be used as a public, private or hybrid model whichever suits an organization’s need.

The IBM Bluemix PaaS is based on an open source cloud platform – Cloud Foundry. IBM services can be used by developers to create, manage, run and deploy scalable applications for both public cloud and on-premises environments. The programming languages that are supported by IBM Bluemix include Java, Node.js, PHP, and Python. The solution can even be extended to support other languages.

5. Alibaba:

Alibaba Cloud is the cloud initiative of the Chinese eCommerce giant – Alibaba Group. The Alibaba services dominate the Chinese market and have roots all across the globe with headquarters in Hangzhou, China. It was established in 2009, just three years after the incorporation of Amazon Web Services. Being in the same business as Amazon it is often considered the toughest competitor of AWS.

Alibaba Cloud began as a private cloud which was meant to support the internal infrastructural needs of the Alibaba Group but it soon scaled to a public cloud solution provider. The Alibaba Cloud computing services cover all the major cloud services like elastic computing, hosting, object storage, relational database (SQL), NoSQL database (using the Table Store), big data analytics (Hadoop), Machine Learning (ML) and Artificial Intelligence (AI).

If you are looking for a suitable multi cloud solutions for your enterprise needs then feel free to contact us. With a deep expertise in cloud management and development, big data and machine learning, we can suggest an appropriate solution for your needs and help you securely move to cloud.