Understanding Cloud Computing: Public, Private, and Hybrid Clouds, Assignments of Information Technology

An overview of cloud computing, focusing on the differences between public, private, and hybrid clouds. It covers the essential characteristics of each type of cloud, their benefits, and applications in various industries. The document also discusses the advantages of cloud computing for organizations and why they should consider transitioning to it.

Typology: Assignments

2022/2023

Uploaded on 01/10/2024

tuong-tran-4
tuong-tran-4 🇻🇳

21 documents

1 / 27

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ASSIGNMENT 1 FRONT SHEET
Qualification
BTEC Level 5 HND Diploma in Computing
Unit number and title
Unit 16: Cloud computing
Submission date
Date Received 1st
submission
Re-submission Date
Date Received 2nd
submission
Student Name
Trần Văn Tưởng
Student ID
GCH211184
Class
GCH1107
Assessor name
Nguyen Dinh Tran Long
Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that
making a false declaration is a form of malpractice.
Student’s signature
Tưởng
Grading grid
P1
P2
P3
P4
M1
M2
D1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b

Partial preview of the text

Download Understanding Cloud Computing: Public, Private, and Hybrid Clouds and more Assignments Information Technology in PDF only on Docsity!

ASSIGNMENT 1 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing Unit number and title Unit 16 : Cloud computing Submission date Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Trần Văn Tưởng Student ID GCH Class GCH1107 Assessor name Nguyen Dinh Tran Long Student declaration I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that making a false declaration is a form of malpractice. Student’s signature Tưởng Grading grid P1 P2 P3 P4 M1 M2 D

 Summative Feedback:  Resubmission Feedback:

Grade: Assessor Signature: Date: Internal Verifier’s Comments: Signature & Date:

  • I. Task
      1. Client/Server
      1. P2P
      1. High Performance Computing
      • 3.1. Parallel Computing
      • 3.2. Cluster Computing
      • 3.3. Distributed Computing
      1. Deployment model
      • 4.1. Public cloud
      • 4.2. Private cloud
      • 4.3. Community cloud
      • 4.4. Hybrid cloud
      1. Service models
      • 5.1. Infrastructure as a Service (IaaS)
      • 5.2. Platform as a Service (PaaS)
      • 5.3. Software as a Service (SaaS)
      1. 5 characteristics of cloud computing
      1. Virtualization/ Multicore
      • 7.1. Virtualization
      • 7.2. Multicore
  • II. Task
      1. Why ATN should use cloud
      1. Which development model should be used and why
      1. Which service model should be used and why
      1. Which programming language should be used
      1. Which database should be used
      1. Which cloud platform should be used
      1. Dynamic Scalability Architecture
  • References
  • Figure 1: public cloud Contents of figure
  • Figure 2: Private cloud
  • Figure 3: community cloud
  • Figure 4:Hybrid cloud..................................................................................................................................................
  • Figure 5:IaaS................................................................................................................................................................
  • Figure 6:Paas
  • Figure 7:Essential characteristics of cloud computing
  • monitors the cloud service to determine if predefined capacity thresholds are being exceeded............................. Figure 8: Cloud service consumers areseeding requests to a ckoud service (1). The automated scaling listener

I. Task 1

