Assignment 1 cloud computing trần thành đạt bh00073

40 3 0
Assignment 1 cloud computing  trần thành đạt bh00073

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ASM1 Cloud Computing . Đây là asm 1 của môn cloud computing đầy đủ và chi tiết . Làm đến hết phần M 434234234234234234234123333322222222222222222222222222222222222222222222222222222222222222222222222

ASSIGNMENT FRONT SHEET Qualification BTEC Level HND Diploma in Computing Unit number and title Unit 16: Cloud computing Submission date June 2023 Date Received 1st submission Re-submission Date June 2023 Date Received 2nd submission Student Name TRAN THANH DAT Student ID BH00073 Class IT0502 Assessor name DO QUOC BINH 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 Dat Grading grid P1 P2 P3 P4 M1 M2 D1  Summative Feedback: Grade: Signature & Date:  Resubmission Feedback: Assessor Signature: Date: Table of Contents I Demonstrate an understanding of the fundamentals of Cloud Computing and its architectures Client – Server 1.1 Client 1.2 Server 1.3 Relationship between Client and Server Peer-To-Peer(P2P) High Performance Computing 3.1 Definition 3.2 Example .9 Deployment Models 10 4.1 Public Deployment 10 4.2 Private Deployment 11 4.3 Community Cloud 13 4.4 Hybrid Cloud 14 Cloud Service Models 15 5.1 Infrastructure as a Service (IaaS) 15 5.2 Platform as a Service (PaaS) 16 5.3 Software as a Service (SaaS) 18 5.4 Comparing Service Models 19 Characteristic of Cloud 19 Virtualization and Multicore 20 7.1 Virtualization 20 7.2 Multicore 21 Evaluate the deployment models, service models and technological drivers of Cloud Computing and validate their use 22 II III Overview Scenario 22 ATN Solution 22 Deployment Model 23 Service Model 23 Programming Languages 24 Deployment Model 24 Cloud Platform 24 Cloud Architecture 25 References .26 Table of Figures Figure - Client-Server Figure - P2P model Figure - P2P example Figure – Supercomputer Figure - Google search engine Figure - Content Delivery Network 10 Figure - Public Cloud 10 Figure - Amazon Elastic Compute public cloud 11 Figure - Private Cloud 12 Figure 10 – Amazon Simple Storage Service .12 Figure 11 - Community Cloud 13 Figure 12 - IBM SoftLayer community cloud .14 Figure 13 - Hybrid Cloud .14 Figure 14 - Amazon Web Services 15 Figure 15 - IaaS model 15 Figure 16 - PaaS model 17 Figure 17 - SaaS model 18 Figure 18 - Characteristics of Cloud computing 20 Figure 19 - Multicore Processor 21 Figure 20 - Cloud service consumers are sending requests to a cloud service (1) The automated scaling listener monitors the cloud service to determine if predefined capacity thresholds are being exceeded (2) 25 List of Tables Table - Advantages and Disadvantages of P2P Table - Advantages and Disadvantages of Public cloud 11 Table - Advantages and Disadvantages of Private cloud 12 Table - Advantages and Disadvantages of Community cloud 13 Table - Advantages and Disadvantages of Hybrid cloud 14 Table - Advantages and disadvantages of IaaS 16 Table - Advantages and disadvantages of PaaS 17 Table - Advantages and disadvantages of SaaS 18 Table - Difference between IaaS, PaaS, and SaaS 19 Table 10 - Advantages and Disadvantages of Virtualization .21 I Demonstrate an understanding of the fundamentals of Cloud Computing and its architectures Client – Server The client-server is a network computer model that consists of two major components: client (client) and server (server) The server is the location where resources are stored, program services are installed, and client requests are fulfilled in this approach The client plays a major role in sending requests to the server In general, computers and devices are considered the client (Thịnh Hạnh, 2010) Figure - Client-Server (Anon., 2019) 1.1 Client The client or workstation is where requests are sent to the server At the workstation, it manages communication with users, servers, and the external environment After receiving the user's request, the client constructs the query string to send to the server When the client receives the results from the server, it organizes and presents those results 1.2 Server The incoming request from the client is processed by the server The server will send back the result after processing is complete, and the client can proceed to process these results to serve the user The server communicates with the outside environment and with the client on the server, who sends a query string as a request The server will process the data and deliver the results back to the client once the character strings have been parsed 1.3 Relationship between Client and Server The client-server model describes the relationship between two computers in which the client requests a service from the server A client-server model's main feature is that the client is dependent on the server to provide and handle information For example, websites are stored on web servers (Harry, 2021) The principle when connecting a client computer to the server include: • • Log on to the computer that will be connected to the server Open an Internet browser, such as Chrome • The Connect your computer to the server page appears • In the file download security warning message, click Run Peer-To-Peer(P2P) A peer-to-peer (P2P) is a network with a decentralized platform that allows two individuals to communicate directly with one another, without the need for a third party to interfere Buyers and sellers can use the P2P service to transact directly with one another Search, screening, rating, payment processing, and escrow are some of the services that the P2P platform provides (Indeed Editorial Team, 2021) Figure - P2P model (Wikipedia, 2019) P2P model provides many essential features such as (Indeed Editorial Team, 2021): • Each computer in a peer-to-peer (P2P) network contributes resources to the network and consumes those resources Files, printers, storage, bandwidth, and processing power can all be shared among multiple computers on a network • A P2P network is simple to configure Access is controlled once it's set up by setting sharing permissions on each computer Passwords can be assigned to specific resources to limit access more strictly • Some P2P networks are constructed by putting a virtual network on a physical network The network transfers data across a physical link, whereas the virtual overlay allows network computers to communicate with one another The table below will show the advantages and disadvantages of P2P network: Advantages Disadvantages Easy file sharing Lack of Decentralization Reduced costs Security issues Adaptability Virus attacks High performance Illegal content Efficiency Table - Advantages and Disadvantages of P2P P2P Example Online gaming platforms such as StarCraft, World of Warcraft, and other famous publisher are very popular with P2P network One of the main reasons why P2P is used in many online gaming platforms is that is provides an easy way to share data between players, and the configuration is simple The figure below shows two game controllers that are connected to a single game station, both users can control different characters in the game (Codrut, 2019) Figure - P2P example (Codrut, 2019) In the modern world, P2P is still used for online gaming platform and other services Another example of P2P network is Bluetooth which commonly used to connect mobile phone to other electrical devices High Performance Computing High-performance computing (HPC) is a technique for solving hard problems that necessitate large computations by utilizing the capacity of supercomputers or computer clusters The size and amount of data that organizations have to work with is expanding dramatically as technologies like the Internet of Things (IoT), artificial intelligence (AI), and 3-D imaging evolve As a result, HPC is becoming significantly crucial due to the ability to process data in real time (Netapp, 2022) There are three different HPC architectures that are used: • • Parallel computing Cluster computing • Distributed computing 3.1 Definition Parallel Parallel computing is a computing architecture where an overall large problem is broken down into smaller and independent parts that can be simultaneously executed through several processors Memory is shared through the communication between processors, the results of each part will be combined to return the overall algorithm The goal of this technique is to increase the available computation power for faster processing and problem solving (Heavy.ai, 2022) The server distributes computing requests into smaller parts, which will be executed simultaneously on each server Parallel computing infrastructure is often housed within a datacenter, where numerous processors are installed in a server rack Cluster Cluster computing refers to a network of computers that connected together as a single entity Cluster computing provides solutions to complex issues by increasing processing speed and data integrity The connected computers perform functions all together, giving the impression of a single virtual machine Transparency of the system is the phrase used to describe this process This networking technique operates on the concept of distributed systems, and LAN is the connection unit in this case The system's transparency is defined by this procedure (WatElectronics, 2020) The table below shows the disadvantages and advantages of SaaS model Advantage Disadvantage Accessibility: SaaS provides the ability to run from any device using an internet browser 24/7 Loss of Control: Because the seller is in charge of everything, users are reliant on their abilities Operational Management: Installation, equipment updates, and traditional licensing management are not part of the operational management Limited Customization: The majority of SaaS solutions allow little in the way of vendor customization Cost Effective: No upfront hardware expenditures and flexible payment methods such as pay-as you-go models Slower Speed: SaaS solutions have a higher latency than client or server programs Scalability: A solution can be easily scaled to meet changing needs Security Risks: While the SaaS provider secures the application, sensitive data should be protected with extreme caution Increase Security: SaaS companies put a lot of money into security technology and expertise Data Storage: Data is saved in the cloud on a regular basis Table - Advantages and disadvantages of SaaS 5.4 Comparing Service Models Features Characteristics IaaS Model Infrastructure as a service(IaaS) refers to pay-as-you-go storage, networking, and virtualization services PaaS Model Platform as a service (PaaS) refers to hardware and software that may be accessed via the internet IaaS Model Software as a service (SaaS) is software that is accessible via the internet and is provided by a third party Delivery Uses Over the internet IAAS is used by network architects IAAS provides users with access to resources such as virtual computers and virtual storage Over the internet PAAS is used by developer Over the internet SAAS is used by end user PAAS provides application deployment and development tools with access to the runtime environment SAAS give access to the end user Model It's a service model that uses the internet to deliver visible computer resources It is a type of cloud computing that provides tools for application development It's a cloud computing service model in which the host software makes client software available Technical understanding Required technical expertise Required to have prior understanding of the subject in order to comprehend the fundamental setup There are no technical requirements because the company will handle everything Popularity Popular between developer and researchers Access Cloud services Popular among programmers who specialize in the creation of apps and scripts Amazon web services, sun, Facebook, and google search vcloud express engine Table - Difference between IaaS, PaaS, and SaaS Popular between consumer and company M.S office web, Facebook, and Google apps Characteristic of Cloud The Cloud computing has five important characteristics, each feature is very essential that it will not be Cloud computing if any of these characteristics is not presented (Ankit, 2019) On-demand self-services: Human administrators are not required for cloud computing services; users can deploy, monitor, and manage computing resources as needed Broad network access: Computing services are typically delivered over regular networks and a variety of devices Figure 18 - Characteristics of Cloud computing (AnkitMahali, 2023) Rapid elasticity: IT resources for computing services should be able to scale out and in quickly and on an as-needed basis When a user requests services, they are given, and the service is scaled down once the user's needs are met Resource pooling: IT resources (such as networks, servers, storage, applications, and services) are shared in an ad hoc manner across multiple applications and occupants A single physical resource is used to serve several customers Measured service: For each application and tenant, resource use is tracked, giving both the user and the resource supplier an account of what has been consumed This is done for a variety of reasons, including billing and resource management Virtualization and Multicore 7.1 Virtualization In Cloud Computing, virtualization refers to the creation of a virtual platform for the server operating system and storage devices This will benefit the user by providing several machines at the same time, as well as allowing multiple users to share a single physical instance of a resource or application Cloud virtualization also helps to manage workloads by altering traditional computing to make it more scalable, cost-effective, and efficient (DataFlair, 2022) There are four types of Virtualizations in Cloud computing, including: • Operating System Virtualization: The virtual machine software in Cloud Computing operating system virtualization is installed in the host's operating system rather than directly on the physical system • Hardware Virtualization: In Cloud Computing, hardware virtualization is employed in server platforms since it is more flexible to use virtual machines rather than actual equipment Hardware virtualization occurs when virtual machine software is installed in the hardware system • Server Virtualization: In Cloud Computing, server virtualization refers to a software is installed directly on the server system and that a single physical server can be divided into multiple servers based on demand to balance the load • Storage Virtualization: Storage virtualization in Cloud Computing is the process of aggregating physical storage from various network storage devices to make it appear as if it were a single storage unit The advantages and disadvantages of Virtualization in Cloud computing are shown on the table: Advantages Disadvantages Security High cost of implementation Flexible operations Has limitations Economical Availability and Scalability issue Eliminates the risk of system failure Requires several links in a chain that must work together cohesively Flexible transfer of data Time consuming Table 10 - Advantages and Disadvantages of Virtualization 7.2 Multicore Multicore processing (MCP) is the use of multicore processors to accomplish computer processing A multicore processor is a single integrated circuit that allows software applications to execute on numerous real core processing units, or cores The goal is to develop a system that can handle more jobs at once, resulting in improved overall system performance The idea behind multicore technology is that it allows for parallel computing, which can dramatically increase computer performance and efficiency by combining two or more central processing units (CPUs) into a single chip The system's heat and power consumption are reduced as a result (Techopedia, 2019) Figure 19 - Multicore Processor (Techopedia, 2019) Multicore processors, in which two or more processor chips or cores work simultaneously as a single system, are the most popular application of this technology Mobile devices, desktops, workstations, and servers all use multicore processors II Evaluate the deployment models, service models and technological drivers of Cloud Computing and validate their use Overview Scenario ATN is a Vietnamese company which is selling toys to teenagers in many provinces all over Vietnam The company has the revenue over 500.000 dollars/year Currently each shop has its own database to store transactions for that shop only Each shop has to send the sale data to the board director monthly and the board director need lots of time to summarize the data collected from all the shops Besides the board can’t see the stock information update in real time ATN Solution According to the scenario, ATN is a large company with high average revenue and data system However, since each shop has its own database to store its transactions, the data management could be timeconsuming and cannot be updated with real-time information Consequently, cloud computing service is significant for ATN company problems Firstly, the cloud computing system increases accessibility, which means that data stored in the cloud can be accessed from any location, making it a superior option for businesses like ATN that operate internationally This implies that the managers can be able to manage any branch store database from any location In addition, the cloud also increases the flexibility of data access The cloud allows the company to scale up or down easily depending on their needs at any particular time Secondly, the cloud is very easy to implement, most companies are hesitant to move to the cloud is because of the idea that the process is difficult However, the cloud provides the most up-to-date methods that help the transaction of a large amount of data easily Additionally, the cloud computing system removes barriers to traditional data from internal databases, it also provides a quicker way to collect data from outside sources Lastly, attaining and maintaining a large data warehouse can be a significant drain on resources, ATN company budget could not be able to buy equipment, keep machines cool, and assure the warehouse's security The responsibility for cloud storage is transferred from the organization to the cloud service provider, making it a more cost-effective approach for ATN company Deployment Model There are four types of clouds namely private, public, hybrid, and community clouds, each brings many benefits in efficiency and income boosted However, the public cloud is recommended for the needs of users in ATN company Here are several reasons why the public cloud is the most suitable deployment model for ATN company: Firstly, the public cloud provides an extremely flexible pricing structure The majority of public cloud providers allow organizations to pay by the hour which helps businesses to keep their expenditures under strict control by only paying for infrastructure that they require Additionally, the public cloud is extremely easy to deploy, it could be done in a few hours It can be readily purchased over the Internet and remotely deployed and configured via the cloud provider's website Secondly, the cloud provider is in charge of maintaining the cloud's hardware, software, and networks As a result, ATN does not need to worry about keeping it so infrastructure up to date, or about security and upgrades Furthermore, public cloud hosting does not require a long-term commitment or investment Pay-as-you-grow arrangements are common among cloud providers, making the whole engagement simple and struggle-free Lastly, data is automatically duplicated in data centers in the public cloud, freeing organizations of the burden of data backup and unnecessary fees This provides ATN company with high flexibility without redundancy Additionally, since the overall cloud system interconnects numerous servers, if one fails, the workload is automatically transferred to another server, providing a smooth and consistent performance for business-critical applications Service Model According to the scenario of ATN company, the PaaS service of cloud computing is recommended to be implemented Several reasons for this recommendation are: Application development is simplified when cloud provider-hosted capabilities are used Pre-built software features are available for most developers, ranging from horizontal tools like database support to more application-specific tools like those enabling IoT This saves time, developer resources, and development project budgets in the long run For security and stability concerns, cloud provider features can take advantage of cloud capabilities that aren't exposed to cloud consumers That means the implementation will almost certainly be more efficient and adaptable than what users could come up with on their own Skills are transferrable since cloud provider tools are standardized across all customers A company that develops its own IoT logic won't be able to locate anyone who is already familiar with its concepts, but one that uses cloud provider features for IoT might expect to discover people who have worked with cloud provider tools PaaS tends to standardize the way common functions are supported; PaaS-based apps are likely to be easier to support PaaS products often make deployment, redeployment, and scalability easier, which reduces operational hassles and errors Programming Languages Node.js is a JavaScript server environment that allows running code without having to use a browser Many websites, such as streaming, games, time trackers, and social media applications, can benefit from the technology For real-time applications, it provides a scalable and quick solution Since it is developed in JavaScript, the most widely used programming language on the planet, it may be used by a wide range of businesses (Dziuba, 2022) Node.js provides a variety of benefits which is the reason for the recommendation of implementing into ATN company Here are some of the important benefits: • Node.js is easy to learn • Node.js is particularly helpful in making the time-to-market cycle shorter • The essence of Node.js is scalability, it provides the ability to handle a huge number of concurrent connections • Node.js enables to quickly develop a Minimum Viable Product Deployment Model MongoDB is a hugely popular database solution; it has a number of advantages that make it a viable option for businesses of all sizes (Esayas, 2019) Additionally, MongoDB is recommended for ATN company, there are some reasons: • Open Source: An open-source database provides with peace of mind and a lot of opportunities development options • Flexible Use Cases: The MongoDB database was designed for online transaction processing, which is appropriate when ATN wants to develop an online trading system • Data Structure with No Schemas: Data can use the fields and structures that make the most sense for each application • Data Sharing: MongoDB's data sharing feature allows ATN to store data across multiple machines to improve the performance of huge databases Cloud Platform Render is another popular platform as a service (PaaS) that provides similar benefits to Heroku It allows developers to build, deploy, and scale applications easily While Heroku supports multiple programming languages, Render focuses on specific languages such as Python, Node.js, Ruby, Go, and Rust Here are some benefits of Render : • • • • Free to Start: Similar to Heroku, Render offers a free tier that allows users to get started without any upfront costs This is beneficial for development projects or for testing and prototyping User-Friendly Interface: Render aims to provide a simple and intuitive user interface, making it easy to set up and manage applications Developers can quickly deploy their code and configure their application's settings with minimal effort Serverless Architecture: Render leverages a serverless architecture, which means developers don't have to worry about managing servers or infrastructure They can focus solely on writing code and building their applications Auto Scaling: Render automatically scales applications based on demand It dynamically adjusts resources such as CPU and memory to handle traffic spikes without manual intervention This ensures that applications perform well under varying workloads • • • Security: Render prioritizes security and provides a secure environment for application development It offers features like automated SSL certificates, encrypted data in transit, and secure access control to protect applications and data Integrated Database and Caching: Render provides integrated support for managed databases, including PostgreSQL, MySQL, and Redis This simplifies the process of setting up and managing databases, allowing developers to focus on building their applications Git-Based Deployments: Render seamlessly integrates with Git repositories, enabling developers to deploy applications directly from their code repositories This makes it easy to update and deploy new versions of the application with a simple Git push command Overall, Render offers a user-friendly experience, automatic scaling, and robust security features, making it a viable alternative to Heroku for developers looking for a PaaS solution Cloud Architecture According to (), the way technology components work together to create a cloud, in which resources are pooled and shared over a network, is known as cloud architecture A cloud architecture's components are a front-end platform, a back-end platform, a cloud-based delivery model, and a network Auto scaling has a function called dynamic scaling This allows automatically scale a group's capacity in response to changing demand An auto scaling action is executed when the metric reaches a configured goal value (Estell, 2022) Figure 20 - Cloud service consumers are sending requests to a cloud service (1) The automated scaling listener monitors the cloud service to determine if predefined capacity thresholds are being exceeded (2) (Estell, 2022) The figure above shows an example of a Cloud architecture, the image shows that: (1) Cloud service consumers are sending requests to a cloud service (2) The automated scaling listener monitors the cloud service to determine if predefined capacity thresholds are being exceeded In the process (1), if the workload does not go over the power limit The request will be delivered to the cloud service as usual if the workload is less than or equal to the capacity limit For example, the workload is scaled as and the production limit is 3, the request cancelled as the workload is higher than the production limit In the process (2), in the modern world, the amount of service requests from cloud service users is steadily rising Workload is over the acceptable level of performance Based on a predefined scaling strategy, the scaling listener automatically decides what to next There are three steps when the workload exceeds the performance limit: • Step 1: If the cloud service implementation is deemed acceptable for further scalability, start the scaling process immediately • Step 2: Producing multiple copies of the cloud service by sending signal resource duplication system to meet the requests of a large number of customers • Step 3: When the workload has been increased, the automatic listener continues receiving the request from users Although, the user’s request will be returned of the implementation of the cloud translation does not qualify for additional scaling III References Ankit, M., 2019 Characteristics of Cloud Computing [online] GeeksforGeeks Available at: https://www.geeksforgeeks.org/characteristics-of-cloud-computing/ [Accessed June2, 2023] Aviatrix, n.d Simple Storage Service (S3) [online] Aviatrix Available at: https://aviatrix.com/learncenter/glossary/s3/ [Accessed June 2, 2023] AWS, 2022 Hybrid Cloud services [online] AWS Available at: https://aws.amazon.com/hybrid/services/ [Accessed June 2, 2023] Codrut, N., 2019 What are P2P (peer-to-peer) networks and what are they used for? [online] DigitalCitizen Available at: https://www.digitalcitizen.life/what-is-p2p-peer-to-peer/ [Accessed June 2, 2023] Comptia, 2022 What Is IaaS? [online] Comptia Available at: https://www.comptia.org/content/articles/what-is-iaas [Accessed June 2, 2023] Comptia, 2022 What Is SaaS? [online] Comptia Available at: [Accessed June 2, 2023] Clark, M., 2022 What is Heroku? [online] Back4App Available at: https://blog.back4app.com/what-isheroku/ [Accessed June 2, 2023] Cloudflare, 2022 What is a CDN? | How CDNs work? [online] Cloudflare Available at: https://www.cloudflare.com/learning/cdn/what-is-a-cdn/ [Accessed June 2, 2023] Carty, D., 2019 Amazon EC2 (Elastic Compute Cloud) [online] Techtarget Available at: https://www.techtarget.com/searchaws/definition/Amazon-Elastic-Compute-Cloud-Amazon-EC2 [Accessed June 2, 2023] DataFlair, 2022 Virtualization in Cloud Computing – Benefits & Types of Virtualization [online] DataFlair Available at: [Accessed June 2, 2023] Dziuba, A., 2022 Advantages of Node.js for Startups [online] Relevant Available at: [Accessed June 2, 2023] Esayas, A., 2019 The Biggest Benefits of Using MongoDB in Your Organization [online] Datavail Available at: https://www.datavail.com/blog/the-biggest-benefits-of-using-mongodb-in-yourorganization/ [Accessed June 2, 2023] Estell, S., 2022 What is dynamic scaling in cloud computing? [online] MovieCultists Available at: https://moviecultists.com/what-is-dynamic-scaling-in-cloud-computing [Accessed June 2, 2023] Harry, D., 2021 What is the relationship between client and server? [online] Quick Adviser Available at: [Accessed June 2, 2023] Heavy.ai, 2022 Parallel Computing Definition [online] Heavy.ai Available at: https://www.heavy.ai/technical-glossary/parallel-computing [Accessed June 2, 2023] Indeed Editorial Team, 2021 What Is a Peer-to-Peer (P2P) Network? [online] Indeed Available at: [Accessed June 2, 2023] Netapp, 2022 What is high performance computing? [online] Netapp Available at: https://www.netapp.com/data-storage/high-performance-computing/what-is-hpc/ [Accessed June 2, 2023] Murugesan, A., 2022 What is Cluster Computing? [online] Educba Available at: https://www.educba.com/what-is-cluster-computing/ [Accessed June 2, 2023] Mohanakrishnan, R., 2021 What Is Community Cloud? Definition, Architecture, Examples, and Best Practices [online] Toolbox Available at: https://www.toolbox.com/tech/cloud/articles/what-iscommunity-cloud/ [Accessed June 2, 2023] Techopedia, 2017 Distributed Computing System [online] Techopedia Available at: [Accessed June 2, 2023] Techopedia, 2019 Multicore [online] Techopedia Available at: https://www.techopedia.com/definition/5305/multicore [Accessed June 2, 2023] TUCAKOV, D., 2020 What is Community Cloud? Benefits & Examples with Use Cases [online] Phoenixnap Available at: https://phoenixnap.com/blog/community-cloud [Accessed June 2, 2023]

Ngày đăng: 02/08/2023, 22:34

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan