It is a technology that allows users to access resources that are in a remote location. The technology allows the use of computing infrastructure over the internet (cloud) or network. The infrastructure can include hardware, software, data, process, servers, etc.
The main services offered in cloud computing include software as a service (SaaS), Platform as a service (PaaS), and infrastructure as a service (IaaS). These services can be offered through 4 main types of clouds such as public, private, community, and hybrid. Features of the cloud include scalability, economics, automation, and security among many others.
What is cloud computing architecture?
A cloud architecture indicates the engineering behind how the users can access all the services that are offered over the cloud. It is made up of the user side, the internet that is used as a media for connection, and the backend which the service provider offers.
The client-side is mostly made up of devices that they use to access the services. On the other side, the backend is made up of hardware server, storage space, software, databases, security features, and management of the whole infrastructure.
Types of clouds or ways its deployed
The types of clouds are classified depending on how they are accessed. 4 main deployment models are used which include:
It is a type of cloud that is accessed by the general public over the internet. The infrastructure is purely owned by the cloud service provider. The services are mostly accessed over a web browser and don’t require any installations.
The main advantage of this model is that it is cheaper and the user does not need to worry about infrastructure maintenance.
Its main disadvantage is that it is not that secure since it can be accessed by everybody over the internet
It is a cloud that is owned and accessed by a specific organization. It is a private network where the organization has a data center where the infrastructures are managed from. It is an intranet type of network. The management can be done by the organization or they can contract a third party to do the job.
It offers more security since it operates on a private network. Its main drawback is that it is expensive to operate since you require a technical team to manage the systems.
This is a cloud that can be accessed by a group of people or organizations that have a common interest. It is a type of extranet type of network that allows more than one organization to access the same network.
The cloud allows involved organizations to share infrastructure which reduces the cost compared to the private cloud.
This is a type of cloud computing that combines private and public cloud technologies. It enables the system to be accessed over the internet and a private network.
The model offers more security than the public cloud. It is complex to implement since it involves the use of 2 models.
Types of cloud computing services
Cloud services can be classified into 3 main categories. These include how the client gets their services.
- Software as a Service (SaaS)
This is where the client pays on demand for software that is hosted by the cloud provider. Mostly the software is used over the internet and no need for installation. The software mostly offered is applications software. Google docs and sheets are examples of software as a service kind of software. In this model, the client does not bother with how the services are hosted all they need is application software for use.
- Platform as a service (PaaS)
This is where the cloud offers a full platform that can be used for the development, management, and even deployment of applications and systems over the internet. This is mostly used by software developers who have a platform to develop their applications without worrying about installing the development software.
- Infrastructure as a service (IaaS).
In this model of service provision, the client gets the whole virtual infrastructure of servers, networks, and databases that are used to run the cloud.
In this model, the client gets the computing resources that they can even customize to their unique needs. Instead of a company buying a physical server and all other infrastructure, they get them on-demand from the cloud provider.
Comparison between IaaS, PaaS, and SaaS cloud computing
|1||Name||Software as a Service||Platform as a Service||Infrastructure as a Service|
|2||Main users||Mostly used by end-user for application software||Mostly used by application developers||Mostly used by the company that needs computing resources|
|3||Technical skill required||Requires no technical skill to use||It requires medium technical skill since it used by the developer||It requires professional in IT to run and manage the system|
|4||User access rights||Less control by the user||Users have medium control over the system, they can customize the IDE for development||Users have more control include on the type of operating system that can run on the system|
|5||Examples||Google workspace, Webex from Cisco, Dropbox, Windows 365||Windows Azure, Red Hat Open Shift, AWS Elastic Beanstalk, Google App Engine||Amazon Web Services, Digital Ocean, Google Compute engine|
Advantages of cloud computing
- Cost-saving: cloud computing reduces both the initial and operation cost of using the services. Many users can share the resources hence cost-sharing. Again the organization doesn’t need a technical team to manage the ICT infrastructure which minimizes the operation cost.
- Scalability: with cloud systems, a company can start from a startup and grow into a big organization that uses more resources. The platform helps users to scale from small-level users to high-level users of cloud resources.
- Pay per use and need bases: cloud allows users to pay only for what they use when they need it. If the need goes down then the cost reduces and vice versa. This allows the provider to also give unused resources to user users while the client pays only for what they use.
- Location independent: with the technology the location of the infrastructure and the user don’t matter. The user can access the services from anywhere as long as they are connected to the network. This enables organization employees to work on the go.
- Unlimited storage: cloud storage is only limited to the amount the client is willing to pay.
- Easy data backup and recovery: when systems crash or have an issue, cloud systems are simple to recover. This is achieved simply because the data is automatically backed up as the user operates.
Disadvantages of cloud computing
- Downtime: the service provider sometimes may have time that systems cannot be reached which is a big problem. When there is scheduled maintenance of the system, clients may have problems accessing the services.
- Internet connection: for clients to access the services they should be connected to the internet or a private network. If the network is not available then no operation.
- Lack of full control: since the infrastructure is owned by the service provider they have full control of data. This can be resolved to some extent by the use of a service agreement between the 2 parties.
- Security over public cloud: since the public cloud can be accessed all over the internet it has less security if the organization deals with sensitive data.
- Migration across service providers: Moving cloud services is a challenge since different providers have different platforms and they may not be compatible.
Cloud computing features/characteristics
Features or the characteristics of cloud computing are used to identify the technology and how it operates. The main features include the following.
- Scalability: the main feature is that the services are very scalable depending on the user demand and use. If you need more resources you pay and get the extra without the complications of adding more hardware.
- Monitoring tools: Most cloud provider platforms offer users ways of monitoring how they are utilizing the resources that they have been assigned.
- Economical: the technology is economical both for the client and the provider. The client only pays for what they use while the provider can move resources where they are needed on a need basis.
- Accessed over network: cloud services can be accessed over the internet and other private networks anywhere at any time. This makes it more convenient for both the client and the provider.
- Automation: Most cloud services are fully automated. They also require a few clicks and they are up and running for the requested services.
- Easy maintenance: from the client’s point the maintenance is mostly non-existence. They don’t have hardware or software for maintenance but are just used on demand.
- Security: cloud computing providers ensure that their services have the best and latest cyber security available.
Components of cloud computing
For cloud computing to be possible both the client and service providers require to have components that make up the cloud environment. They include the following.
- Server computers
This is a computer with very high computing capabilities that run the services that are being offered. The providers have data centers that host many physical servers to create a server farm.
- Networking components
Cloud computing is offered over the internet and network. For it to be operational it requires all networking components such as routers, network switches, cables, firewalls, etc.
- Load balancing
To allow scalability the cloud providers use load-balancing applications to move the services where they are needed. It helps to ensure when clients need more resources they get and at the right time. It is an automated operation.
- Arrays of disk for storage and backup
For storage of huge data and backup, the providers have storage media that are used for live storage and data backup. This ensures in case of data loss recovery will be seamless.
This is a technology that is used to ensure each user has a virtual resource of the machine. It helps share the physical resource among many virtual users by sharing computing resources among themselves. This a main technology that makes the cloud to be scalable and flexible.
These are software that is offered to the users over the cloud. They include application and development (Integrated Development Environment) software among others.
Cloud computing service providers
A Cloud computing provider is a company that provides cloud service to the client for a fee. They own a data center with a server farm that is used for hosting client demands and requires computing resources. The top 8 cloud computing service provider includes the following:
- Google Cloud computing services: It is owned and managed by the biggest search engine provider.
- Amazon Web Services (AWS): it is offered by Amazon Incorporation.
- IBM Cloud: it is managed by IBM and is among the oldest cloud service providers.
- Microsoft Azure: Owned by Microsoft Incorporation. The company offers a certification on how to manage and use its platform.
- Digital Ocean: it is mostly used for server hosting and application development platform.
- Alibaba Cloud: it is owned by Alibaba Incorporation.
- Oracle cloud: mostly used by developers for application development and testing
- VMWare cloud: it started as a virtualization provider and then to full cloud computing.
Cloud computing threats and vulnerabilities
Service being offered over the network is a major challenge that requires strong security controls. Since data is transmitted over a public network like the internet, it faces a lot of treat. Some of the main threats and vulnerabilities include the following.
- Application programming interface (API) vulnerabilities. API is used to connect and communicate between different programs. This can be a threat if they are not well secured and checked well. If one side is weak then it can be used as an entry point to the system.
This is where an unauthorized person creates a look-alike website of interface and redirects the user to that page. The user enters their authentication data such as username and password. The person behind the fake web page now uses this data to the real user access cloud account. These phishing links are mostly distributed by email, social media, or messaging platforms.
Phishing can be mitigated by ensuring that users don’t open or click on any suspected link. Also, users should always confirm the URL of the website before entering any sensitive data.
- Denial of service attack (DOS)
Since could is over the network an attack can be targeted on the service which can cripple business operations. DOS is a situation where a server receives so many requests that it cannot handle hence crashing. The attack can be deployed by the use of bot computers.
- Sharing of data threat.
Data sharing is a major advantage of the cloud but on the flip side, it may become a security threat. When company data is shared by outsiders it becomes weak to control who accesses what where and when.
This can be mitigated by having data sharing policies and ensuring data is only shared by relevant people.
- Weak passwords and user names
If system users use weak authentication information, it becomes very simple to breach the service security.
- To secure the system they can implement a two-factor authentication method. This is where users have to confirm 2 types of information before the system can authorize the access.
- Employee sabotage
The weakest security point is the human factor. Company employees can sabotage or do unauthorized alterations to data. This can be done intentionally or by accident.
To reduce this, users should be trained on the best practices when using the system. The company should also have a policy on how to handle data in the cloud.
Factors to consider when choosing a cloud provider
When selecting a cloud service provider you need to consider several factors to ensure that you get the return on what you paying for. Most of the big service providers offer almost the same level of service.
- Support offered by the provider
The client should choose a provider who can offer fast, best, and most convenient type of support. The support should include technical, customer care, and any other support that may need.
- Data and connection security
For the private cloud, all companies offer high-security procedures. As a client, you should consider where the company is located and how that country protects data. A company in a country that ensures high data security in its laws is the best.
Clients should choose a platform that is simple to use and configure. The simple the system less support you will require.
- Performance monitoring and reports
As a client, you should consider what the company offers to enable you to monitor how resources are used. The more transparency monitoring and reporting system the better.
- Type of service required by the client
Some cloud computing service providers may offer or specialize in a specific type of service. This can be used to determine which provider to choose
- Organizational policies about data
The provider should be able to meet your organization’s policies on data security and communication. It should offer you need and better if they cater even for more than what your policies require.