1. Client/Server A client-server model is a networking computing system design that shows how two or more computers interact, with the client computers requesting resources or services from a powerful centralized server computer and the server computer fulfilling those requests. It outlines a certain method by which gadgets can access the data you save on servers. Moreover, it enables several clients to access files or launch apps from a single server, preserving consistency across all platforms. Servers provide more processing power and more storage capacity, and are used by many businesses in a variety of industries for information storing and access (Desmond Motiso, 2023). This model has the ability to link a device via a local path to a server via a local area network (LAN). Although these connections might be more secure, they don't have access to external features like cloud computing. The internet is used by a wide area network (WAN) to link servers and devices. Wide Area Networks (WAN) provide wider applications and greater access to larger data sets; nevertheless, additional security measures may be required for these connections (Desmond Motiso, 2023). Client: There are three categories of clients or server requesters that are referred to by IT professionals: thin, thick, and hybrid clients. For thin clients to accomplish many of a device's main tasks, a server's resources and computing power are required. Thick clients are gadgets that function independently of a server, processing vast volumes of data and managing several jobs at once. Devices known as hybrid clients are ones that can process data internally but need to save data on a server in order to do more complex or repetitive processing operations (Desmond Motiso, 2023). Servers: Computer hardware or software that offers functionality to its clients or users is referred to as a server. Six distinct servers can be used by IT professionals to establish a client-server connection. The different kinds of servers are (Desmond Motiso, 2023):

  • Database servers: Programs with highly organized data, such as accounting files or marketing spreadsheets, can be run on a database server.
  • Application servers: These servers facilitate users' access to online apps without requiring them to be downloaded to their devices.
  • Web servers: They are there to make it easier for users to access the internet.
  • Computing servers: A computing server offers more capacity and strength than what a particular gadget can offer.
  • Web proxy: A web proxy server serves as a conduit for user and browser communication.
  • Domain Name Service (DNS): By translating text entered into browser address bars, DNS servers enable devices to find websites on the internet that match search terms. Example of Client – Server model: Assume you're using a computer and type www.google.com into your browser's address bar (e.g., Chrome). You're currently working on the client machine. The browser is now requesting information from Google's

Examples of P2P networks: P2P networks are classified into three types. The first level is the fundamental level, which uses a USB to connect two systems to form a P2P network. The intermediate level necessitates the use of copper wires to connect more than two systems. The third level is advanced, which use software to create protocols for managing many devices via the internet.

3. High Performance Computing 3.1.Parallel Computing Numerous calculations or operations are carried out concurrently in a technique known as parallel computing. To do this, the problem is divided into independent components, allowing each processing element to carry out its portion of the algorithm concurrently with the others. The following are applicable in parallel computing since many processor devices are used simultaneously:

  • Several processors (several CPUs) are used to run it.
  • An issue is divided into distinct components that can be resolved separately and simultaneously.
  • A set of instructions is included for every component. Parallel computing can be used to solve a wide variety of problems, including:
  • Scientific computing: Scientific issues requiring large amounts of computation, like protein folding, climate modeling, and weather forecasting, are frequently solved by parallel computing.
  • Engineering: Applications of parallel computing include computer-aided design, fluid dynamics, and structural analysis.
  • Data processing: In big data applications and machine learning, for example, parallel computing can be utilized to process massive amounts of data.
  • Graphics: Computer-generated imagery and video games are examples of applications that leverage parallel computing. There are two main types of parallel computing: shared memory and distributed memory.
  • Shared memory parallel computing systems have a single pool of memory that is shared by all of the processing elements. This makes it easy for the processing elements to communicate with each other, but it can also be a bottleneck if the memory is not large enough.
  • Distributed memory parallel computing systems have multiple pools of memory that are not shared by all of the processing elements. This makes it more difficult for the processing elements to communicate with each other, but it also allows for more scalability. Here are some examples of parallel computing:
  • Human brain: With billions of neurons, the human brain is a massively parallel computer. These neurons exchange messages with one another in order to process data and produce actions.
  • Graphics processing unit (GPU): Made specifically for parallel computing, the GPU is a specialized processor. GPUs can be used for more than just graphics applications; machine learning is one area in which they are useful.
  • Cloud: Applications can be run in parallel on the cloud, a distributed computing platform. A sizable reservoir of computing power that can be utilized to tackle challenging issues is offered by the cloud. 3.2.Cluster Computing A specific type of parallel computing called cluster computing links several computers, or "nodes," to function as a single system. In order to handle massive volumes of data more effectively or solve challenging computing problems, these nodes cooperate and pool resources. To put it another way, cluster computing is similar to a group of computers collaborating to manage large amounts of data or solve complex issues. Many computers collaborate to make things faster and more effective rather than just one computer doing everything. Comparing cluster computing to conventional single-computer systems reveals several benefits. These benefits consist of:
  • Performance: Because work may be divided up and carried out on several nodes at once, clusters can perform far better than single-computer systems.
  • Scalability: Depending on the requirements of the application, clusters can be scaled up or down. This implies that clusters can be applied to both small and large-scale projects.
  • Reliability: Compared to single-computer systems, clusters may be more dependable. This is so that the other nodes can keep running even in the event of a failure. However, cluster computing also has some disadvantages. These disadvantages include:
  • Cost: Clusters can be more expensive than single-computer systems. This is because clusters require more hardware and software.
  • Complexity: Clusters can be more complex to manage than single-computer systems. This is because the nodes need to be interconnected and the applications need to be designed to take advantage of the cluster. A case study in cluster computing is the rendering of a movie: Movie rendering in the film and animation industries uses cluster computing. Artists and animators use intricate 3D models and high-resolution textures to create animated movies and visual effects, which take a lot of processing power to render into the final movie frames. A cluster of computers can be used to split up the rendering process so that different machines can render different parts of the movie frames at the same time. Due to the huge rendering time speed increase brought about by parallel processing, studios are now able to make high-quality animated films and visual effects more quickly.

