In this chapter, we are going to learn the important aspects of cloud analytics. We are going to build a platform to get a better understanding of Google Cloud Platform (GCP) and its tools. This chapter will help you in understanding the purpose of GCP, the motto behind different tools and services that we have on the platform. But while we are learning about cloud analytics, cloud computing and analytics are also very important topics to cover. Thereafter, we are also going to learn about the major benefits of having cloud computing and having analytics in production. These topics will be covered in a very simple way.
As we go ahead in the chapter, we will also learn about the analytics part associated with the cloud. The cloud is not only about using the infrastructure of vendors, but along with that we also need to use our data on the cloud appropriately. Some cloud vendors do have their own tools over cloud to use this data, and a few are reliant on other cloud vendors to provide the same service. Once we are clear on these topics, we will learn the merging of cloud computing and analytics and will give birth to cloud analytics. The role of cloud analytics in the industry will be studied and what benefit it has over traditional systems.
We will cover the following topics in this chapter:
- What is cloud computing?
- Major benefits of cloud computing
- Cloud computing deployment models
- Types of cloud computing services
- How PaaS, IaaS, and SaaS are separated at service level
- Emerging cloud technologies and services
- Cloud computing security
- A brief history of cloud computing
- Risk and challenges with cloud
- What is cloud analytics?
- 10 major cloud vendors in the world
- Steve Jobs, Co-founder, CEO, and Chairman of Apple Inc.
I don't need a hard disk in my computer if I can get to the server faster, simply carrying around these non-connected computers is byzantine by comparison.
We have been listening, reading, and thinking about cloud computing—but what exactly is it? Is it a supercomputer? Or is it software? Or is the supercomputer sent to the cloud at the height of 35,000 feet for better cooling? How well do we know what cloud is? And how well do we know what cloud computing is? Have you ever given a thought on the fact of what is cloud computing? Okay, so you may know what cloud computing is, but have you heard of Cloud Analytics?
We are going to discuss the same things in this chapter. So, if you consider yourself very naive in the field of cloud, don't bother about that, because every master was once a student. Before understanding cloud analytics, we have to break down the topic bit by bit. Cloud analytics is a combination of cloud computing and analytics.
To date, the industry has been focusing on cloud computing and analytics as separate entities. But now, as we are evolving and adopting new technologies at a faster rate, cloud analytics will the new wave. In the traditional world, organizations were building their own infrastructure. This framework/infrastructure included buying a huge number of servers, network wires, and cooling mechanisms, and then fitting them together.
Along with this came the headache of maintaining it with huge infrastructure and human costs. And upgrading the outdated hardware was a different challenge altogether.
So, before learning about cloud analytics and taking a deep dive, we will understand what cloud computing is and what analytics is.
- Self-service provisioning infrastructure: Customers can compute resources for any requirement. This removes the traditional need for IT administrators / IT architects to provision and handle compute resources.
- Flexibility to scale up and down: Enterprises can scale up and down as computing needs increase or decrease as demand varies. Due to this you are not required to do any massive investments in local infrastructure, which may remain active or inactive as per requirement.
- Workload resilience: Many times, superfluous resources are reserved for cloud service to keep the storage seamless across the globe.
- Pay per resource use: To ensure people pay only for the cloud computing resource they expend, calculations are done at the absolute minuscule level. No overcharging, and bills under control.
- Flexibility to migrate: Enterprises can migrate certain resources to or from the cloud—or to different cloud vendors—as desired or automatically for better cost savings or better performance or to use new services as they emerge.
- Disaster readiness: Against the previous understanding that we need to invest in heavy hardware to have backup recovery, to avoid global outage we need global servers, which are now eliminated due to the presence of cloud platforms.
- Automatic upgrades, working anywhere, and increased collaboration: With cloud we are reduced with the hassle of upgrading the hardware and software. The only thing that you should be concerned about is your product and service. With cloud you also get an opportunity to work independently of the infrastructure, all you need is a system to connect to cloud and the internet. Thus, when you are not worried about upgradation and infrastructure you can collaborate with anyone and from anywhere.
- And the best part is, security: Cloud platforms provide you with the best security standards available in the world. Your code is secured, your data is secured, and your customer identity is secured. All you need to worry about is your product and how to build it.
Now that we have understood the basics of cloud computing and their benefits, let's see what types of cloud deployments we can have in enterprises.
Cloud computing as much about learning the architecture as it is about the different deployment options that we have. We need to know the different ways our cloud infrastructure can be kept open to the world and do we want to restrict it. There are three ways of cloud computing and its deployment:
- Private cloud
- Public cloud
- Hybrid cloud
Private cloud services are built specifically when companies want to hold everything to them. It provides the users with customization in choosing hardware, in all the software options, and storage options. This typically works as a central data center to the internal end users. This model reduces the dependencies on external vendors. Enterprise users accessing this cloud may or may not be billed for utilizing the services.
Private cloud changes how an enterprise decides the architecture of the cloud and how they are going to apply it in their infrastructure. Administration of a private cloud environment can be carried by internal or outsourced staff.
With a private cloud, the same organization is showing itself as the cloud consumer as well as the cloud provider, as the infrastructure is built by them and the consumers are also from the same enterprise. But in order to differentiate these roles, a separate organizational department typically assumes the responsibility for provisioning the cloud and therefore assumes the cloud provider role, whereas the departments requiring access to this established private cloud take the role of the cloud consumer:
In a public cloud deployment model, third-party cloud service provider often provide the cloud service over the internet . Public cloud services are sold with respect to demand and by a minute or hour basis. But if you want, you can go for a long term commitment for up to five years in some cases, such as renting a virtual machine. In the case of renting a virtual machine, the customers pay for the duration, storage, or bandwidth that they consume (this might vary from vendor to vendor).
The architecture of a public cloud will typically go as follows:
The next and the last cloud deployment type is the hybrid cloud. A hybrid cloud is an amalgamation of publiccloud services (GCP, AWS, Azure likes) and an on-premises private cloud (built by respective enterprise). Both on-premise and public have their roles here. On-premise are more for mission-critical applications, whereas public cloud manage spikes in demand. Automation is enabled between both the environment.
The following figure shows the architecture of a hybrid cloud:
The major benefit of a hybrid cloud is to create a uniquely unified, superbly automated, and insanely scalable environment that takes the benefit of everything a public cloud infrastructure has to offer, while still maintaining control over mission-critical vital data.
Some common hybrid cloud examples include:
A cloud computing model in which enterprises uses its own proprietary software and hardware. And this is specifically limited to its own data centre. Servers, cooling system, and storage - everything belongs to the company.
This model includes a mixture of private and public cloud.
It has a few components on-premises, private cloud and it will also be connected to other services on public cloud with perfect orchestration.
Here, we have a complete third-part or a company that lets us use their infrastructure for a given period of time. This is a pay-as-you-use model.
General public can access their infrastructure and no in-house servers are required to be maintained.
HPE, VMWare, Microsoft, OpenStack
Combination of public and private
Google Cloud Platform, Amazon Web Services, Microsoft Azure
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)
We will discuss each of these instances in the following sections.
Infrastructure as a Service often provides the infrastructure such as servers, virtual machines, networks, operating system, storage, and much more on a pay-as-you-use basis. IaaS providers offer VM from small to extra-large machines.
The IaaS gives you complete freedom while choosing the instance type as per yourrequirements:
Common cloud vendors providing the IaaS services are:
- Google Cloud Platform
- Amazon Web Services
- HP Public Cloud
The PaaS model is similar to IaaS, but it also provides the additional tools such as database management system, business intelligence services, and so on. The following figure illustrates the architecture of the PaaS model:
Cloud platforms providing PaaS services are as follows:
- Windows Azure
- Google App Engine
- Cloud Foundry
- Amazon Web Services
Below image shows the basic architecture of SaaS model.
Some cloud vendors providing SaaS are:
- Google Application
- Microsoft Office 365
Software as a Service (SaaS)
Platform as a Service (PaaS)
Infrastructure as a Service (IaaS)
Software as a service is a model in which a third-party provider hosts multiple applications and lets customers use them over the internet.
SaaS is a very useful pay-as-you-use model.
This is a model in which a third-party provider application development platform and services built on its own infrastructure. Again these tools are made available to customers over the internet.
Google App Engine, AWS Lambda
In IaaS, a third-party application provides servers, storage, compute resources, and so on. And then makes it available for customers for their utilization. Customers can use IaaS to build their own PaaS and SaaS service for their customers.
Google Cloud Compute, Amazon S3
As the previous diagram suggests, we have the first column as OPS, which stands for operations. That means the bare minimum requirement for any typical server. When we are going with a server to buy, we should consider the preceding features before buying.
It includes Application, Data, Runtime, Framework, Operating System, Server, Disk, and Network Stack.
When we move to cloud and decide to go with IaaS—in this case we are not bothered about server, disk, and network stack. Thus, the headache of handling hardware part is no more with us. That's why it is called Infrastructure as a Service.
Now if we think of PaaS, we should not be worried about runtime, framework, and operating system along with the components in IaaS. Things that we need to focus on are only application and data.
And the last deployment model is SaaS—Software as a Service. In this model we are not concerned about literally anything. The only thing that we need to work on is the code and just a look at the bill. It's that simple!
With cloud analytics we are having many emerging cloud technologies and services which were not present earlier. We will be discussing about few of them below:
- Serverless: With serverless computing, developers are only responsible for the code. Developers has to upload code to the cloud and cloud vendor will load and execute it. In responses to different events. These events then triggers in backend some defined functions to perform the given task. Customer in turn pay only for the resources used to run those functions. AWS Lambda, Google Cloud Functions, and Azure Functions are examples of serverless computing services that we have in major cloud vendors.
- Artificial Intelligence and Machine Learning: Other major cloud technology is artificial intelligence and machine learning. AI and ML are creating waves in cloud vendors as well. Every cloud vendor is trying to integrate as many as AI, ML and Deep Learning services as possible. They are also providing services to build custom models. Google Cloud Machine Learning Engine and Google Cloud Speech API are services available in Google Cloud Platform, whereas in AWS we have Amazon Machine Learning, and AWS has Rekognition.
- BigData and Analytics: This is not really an emerging technology, but lot of innovation is taking place here. Highly available RDBMS are being introduced, petabyte scale NoSQL databases are in place now, and many other aspects like this are shaping the paradigm of BigData and Analytics. Cloud providers now have a goodnumber ofbigdata services, includingGoogle BigQueryfor large-scaledatawarehousing and Amazon Web Services Elastic MapReduceandMicrosoft Azure Data Lake Analyticsfor processing huge datasets, be it structured or unstructured.
Now, as we have seen the concerns and threats on cloud, let us now look at the different features provided by the cloud vendors to secure the cloud data storage:
- Secure access: Secure Access is going to help the customer secure access with a username and password, or security keys on a few occasions.
- Built-in firewalls: Cloud platform also provides built-in firewalls. They not only protect your services with the DoS attack by allowing certain IP address, but can also keep certain ports open.
- Unique user: You can also create your own unique user using an IAM tool, which is available for free by most cloud vendors.
- Multi factor authentication: Multi factor Authentication (MFA) is another major leap in providing security. You can use Google's virtual MFA app Authenticator to safeguard your systems.
- Private Subnet: If you want you can also create your private Subnet and can have more and better control over your network.
- Encrypted data storage: You can also encrypt your data at rest, which means you can encrypt the data that you have in the cloud. No one in the world will be able to read this data without having an awareness of the decryption method.
- Dedicated connection option: This is typically a special service in which the cloud vendor will give you access to the edge node and thus the data that you are uploading will bypass the normal internet method to reach a cloud vendor's data center, but it will be sent directly to the cloud vendor.
These features makes the cloud vendors more robust, strong, and very secure!
- Increased Security Vulnerabilities: When we plan to adopt cloud services in our architecture trust plays a huge role. Because when data is with us, it is under our complete control. We control the services accessing the data, along with privileges, encryption, and many other things. But when it comes to moving services to cloud its often a very tough call as we are giving all our data and control to cloud. And most times the encryption and security plays a major hindrance while adopting cloud. Thus, security can be a major topic to discuss when it comes to risks involved in cloud.
- Reduced operational governance control: As we know by now our infrastructure is shared by other customers of the cloud vendor as well, it brings some constraints to handling the governance aspect for enterprises. You literally lose control over data. And internet is the only connectivity between enterprise and cloud - one more hurdle while taking care of governance. The following figure illustrates this:
- Limited portability between cloud providers: Given we have many cloud vendors now and no industry standards in terms of technology or communication between services it becomes very difficult for customers to switch from one cloud provider to another. Most of the services are custom built by cloud providers, thus limited portability. The following figure shows two different cloud providers and the features they support for a cloud consumer:
- Multi-Regional regulatory and legal issues: When cloud vendor start establishing their data centers across globe the priority is often given to electricity prices, ease of starting data centre, geographical region, potential customers coming from same region and many more. Thus, due to this many time enterprises don't have grasp over the flow of data. But it is taken very seriously by many enterprises and governments. Many countries have a common policy of making companies retain data of the their citizens in the same country. Sometimes, this can become a cause of companies not adopting cloud based solutions.
Now that we understood risk and challenges of cloud computing let's try and understand about cloud analytics.
When we talk about cloud analytics we need to understand that what falls under cloud analytics - is that only analytics or data cleaning as well? Is service of showing graphs and report part of cloud analytics? Or not? And do we need to have just one feature among all to be called as a cloud analytics service enabled cloud or we need all of them? Let's have a look on it.
Under cloud analytics we have tools of the data analytics, data processing, and data manipulating. We often go for a subscription based or pay-as-you-go model.
Then we have a definition from Gartner. They says we have six key elements of analytics to define. And these six elements will decide if a cloud vendor is providing cloud analytics or not. The six elements are given below:
- Data models
- Processing applications
- Analytic models
- Computing power
- Sharing or storage of results
- Data sources
If the cloud vendor is having service for serving all the above purpose, then we can say given cloud vendor has cloud analytics services - and now most of the cloud vendor has it.
Examples of cloud analytics products and services include hosted data warehouses, Software-as-a-Service Business Intelligence (SaaS BI), cloud-based social media analytics, or cloud based NoSQL databases.
So far we have discussed the major aspects of what cloud computing and cloud analytics is and the major differences between IaaS and PaaS. Now we are going to discuss the different cloud vendors that we have in the market.
Now that we have discussed cloud services and properties, let us take a glance on the major 10 cloud vendors in the world:
- Google Cloud Platform: Google Cloud Platform (GCP) is the cloud platform by Google. It uses the resources such as computers, hard disks, virtual machines, NoSQL databases, block storages, and so on located at Google data centers.
- Amazon Web Services: Then we have AWS. It is one of the safest, secure, and versatile cloud platforms that provides cloud services ranging from infrastructure services such as database storage, computing power, to networking. AWS provides you a wide variety of services not offered by any other cloud vendor - coming early in market has its own perks and downfalls.
- Microsoft Azure: Then we can Microsoft Azure, as name suggest it is by Microsoft. Microsoft Azure is also one of the front runners in grabbing market share. Azure has the potential to deploy and design applications with a huge network worldwide.
- Adobe: Adobe is often known for products such as Adobe Acrobat or Adobe Flash. But it also offers many products that provide cloud services. A few among them are Adobe Creative Cloud, Adobe Experience Cloud, and Adobe Document Cloud.
- VMware: VMware as we all know is a universal leader in virtualization. VMware also holds its space in cloud infrastructure to a better extent. Major features of VMware's cloud computing includes reduction in the IT intricacy, lowering expenses, and provides flexible, agile services.
- IBM Cloud: IBM is one of the other front runners in providing IaaS, PaaS, and SaaS. With IBM Cloud you can have the option to select and unite your desired tools, data models, and delivery models along with designing/creating your applications.
- Rackspace: Rackspace Cloud just like other cloud vendors offers many services such as hosting websites or web applications. They also provide services in uploading files in cloud, block storage, backup on cloud, databases, cloud servers, and many more.
- Red Hat: Open Cloud technology used by IT organizations is part of Red Hat cloud solutions. Agile and flexible solutions are delivered by RedHat. By modernizing the apps, updating and managing from a single place we can use Red Hat Cloud to integrate all the desired parts into a single solution.
- Salesforce: Salesforce Cloud Computing is another cloud vendor in the market. The major services that Salesforce provide are in the domain of CRM, ERP, customer service, and sales.
- Oracle Cloud: SaaS, PaaS, and IaaS - all deployment types are available with Oracle Cloud. The differentiation is Oracle Cloud is transforming customer's business quickly and reducing IT complexity. It is the speciality of Oracle Cloud.
Nippon Telegraph and Telephone, Atlantic.net, GoDaddy, 1 & 1, Digital Ocean, Cloud Sigma, and Navisite are a few other cloud service vendors in the market.
Now that we understood major aspects of cloud analytics let's understand the GCP infrastructure by watching below video.
After learning on a superficial level about the preceding different cloud vendors, different types of solutions they provide, and how they work, we are now going to focus on how to build an infrastructure on the cloud in a generic way, things that you need to be careful of, and how to build architecture.
In this chapter, we studied the basics of cloud computing, the different models we have, and what different service models we have.
We also studied security and the importance of security in cloud architecture.
Then I also introduced you to a few major cloud vendors, such as Google Cloud Platform, Amazon Web Services, and Microsoft Azure.
In the next chapter, we will study architecture at a better and elaborate level. This will give you a very precise idea about the cloud and how it works.