Học phần này được thiết kế tỉ mỉ nhằm trau dồi sự hiểu biết sâu sắc về các khái niệm cơ bản của Điện toán đám mây, khám phá các phân khúc đám mây khác nhau, mô hình triển khai và nhu cầu vốn có về việc áp dụng các giải pháp Điện toán đám mây. Học sinh sẽ phát triển sự đánh giá cao về sự phức tạp liên quan đến việc quản lý kiến trúc dịch vụ đám mây và trau dồi nhận thức quan trọng về các dự án dựa trên nguyên tắc Điện toán Đám mây.
ASSIGNMENT FRONT SHEET Qualification BTEC Level 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 Bui Quang Minh Student ID GCD210325 Class GCD1104 Assessor name Tran Trong Minh 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 Grading grid P1 P2 P3 P4 M1 M2 D1 Summative Feedback: Grade: Resubmission Feedback: Assessor Signature: Internal Verifier’s Comments: Signature & Date: Date: Contents P1 Analysing the evolution and fundamental concepts of Cloud Computing I History of cloud computing Introduction to the History of Cloud Computing The Inventor of Cloud Computing Cloud Computing's Evolution in the 21st Century II Fundamental concepts of cloud computing III Characteristics of cloud computing IV The need of cloud computing in the real world V Computing paradigm 10 Definition 10 Client/Server Model 11 2.1 Definition 11 2.2 Advantages and Disadvantages 12 2.3 Example 13 P2P Model 13 3.1 Definition 13 3.2 P2P and Client-Server networks 14 3.3 Advantages and disadvantages 15 3.4 Example 15 High-Performance Computing 16 4.1 Definition 16 4.2 Paralled computing 16 4.3 Cluster computing 17 4.4 Distributed computing 17 P2 Designing an appropriate architectural Cloud Computing framework for a given scenario 19 I Definition 19 Layer (User/Client layer) 19 Layer (Network layer) 20 Layer (Cloud management layer) 20 Layer (Hardware resource layer) 20 II Architecture design and its working mechanism for ATN company 21 III Dependencies and components of ATN App 22 P3 Defining an appropriate deployment model for a given scenario 24 I Three cloud deployment models 24 1.1 Public cloud model 24 1.2 Private cloud model 25 1.3 Community cloud model 26 II Selected deployment model for ATN company with detailed explaination 27 P4 Comparing the service models for choosing an adequate model for a given scenario 28 I Comparing service models (IaaS, PaaS, SaaS) 28 II An adequate model for ATN app with justification 30 M1 Discussing why an organization should migrate to a Cloud Computing solution 31 I Advantages and disadvantages points of using cloud computing solution 31 II Persuasion to the organization to utilize cloud computing instead of local apps 32 M2 Demonstrating these deployment models with real world examples 33 I deployment models in real world cloud app 33 1.1 Public cloud 33 1.2 Private cloud 34 1.3 Hybrid cloud 35 1.4 Community cloud 36 II Comparison between deployment models 38 D1 Justifying the tools chosen to realise a Cloud Computing solution 39 I Solution for ATN company 39 1.1 Deploymemt model 39 1.2 Service model 39 1.3 Programming language 39 1.4 Database 40 1.5 Cloud platform 40 REFERENCE LIST 41 Table of Figures Figure Fundamentals of cloud computing Figure Characteristics of cloud computing Figure Architecture of cloud computing 11 Figure Client/Server model 12 Figure Searching bar illustration 13 Figure Client-server vs P2P comparation 14 Figure Torrent logo 15 Figure Architecture desgin for ATN 21 Figure Public cloud model 24 Figure 10 Private cloud model 25 Figure 11 Community cloud model 26 Figure 12 Service models 28 Figure 13 Public cloud illustration 33 Figure 14 Private cloud illustration 35 Figure 15 Hybrid cloud illustration 36 Figure 16 Community cloud illustration 37 Figure 17 Node JS and ReactJS logos 39 Figure 18 PostgreSQL logo 40 Figure 19 Microsoft azure logo 40 P1 Analysing the evolution and fundamental concepts of Cloud Computing I History of cloud computing Introduction to the History of Cloud Computing Cloud computing has become the preferred method for delivering solutions and enterprise applications to businesses worldwide The inception of cloud computing dates back to the early 1960s, marked by the emergence of time-sharing concepts through Remote Job Entry IBM and DEC (Digital Equipment Corporation) were pivotal in this development, leading to the availability of full-time sharing systems by the early 1970s In the 1990s, several telecommunications giants began offering cost-effective Virtual Private Network (VPN) services, optimizing network traffic through efficient server usage By 1994, the term "cloud" metaphorically entered the lexicon to describe virtualized services The Inventor of Cloud Computing Cloud computing, as we know it today, was conceptualized in the early 1960s by J.C.R Licklider, an American psychologist and computer scientist His pioneering work in network research, particularly on ARPANet (Advanced Research Project Agency Network), aimed to connect people and data globally and laid the foundation for cloud computing J.C.R Licklider, born on March 11th, 1915, in St Louis, Missouri, earned a BA degree from Washington University in 1937, specializing in physics, mathematics, and psychology In 1938, he completed his MA in psychology and obtained his Ph.D from the University of Rochester in 1942 Licklider's profound interest in information technology, coupled with his diverse achievements, led to his appointment as the Head of the Information Processing Techniques Office (IPTO) at ARPA (US Department of Defense Advanced Research Project Agency) in 1962 Under his leadership, ARPANet, a precursor to the modern internet, was established Cloud Computing's Evolution in the 21st Century The era of cloud computing continued to evolve into the 21st century In the mid-2000s, around 2006, Amazon pioneered Amazon Web Services (AWS) and introduced Elastic Computing Cloud (EC2) In 2008, Google launched its beta version of a search engine Microsoft announced its cloud computing service, Microsoft Azure, in 2008, designed for testing, deployment, and application management In 2012, Google Compute Engine was introduced to the public at the end of December 2013 Oracle entered the scene with Oracle Cloud, offering three primary services for businesses: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) Today, Linux and Microsoft Azure are prominent players in the cloud computing landscape II Fundamental concepts of cloud computing Cloud computing offers several fundamental characteristics that make it a powerful technology for businesses Here's a summary of the five major characteristics: On-demand Self-Service: Cloud computing allows users to easily provision infrastructure and services with a click of a button This self-service capability aligns with modern businesses' agile software development needs, eliminating the long wait times associated with traditional infrastructure setup Rapid Elasticity and Scalability: Cloud computing provides automatic scalability, allowing businesses to handle rapid workload changes Resources can be added or removed quickly without causing downtime This feature helps businesses efficiently manage varying workloads, such as those during sales events Multi-tenancy and Resource Pooling: Cloud computing supports multi-tenancy, where multiple customers share the same physical infrastructure without compromising security and privacy Resource pooling ensures efficient utilization of resources and reduces costs for customers Pay-per-use Pricing: Cloud services are charged based on actual usage, shifting IT costing from capital expenditures (Capex) to operational expenditures (Opex) Customers are billed for the resources they consume, allowing for cost savings through efficient resource management Broad Network Access: Cloud services are accessible over the internet from anywhere and any device Public cloud services are available globally, and the use of edge computing further accelerates service delivery at the cloud's edges, improving accessibility These characteristics provide businesses with flexible, cost-effective, and scalable solutions, making cloud computing a valuable technology for various applications Figure Fundamentals of cloud computing III Characteristics of cloud computing Cloud computing is defined by five essential characteristics, and the presence of all these features distinguishes it as true cloud computing: On-demand self-service: Users have the ability to autonomously request and access computing resources like server time and network storage without the need for direct interaction with the service provider Broad network access: Cloud capabilities are accessible via the network and can be reached through standard mechanisms, enabling usage across various devices, including mobile phones, laptops, and personal digital assistants (PDAs) Elastic resource pooling: Cloud providers aggregate their computing resources, serving multiple consumers through a multi-tenant model Physical and virtual resources are dynamically allocated and reassigned based on consumer demand The location of these resources may not be directly known to the consumer but can often be specified at a higher level of abstraction, such as by country, state, or data center These resources can include storage, processing power, memory, and network bandwidth Rapid elasticity: Cloud services are designed for quick and flexible provisioning They can rapidly scale out to meet increased demand and just as quickly scale in when demand decreases From the consumer's perspective, these capabilities often seem unlimited, allowing them to purchase resources in any quantity at any time Measured service: Cloud systems employ automatic resource management with metering capabilities suitable for the type of service provided This metering allows for the monitoring, control, and reporting of resource usage It provides transparency for both the service provider and the consumer, ensuring efficient utilization of resources These resources can encompass storage, processing, bandwidth, and active user accounts Figure Characteristics of cloud computing IV The need of cloud computing in the real world The primary drivers behind the adoption of cloud computing are the attributes of convenience and reliability In the past, the transfer of files necessitated the use of physical storage devices such as USB flash drives, external hard drives, or CDs, which then needed to be transported to different locations In contrast, employing a cloudbased solution like Dropbox streamlines this process, ensuring that files are accessible from any computer with an internet connection Furthermore, the cloud greatly simplifies file sharing, enabling seamless collaboration over the internet Cloud computing has found a multitude of practical applications across various domains, significantly impacting the way businesses and institutions operate Here are some real-world applications of cloud computing: Online Data Storage: Cloud computing facilitates the storage of files, images, audio, video, and more in the cloud, eliminating the need for costly physical storage systems It provides easy access to stored data as per organizational requirements Backup and Recovery: Cloud vendors offer secure data storage and backup solutions, making data recovery easier and more reliable compared to traditional methods This ensures data safety and retrievability Big Data Analysis: Cloud computing addresses the challenge of storing and analyzing large volumes of data Organizations can store extensive datasets in the cloud and use high-quality tools for data analytics to derive valuable insights Testing and Development: Cloud services offer a cost-effective and flexible platform for product development, testing, and deployment Organizations benefit from scalable IT resources, reducing expenses associated with these processes Anti-Virus Applications: Cloud-based antivirus software is stored in the cloud and monitors systems remotely for security risks, providing protection and the convenience of remote software downloads E-commerce Applications: Cloud-based e-commerce platforms enable rapid responses to market opportunities and challenges They streamline business operations, managing customer and product data in cloud environments Cloud Computing in Education: Cloud computing has revolutionized education, offering e-learning, distance learning platforms, and student information portals It creates an engaging environment for students, faculty, and researchers, enhancing learning, teaching, and experimentation E-Governance Applications: Cloud computing supports various government activities by providing a more efficient and cost-effective approach to managing services, applications, and resources It enhances scalability and customization while reducing unnecessary expenses V Computing paradigm Definition Cloud computing architecture is a pivotal element that facilitates the storage and accessibility of data via the internet It encompasses both front-end and back-end components, providing clients with a user interface for interaction and service providers with the means to manage and deliver cloud services Here is an overview of the components of cloud computing architecture: Front End: The front end is the client-facing aspect of cloud computing, providing the interfaces and applications necessary for users to access cloud computing platforms It includes: Client Infrastructure: Offers a graphical user interface (GUI) for user interaction with the cloud Applications: These can be any software or platforms that clients intend to access Services: Determine the type of services accessed based on client requirements Back End: The back end is the service provider's realm, responsible for managing the resources essential for delivering cloud computing services It comprises: Data Storage: Offers significant storage capacity to store and manage data in the cloud Infrastructure: Provides services at the host, application, and network levels, including hardware (servers, storage, network devices), virtualization software, and other resources Management: Coordinates components like applications, services, runtime environments, storage, infrastructure, and security in the backend Security: Implements security mechanisms within the backend to ensure data safety Internet: Serves as the medium through which front end and back end components interact and communicate Cloud computing architecture combines service-oriented and event-driven architectures and is structured to serve clients and service providers, enabling seamless data storage and retrieval through internet connectivity