Characteristics of Public cloud:

  • Highly scalable: The public cloud is highly scalable. The resources in the public cloud are large in number and the service providers make sure that all the requests are granted.
  • Affordable: The public cloud is offered to the public on a pay-as-you-go basis; hence, the user has to pay only for what he or she is using (usually on a per-hour basis). And, this does not involve any cost related to the deployment
  • Less secure: The public cloud is less secure out of all the four deployment models. This is because the public cloud is offered by a third party and they have full control over the cloud. Though the SLAs ensure privacy, still there is a high risk of data being leaked. Public clouds offer a number of advantages over traditional on-premises IT infrastructure. These advantages include:
  • Scalability: You may quickly add or remove resources as needed because public clouds are very scalable.
  • Cost-effectiveness: Generally speaking, public clouds are less expensive than on-premises IT infrastructure, particularly for startups and small organizations.
  • Usability: Even non-technical people may easily utilize and manage public clouds.
  • Security: Because public clouds employ a number of security procedures to safeguard your data, they are usually quite secure. Nevertheless, there are certain drawbacks to using public clouds. Among these drawbacks are:
  • Data security: In a public cloud setting, there is always a chance that your data could be compromised.
  • Performance: Depending on the provider and the volume of traffic on the network, public clouds may function differently. Examples of Public Cloud Providers:
  • Amazon Web Services (AWS): One of the biggest and most well-known public cloud service providers, providing a wide range of cloud services to people and companies across the globe.
  • Microsoft Azure: The public cloud platform from Microsoft that offers an extensive range of cloud services and tools for a variety of uses, such as AI, IoT, storage, and computing.
  • Google Cloud Platform (GCP): Google's public cloud platform that offers machine learning, data analytics, cloud computing services, and other cutting-edge cloud features. 4.2.Private cloud A private cloud is a type of cloud computing where a single business or organization can use the services only. A private cloud is intended to fulfill the requirements of a single company or organization, as opposed to the public cloud, which caters to numerous clients (Chandrasekaran, 2014).

Figure 2 : Private cloud Characteristics of Private Cloud:

  • Exclusive Access: Only authorized employees of the company have access to a private cloud. Being behind the company's firewall, it provides a better level of security and privacy.
  • Control and modification: The private cloud infrastructure is completely under the organization's control, enabling modification and specially designed configurations to satisfy particular needs.
  • Security: Private clouds are appropriate for enterprises handling sensitive data or adhering to industry rules since they are built to high security requirements. Private clouds can be contracted out to a third-party vendor, but they are usually owned and run by the company. There are several benefits that private clouds have over public clouds, such as:
  • Security: Since private clouds are not open to the general public, they are usually more secure than public clouds.
  • Compliance: Private clouds can be set up to satisfy an organization's unique compliance needs.
  • Control: Since they may tailor the services to their unique requirements, organizations have more control over the private cloud environment. However, private clouds also have some disadvantages, including:
  • Cost: Because businesses must buy and maintain the necessary software and hardware, private clouds can be more expensive than public ones.
  • Complexity: Compared to public clouds, private clouds might be more difficult to set up and maintain.
  • Scalability: As enterprises need to add more hardware and software as service demand rises, private clouds might be more challenging to grow than public clouds.
  • Cost-effectiveness: Because member organizations can pool resources and services, community clouds may be less expensive than public clouds.
  • Security: Because member organizations can exchange security best practices, community clouds may be more secure than public clouds.
  • Compliance: Community clouds can be set up to satisfy the unique compliance needs of participating organizations.
  • Control: Because they can tailor the services to match their unique requirements, community organizations have more control over the community cloud environment. However, community clouds also have some disadvantages, including:
  • Complexity: Compared to public or private clouds, community clouds may be more difficult to set up and maintain.
  • Scalability: Because the community's organizations must agree on how to scale the services, community clouds can be more challenging to scale than public clouds. Example of Community cloud:
  • Research Communities: To facilitate collaborative research projects and data analysis, researchers and scientific research institutions can share research data, tools, and resources via a community cloud.
  • Non-Profit Organizations: By utilizing a community cloud, nonprofits with similar purposes can work together on data sharing, fundraising initiatives, and operational effectiveness.
  • Education Networks: To improve remote learning capabilities, share academic resources, and work together on e-learning platforms, schools, colleges, and educational consortia can employ a community cloud. 4.4.Hybrid cloud By combining the use of public and private cloud environments, hybrid cloud computing allows programs and data to be exchanged across them. With this approach, businesses may meet particular workload needs and business requirements while benefiting from both public and private cloud services (Chandrasekaran, 2014). Figure 4 :Hybrid cloud

Characteristics of Hybrid Cloud:

  • Scalability: Depending on demand, hybrid clouds enable users to scale computing resources up or down across public and private cloud environments.
  • Security: While public cloud services provide cost-effectiveness and worldwide accessibility, private cloud components in a hybrid cloud offer enhanced security for critical data and applications.
  • Complex cloud management: Because hybrid cloud computing involves many deployment methods and a large user base, managing the cloud is a complex and challenging undertaking. Comparing hybrid clouds to on-premises infrastructure and private and public clouds reveals a number of benefits, such as:
  • Scalability: By taking advantage of public cloud services' elasticity during periods of high demand, organizations may swiftly increase their resources while keeping control over vital apps and data stored in private clouds.
  • Data Security: Private clouds allow for the storage of sensitive data, giving businesses more control, data privacy, and industry compliance. However, hybrid clouds also have some disadvantages, including:
  • Complexity: To guarantee efficient operations and data flow, managing and integrating numerous cloud systems can be challenging, requiring knowledge and cooperation.
  • Data Integration: It can be difficult to move data between public and private clouds, particularly when handling big datasets or sensitive data. Application of Hybrid cloud:
  • Development and Testing: By utilizing the hybrid cloud, developers may optimize resource utilization and cost effectiveness in their testing and development environments.
  • Data Backup and Disaster Recovery: While maintaining vital data and apps on-site or in a private cloud, organizations can use the public cloud for data backup and disaster recovery. 5. Service models 5.1.Infrastructure as a Service (IaaS) Infrastructure as a Service (IaaS) is one of the three main cloud computing service models, along with Platform as a Service (PaaS) and Software as a Service (SaaS). IaaS provides organizations with access to computing resources, such as virtual machines, storage, and networking (Chandrasekaran, 2014).
  • Network Latency: Data transmission over the internet might cause network latency for applications hosted on IaaS platforms.
  • Compliance Requirements: It may be required for organizations subject to certain compliance regulations to confirm that the IaaS provider complies with all applicable compliance standards. Here are some examples of IaaS services:
  • Amazon Elastic Compute Cloud (EC2): Provided by Amazon Web Services (AWS), EC2 is a well-liked Infrastructure as a Service. It makes virtual computers available for companies to rent on demand.
  • Microsoft Azure Virtual Machines : One of Microsoft Azure's well-knownIaaS services is Azure Virtual Machines. It enables businesses to hire virtual machines as needed.
  • Google Compute Engine (GCE): GCE is a popular IaaS service offered by Google Cloud Platform (GCP). It enables businesses to hire virtual machines as needed.
  • IBM Cloud Virtual Servers: One of IBM Cloud's well-likedIaaS services is IBM Cloud Virtual Servers. It allows organizations to rent virtual machines on demand 5.2.Platform as a Service (PaaS) A cloud computing architecture called Platform as a Service (PaaS) gives developers a platform and environment to create, launch, and maintain online applications. With this model, developers don't have to worry about the hardware configuration or underlying infrastructure—they can concentrate on writing code and developing applications (Chandrasekaran, 2014). It offers a practical and expandable framework for application development, facilitating developers' efforts to transform their concepts into finished, working apps more quickly and easily. PaaS platforms provide a range of tools, programming languages, libraries, and services that developers can use to quickly and affordably create and implement applications. Figure 6 :Paas

Advantages of PaaS:

  • Teamwork & Collaboration: Platform as a Service (PaaS) encourages developers and teams to work together on projects, share code, and communicate in real-time.
  • Automatic Scalability: Platforms as a Service (PaaS) provide the ability for applications to scale automatically in response to changes in workload and traffic spikes, eliminating the need for manual intervention. This guarantees that applications can effectively adapt to changing requirements.
  • Offline Access: By coordinating their local working environment with the PaaS services, certain PaaS providers allow developers to work offline. This allows developers to continue developing applications locally and deploy them online when they regain internet connectivity. Disadvantages of PaaS:
  • Vendor lock-in: Because different platforms have different APIs and configurations, moving apps across them may be difficult depending on the PaaS provider.
  • Limited Control: Because PaaS abstracts away the underlying infrastructure, hosting environment control and some low-level customizations may be restricted.
  • Less security: When critical data or apps are hosted on a shared PaaS environment, organizations may worry about security. Here are some examples of PaaS services:
  • Heroku: This well-known PaaS service is renowned for being user-friendly and having a sizable developer community. Because Heroku supports a wide range of programming languages and frameworks, it's a terrific option for businesses who need to create and launch apps fast.
  • Cloud Foundry: This open-source PaaS platform can be set up in the cloud or on-site. If a business wants greater control over its PaaS infrastructure, Cloud Foundry is an excellent option. 5.3.Software as a Service (SaaS) A cloud computing approach known as Software as a Service (SaaS) gives consumers online access to software programs. This concept eliminates the requirement for local installation or hardware administration by allowing users to access the program through an application interface or web browser that is hosted and maintained by a third-party provider (Chandrasekaran, 2014). SaaS services provide the following benefits:
  • Cost savings: Software as a service (SaaS) reduces costs and IT overhead by removing the need for businesses to buy and maintain hardware and software licenses.
  • Less maintenance: SaaS services remove the need for extra client-side software maintenance because the service provider handles the apps' automatic upgrades, monitoring, and other maintenance tasks.
  • Automatic upgrades: Software maintenance and upgrades are handled by SaaS providers, guaranteeing that customers always have access to the newest features and enhancements.

can quickly and simply assign resources—like virtual machines, storage, and networking—using self- service interfaces or APIs. Broad Network Access: Cloud services can be accessed by a variety of devices and platforms, such as tablets, computers, and mobile phones, via the internet using standard protocols. Users with an internet connection can access cloud data and apps from any location. Elastic Resource Pooling: Cloud service providers employ a multitenant architecture in which computing resources are pooled and dynamically distributed among several users in accordance with demand. Through resource pooling, resources can be used more effectively and scaled to meet changing workloads. Quick Elasticity: Depending on demand, cloud services can quickly scale up or down. Due to its elasticity, resources may be released when they are no longer required and more resources can be provisioned quickly to address surges in usage. Applications can effectively handle changing requirements because to its scalability. Measured Service: Cloud systems enable providers to track and optimize resource utilization through metering and monitoring features. Both the provider and the customer benefit from this measured service's transparency, which enables them to better understand and regulate resource consumption and optimize it.

7. Virtualization/ Multicore 7.1.Virtualization A technology known as virtualization makes it possible to create simulated or virtualized versions of different computer resources, including networks, servers, storage devices, and operating systems. Through the division of real hardware into several virtual environments, each functioning as a separate, autonomous entity, it makes it possible to use physical hardware more effectively (Chandrasekaran, 2014). Approaches to Virtualization:

  • Complete virtualization: Several virtual machines (VMs) running various operating systems are created by installing a hypervisor on the physical hardware, which abstracts the underlying hardware. Isolation is guaranteed by the autonomous operation of each VM. Examples include Microsoft Hyper-V and VMware vSphere/ESXi.
  • Para-virtualization: By working directly with the hypervisor, the guest OS is altered to cooperate with it, enabling more effective virtualization. A well-known illustration of a para-virtualization hypervisor is Xen.
  • Hardware-Assisted Virtualization: Optimizes virtualization by leveraging the specialized hardware support of the CPU to lower overhead and boost virtual machine performance. Also known as "Virtualization Extensions."

Types of Virtualizations (Erl, 2013):

  • Server virtualization: In this sort of virtualization, a physical server is divided into a number of virtual machines, each of which can run a different operating system and set of programs. Better hardware utilization, more flexibility, and simpler resource management are all made possible by server virtualization.
  • Storage virtualization: This technique abstracts away the physical storage devices that underpin a system to create a logical pool of storage resources. This offers capabilities like data replication and snapshots, makes data movement easier, and streamlines storage management.
  • Network virtualization: This technique builds virtual networks on top of real networks, enabling the independent coexistence of several virtual networks. Better network isolation, traffic segmentation, and more effective use of available network resources are made possible by this.
  • Desktop virtualization: This feature enables the operation of several virtual desktop instances on a single physical computer. Remote access to virtual desktops offers users flexibility, central administration, and enhanced end-user computer security. 7.2.Multicore A computer processor with multicore technology consists of several "brains," or cores, that operate on a single chip. Every core has the capacity to manage tasks on its own, allowing for the simultaneous performance of various activities by several workers. As a result, the computer can handle numerous jobs at once faster and more effectively. The computer may work on multiple tasks at once and complete tasks faster, much like a team of workers (Chandrasekaran, 2014). Multicore Processors and VM Scalability: Multiple virtual machines (VMs) can grow in size thanks to modern computer designs, provided that they don't exceed the capacity of the cache, memory, bus, or network. Virtualized applications with high CPU and memory requirements can scale in the cloud environment up to the memory architecture's maximum limits. This scalability guarantees that cloud-based services and apps can successfully manage growing demands and carry out data-intensive tasks. Multicore Technology and Parallelism in Cloud: In order to handle jobs more quickly, numerous smaller processors can cooperate on a single chip thanks to multicore technology in the cloud. Because of this parallelism, cloud services may manage several jobs from various users at once, increasing their responsiveness and efficiency. Multicore technology basically makes it possible for the cloud to accomplish multiple tasks at once, which enhances user experience and performance.