1. Trang chủ
  2. » Công Nghệ Thông Tin

Assignment 1 Cloud Computing (1644 Distinction)

43 4 1

Đ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

Thông tin cơ bản

Tiêu đề Cloud Computing
Tác giả Bui Quang Minh
Người hướng dẫn Tran Trong Minh
Trường học Btec Level 5 Hnd Diploma in Computing
Chuyên ngành Computing
Thể loại assignment
Định dạng
Số trang 43
Dung lượng 2,77 MB

Cấu trúc

  • I. History of cloud computing (6)
    • 1. Introduction to the History of Cloud Computing (6)
    • 2. The Inventor of Cloud Computing (6)
    • 3. Cloud Computing's Evolution in the 21st Century (6)
  • II. Fundamental concepts of cloud computing (7)
  • III. Characteristics of cloud computing (8)
  • IV. The need of cloud computing in the real world (9)
  • V. Computing paradigm (10)
    • 1. Definition (10)
    • 2. Client/Server Model (11)
      • 2.1 Definition (11)
      • 2.2 Advantages and Disadvantages (12)
      • 2.3 Example (13)
    • 3. 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)
    • 4. High-Performance Computing (16)
      • 4.1 Definition (16)
      • 4.2 Paralled computing (16)
      • 4.3 Cluster computing (17)
      • 4.4 Distributed computing (17)
  • I. Definition (19)
    • 1. Layer 1 (User/Client layer) (19)
    • 2. Layer 2 (Network layer) (20)
    • 3. Layer 3 (Cloud management layer) (20)
    • 4. Layer 4 (Hardware resource layer) (20)
  • II. Architecture design and its working mechanism for ATN company (21)
  • III. Dependencies and components of ATN App (22)
  • 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)
  • I. Comparing 3 service models (IaaS, PaaS, SaaS) (28)
  • II. An adequate model for ATN app with justification (30)
  • 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)
    • I. 4 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 4 deployment models (38)
  • 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)

Nội dung

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.

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.

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 1 Fundamentals of cloud computing

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 2 Characteristics of cloud computing

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 cloud- based 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.

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:

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

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

Figure 3 Architecture of cloud computing

The benefits of cloud computing architecture are numerous and can have a significant positive impact on businesses:

 Solves latency issues and enhances data processing

 Reduces IT operating costs and offers data accessibility

 Allows easy scaling of cloud resources

 Provides flexibility for competitive advantages

 Enhances disaster recovery and security

 Encourages remote work and team collaboration.

Client/Server Model

The client-server model in computer networking is a foundational concept where all end systems are categorized as either clients or servers, each serving distinct roles and purposes:

 Clients take on an active role in the communication process by initiating communication sessions through requests sent to servers To perform this role effectively, clients must possess knowledge of available servers and the services they offer It's important to note that clients can communicate exclusively with servers and cannot directly interact with other clients

 Servers, in contrast, assume a passive role They respond to their clients' requests, executing specific actions based on these requests and returning results as necessary

The division of roles extends to the software level, where various protocols in the TCP/IP suite employ client and server software to facilitate communication While client software is typically found on client hardware, and server software is located on server hardware, there are instances where devices can function as both clients and servers Notably, web clients like Mozilla Firefox, Internet Explorer, and Google Chrome, and web servers such as Apache, Microsoft IIS, and GWS, exemplify this client-server interaction in the context of web communication

At a more abstract level, the client-server architecture is a widely used software design approach that decomposes software into two primary components:

 Client-side (or simply, client): This application runs on end-user computers, offering a user interface (UI) that governs the application's look, feel, and interaction with users Additionally, it may utilize and consume local resources on the user's device, such as temporary and local storage

 Server-side (or simply, server): This application receives requests from clients and houses the logic needed to generate and deliver the appropriate data in response Instead of a user interface, servers generally feature an application programming interface (API) for interaction Moreover, they often include a database to persistently store all application data

 Scalability: Centralized systems can be scaled up more easily to accommodate increasing demands

 Easy Management: Centralization simplifies system management and maintenance, as it's all handled in one central location

 Accessibility: Centralized data and resources are typically more easily accessible to users

 Data Security: Centralized systems can have enhanced data security measures due to concentrated management

 Network Traffic Congestion: Centralized systems can suffer from network traffic congestion, especially during peak usage times

 High Cost: Implementing and maintaining centralized systems can be expensive

 Robustness: Centralized systems can be vulnerable to single points of failure, potentially leading to system-wide outages

 Maintenance Difficulty: Maintenance of a centralized system can be complex and challenging

 Unacquirable Resources: In a centralized system, resources can become unavailable if the central point fails, leading to downtime or data loss

When you are using your computer and enter www.google.com in the browser such as Google chrome, Coc Coc, or FireFox So that calls client computer When you click the searching button, at this point the browser sends a request to the Google web server Now, Google web server responds data to the browser and display them to user

P2P Model

In the P2P model, all end systems possess equivalent capabilities and responsibilities, enabling any party to initiate a communication session Participants in a P2P network share a portion of their hardware resources, meaning that they both provide and request resources They employ similar networking programs to connect and interact with each other

Peer-to-peer (P2P) is a decentralized communication model where both parties involved have equal capabilities, and either can initiate a communication session In stark contrast to the client-server model, where the client requests a service and the server fulfills it, the P2P network model allows each node to operate as both a client and a server

P2P systems have the potential to offer features such as anonymized routing of network traffic, the creation of massive parallel computing environments, and the facilitation of distributed storage However, many P2P programs primarily focus on media sharing, leading to a common association with software piracy and copyright infringement

 Comprise two or more computers in a network

 Share individual resources, including DVD players, printers, and disk drives

 Each computer in a P2P network can operate as both a client and a server

 Enables direct communication between computers within the network

 All computers on the P2P network can access client devices directly connected to one specific computer

 Requires a means of connection, such as a Wi-Fi router

 Involve numerous clients connecting to a central server where most applications and data are centrally installed

 Clients access resources and data from the central server

 Typically deliver faster access speeds due to the support of a large number of clients

 Clients function as independent workstations without resource sharing

 Facilitate easier application and file upgrades because files are primarily stored on the central server

 In a client-server network, security is managed by the server rather than individual users

Figure 6 Client-server vs P2P comparation

 Cost-Efficiency: P2P networks are cost-effective as they don't require expensive centralized servers Setup costs are reduced, and payments may be one-time

 Reliability: P2P networks are decentralized, so one part can fail without disrupting others Users can still access files from functioning parts

 Scalability: P2P networks can handle additional clients without sacrificing performance Bandwidth availability can increase when more users share files

 Server Requirement: Each computer in a P2P network acts as a server and workstation, eliminating the need for dedicated servers and reducing overhead costs

 Resource Sharing: Resources are shared among users, allowing devices to provide and consume resources simultaneously P2P can facilitate locating and downloading online files

 Decentralization: Lack of centralization makes file location and retrieval more challenging, as files are stored on individual machines

 Performance: As the number of devices on the network increases, performance may degrade, as each computer is accessed by other users P2P networks may not work well in growing networks

 Security: P2P networks offer limited security for individual files, relying primarily on permissions Unauthorized users may gain access without proper logins

 Remote Access: Unsecured codes on a terminal may allow remote users to access files without proper permissions, compromising network security

 Backup Recovery: Backup is complex in P2P networks since data isn't centralized Each computer must be backed up separately

One of the most popular examples of P2P is Torrent Every computer is connected each other on the internet in torrent Many computers can download files from one computer if it uploads the files Also, every computer has the potential to upload parts of a file if that computer has previously downloaded some segments of the file

High-Performance Computing

High-performance computing (HPC) involves utilizing parallel data processing to enhance computational performance and execute intricate calculations This approach aggregates computing power to enable advanced applications to run efficiently and swiftly, surpassing the capabilities of traditional computers, workstations, and servers

The significance of high-performance computing (HPC) is evident in the modern world, where technological breakthroughs and innovations depend on cutting-edge technology, data, and advanced computation As technologies like artificial intelligence (AI), machine learning (ML), and the Internet of Things (IoT) continue to evolve, they demand vast quantities of data and high-performance computing capabilities HPC systems can perform quadrillions of calculations per second, a substantial contrast to typical laptops or desktops that manage, at most, 3 billion calculations per second with a 3 GHz processor

HPC is indispensable for the following reasons:

 Fostering Innovation: HPC serves as a catalyst for groundbreaking innovations in fields like science, technology, business, and academia

 Enhancing Processing Speed: Speed is of the essence for various computing operations, applications, and workloads, and HPC significantly improves processing speeds

 Building a Robust IT Infrastructure: HPC sets the stage for a dependable and rapid IT infrastructure capable of storing, processing, and analyzing vast datasets for a multitude of applications

Parallel computing involves executing multiple processors simultaneously to process applications or computations This computing architecture breaks down large problems into independent, smaller parts that can be processed concurrently Multiple CPUs communicate via shared memory, combining results upon completion This approach is particularly useful for handling large computations by distributing the workload among multiple processors

Parallel computing enhances application processing speed and task resolution by harnessing the combined computational power of systems It is a fundamental principle used by most supercomputers Operational scenarios requiring substantial processing power often employ parallel processing

Typically, in parallel computing infrastructure, multiple processors are installed in a server rack The application server subdivides computational requests into smaller segments, which are then processed simultaneously on each server This contrasts with early computer software designed for serial computation, which executed one instruction at a time

Parallel computing offers several advantages, including

 Ability to tackle larger problems

To illustrate, consider a real-life example: when two cashiers simultaneously serve two customers, it saves time and reduces complexity, similar to how parallel computing operates

Cluster computing refers to a group of interconnected computers that collaborate, operating as a unified entity These connected computers work in unison, creating the perception of a single, cohesive system Clusters are typically linked through high-speed local area networks (LANs)

Cluster computing holds significant importance for various reasons:

 Cost-Efficiency: Cluster computing provides a cost-effective alternative to large server or mainframe computer solutions

 Enhanced Content Delivery: It accelerates content processing and critical services

 Scalability: Many organizations and IT companies adopt cluster computing to boost scalability, availability, processing speed, and resource management while maintaining economical costs

 Continuous Computational Power: Cluster computing ensures that computational power is consistently available

 Vendor-Independent: It offers a standardized approach for deploying parallel high-performance systems, independent of specific hardware vendors and their product choices

Cluster Computing offers several advantages, including

Distributed computing refers to a system where processing and data storage are spread across multiple devices or systems rather than being concentrated in a single central device In a distributed system, each device or system possesses its own processing capabilities and can also handle the storage and management of data independently These devices or systems collaborate to perform tasks and share resources, with no single device acting as a central hub

An example of a distributed computing system is cloud computing, where resources like computing power, storage, and networking are provided over the Internet and accessed on demand In such a system, users can access and utilize shared resources through a web browser or other client software

Key components of a Distributed Computing System include:

 Devices or Systems: These elements have their own processing capabilities and can manage their own data

 Network: The network connects these devices or systems, enabling communication and data exchange

 Resource Management: Distributed systems often incorporate resource management systems to allocate and oversee shared resources like computing power, storage, and networking

The architecture of a Distributed Computing System is typically Peer-to-Peer, where devices or systems can act as both clients and servers, directly communicating with each other

Advantages of Distributed Computing Systems:

Limitations of Distributed Computing Systems:

P2 Designing an appropriate architectural Cloud Computing framework for a given scenario

Definition

Layer 1 (User/Client layer)

The first layer, known as the "Client Layer," is the foundation of the cloud architecture It's where all users or clients connect to the cloud Clients can be various devices like thin clients (which rely on other systems for full functionality), thick clients (with their own processing power), or mobile devices that can access web applications While cloud applications are accessed similarly to web applications, they have distinct internal properties This layer comprises client devices

In layer 1, users and clients establish connections with the cloud Accessing cloud applications is akin to accessing web applications and requires internet or network access However, the internal characteristics of cloud applications differ from traditional web applications Therefore, layer 1 plays a crucial role in establishing the connection between users or clients and the cloud.

Layer 2 (Network layer)

Layer 2 serves as the connection point that allows users to link up with the cloud The entire cloud infrastructure relies on this connection to provide services to customers In a public cloud, this connection is primarily through the Internet, which is usually accessible from various locations worldwide The exact location of the public cloud remains abstract to users

On the other hand, a private cloud may use a local area network (LAN) for connectivity, but its operation still hinges on the network in use Typically, when accessing either a public or private cloud, users require a minimum bandwidth, which is sometimes specified by the cloud providers It's important to note that the quality of this Internet connection between the user and cloud is not covered by service-level agreements (SLAs) In other words, SLAs do not guarantee the quality of service (QoS) for this layer.

Layer 3 (Cloud management layer)

Layer 3 encompasses software components that play a crucial role in managing the cloud These software components can include a cloud operating system (OS), which acts as an intermediary between the data center (containing the actual resources) and the user They can also include management software used for resource management, scheduling, provisioning, and optimization tasks These functions help ensure efficient use of cloud resources, such as server and storage workload consolidation, and internal cloud governance

It's important to note that this layer falls within the purview of service-level agreements (SLAs) In other words, the operations that occur in this layer significantly impact the SLAs agreed upon between users and service providers Any delays in processing or discrepancies in service provisioning can lead to an SLA violation As per the rules, any SLA violation can result in penalties imposed by the service provider

This is applicable to both private and public clouds Well-known service providers like Amazon Web Services (AWS) and Microsoft Azure offer public cloud services, while platforms like OpenStack and Eucalyptus facilitate the creation, deployment, and management of private clouds.

Layer 4 (Hardware resource layer)

Layer 4 is where the actual hardware resources are provided In a public cloud, this typically involves the use of a data center in the backend In a private cloud, it can also be a data center or a high-capacity, interconnected hardware system This layer falls under the purview of service-level agreements (SLAs), and it plays a crucial role in governing the SLAs

The availability and provisioning of resources are especially critical in this layer When a user accesses the cloud, the cloud resources should be made available as quickly as possible and within the timeframe defined by the SLAs If there are any discrepancies in provisioning resources or applications, the service provider may be subject to penalties

Data centers in this layer are equipped with high-speed network connections and efficient data transfer algorithms to ensure rapid and reliable data access Multiple data centers can be used for a single cloud, and conversely, multiple clouds can share a data center

This architecture represents the core structure of a cloud, with strict layering, which is typically followed for any cloud application Depending on how the cloud is deployed, there may be some flexibility or loose isolation between Layer 3 and Layer 4.

Architecture design and its working mechanism for ATN company

ATN is a Vietnamese company specializing in the sale of toys targeting teenagers across multiple provinces in Vietnam The company boasts an annual revenue exceeding $700,000 Currently, ATN operates multiple shops, each equipped with its own database to manage and store individual shop transactions Shop data is collected and sent to the board of directors on a monthly basis, requiring significant time and effort for data consolidation Furthermore, real-time stock information is not readily available to the board To address these challenges, ATN is exploring the implementation of cloud computing to streamline data management and access

Problems ATN Aims to Solve:

 Data Consolidation: Currently, ATN faces challenges in consolidating data from multiple shops This leads to inefficiencies and delays in decision-making for the board of directors

 Real-Time Stock Information: The board lacks real-time access to stock information This hinders their ability to make informed decisions regarding stock management and replenishment

 Resource Management: ATN needs a more efficient way to manage its IT resources, and cloud computing can provide scalability and flexibility

 Cost Efficiency: ATN aims to reduce IT operating costs, and cloud computing can offer a more cost- effective solution

Figure 9 Architecture desgin for ATN

My proposed cloud architecture for ATN appears to address the company's data management and access challenges effectively Here's a summary of working mechanism:

 This layer represents the users or clients interacting with your system, such as the ATN shop employees Users at this layer initiate connections to the cloud They can use devices like computers, mobile phones, or any other devices to access the cloud's web application interface These users make changes to the data, and this information is sent to the cloud The user layer ensures that data changes can be made through a user-friendly interface

 The network layer plays a crucial role in enabling users to connect to the cloud In this case, it's the means by which the data from ATN shops is sent to the cloud's web application For a public cloud, the Internet typically serves as the network layer The quality of this connection, including bandwidth, impacts the user's ability to access the cloud

 The cloud management layer consists of software that manages various aspects of the cloud This software includes a cloud operating system, which serves as an interface between the data center (where the cloud resources are located) and the user In this case, this layer handles resource management, scheduling, provisioning, and other administrative functions This layer is critical for optimizing resource usage, server consolidation, and ensuring that the cloud operates efficiently Layer 4 (Hardware resource layer):

 The hardware resource layer provides the physical infrastructure for your cloud The "Hardware

Resource Layer" in cloud architecture, includes data centers, physical servers, storage, network infrastructure, data management, virtualization, and resource provisioning It forms the foundation of cloud computing, where physical servers and databases store data and applications In this scenario, it's where data changes from ATN shops are processed and managed, ensuring the cloud application's reliability and performance.

Dependencies and components of ATN App

Cloud Infrastructure: The ATN App relies on cloud infrastructure for its hosting and data storage needs This infrastructure encompasses servers, databases, and various other cloud-based resources, all of which are managed by the designated cloud service provider

Internet Connectivity: A dependable internet connection is crucial to ensure real-time data updates and access Both ATN shops and the central management website require internet connectivity to effectively communicate with the cloud infrastructure

Cloud Service Provider: The ATN App is reliant on the services and capabilities provided by the selected cloud service provider This encompasses services like data synchronization, security features, and the ability to scale resources

ATN Shops: Each individual shop is linked to the cloud's web application interface, facilitating real-time updates of shop data This connection ensures that any alterations made in a shop's data are promptly reflected in the cloud

Web Application Interface: The web application interface within each shop plays a central role in the efficient and user-friendly management of data It offers a convenient platform for handling data at the shop level

Centralized Management: The website accessible to the boss and admin serves as a centralized hub for data management It establishes a connection with the cloud service, enabling interaction with the cloud database This platform allows the boss and admin to oversee and manage data from all shops in one place

Cloud Service: The cloud service serves as an intermediary between the web application interfaces at the shops and the cloud database It ensures that data modifications are synchronized and updated in real-time, ensuring a consistent and reliable view of the data

Cloud Database: The cloud database acts as the primary repository for all data, storing information from all ATN shops It is accessible to authorized users through the website

P3 Defining an appropriate deployment model for a given scenario

Three cloud deployment models

Public cloud model

The public cloud is a cloud computing model that allows widespread access to cloud services and resources Here are the key points about the public cloud:

 The public cloud provides access to systems and services to anyone, including the general public and major industry groups

 It is owned and managed by the entity delivering the cloud services, not the end-users

 Minimal Investment: There are no substantial upfront costs; users pay for what they use, making it accessible for enterprises needing immediate resource access

 No Setup Cost: Service providers handle the entire infrastructure, eliminating the need for users to set up hardware

 No Infrastructure Management: Users are relieved from managing the cloud infrastructure

 No Maintenance: Maintenance tasks are handled by the service provider

 Dynamic Scalability: On-demand resources are available to meet a company's evolving needs

 Security Concerns: Public clouds are considered less secure as resources are open to the public, which may raise security issues

 Low Customization: Since public clouds serve many users, they may not be highly customizable to meet individual requirements

Examples of public cloud services include Google App Engine This model is suitable for organizations looking for cost-effective, accessible, and quickly scalable cloud solutions but should be cautious regarding security and customization limitations

Private cloud model

The private cloud is a cloud deployment model that offers an exclusive and one-on-one environment for a single user or customer Here are the main points about the private cloud:

 The private cloud provides a cloud computing environment where the hardware resources are dedicated to a single user or organization

 It is sometimes referred to as the "internal cloud" because it is typically used within a specific organization or boundary

 Better Control: Users have complete control over service integration, IT operations, policies, and user behaviors

 Data Security and Privacy: It's suitable for storing sensitive corporate information, providing access only to authorized staff and ensuring enhanced security

 Supports Legacy Systems: Private clouds are compatible with legacy systems that may not work with the public cloud

 Customization: Organizations can customize the private cloud solution to meet their specific needs and requirements

 Less Scalable: Private clouds have a limited scalability range as they serve a smaller number of clients

 Costly: They are often more expensive compared to public clouds because of the personalized and dedicated nature of the services

Private clouds are suitable for organizations that require complete control over their cloud environment, have specific security and compliance needs, or need to support legacy systems However, they may be less cost- effective and less scalable than public clouds

Community cloud model

The community cloud is a cloud deployment model that allows systems and services to be accessible by a group of organizations with shared concerns or tasks Here are the key points about the community cloud:

 The community cloud is a distributed system created by integrating the services of different clouds to meet the specific needs of a community, industry, or business

 It is designed for a specific group of organizations with common interests or security requirements Advantages:

 Cost-Effective: Sharing the cloud infrastructure among multiple organizations or communities can be cost-effective

 Security: Community clouds often provide better security than public clouds due to the shared and restricted user group

 Shared Resources: Organizations in the community can share resources and infrastructure, improving resource utilization

 Collaboration and Data Sharing: Community clouds are suitable for collaborative efforts and data sharing among member organizations

 Limited Scalability: Community clouds are typically less scalable because multiple organizations share the same resources based on their shared interests

 Rigid Customization: As data and resources are shared among different organizations, customization may be limited, as changes by one organization could impact others within the community

Community clouds are beneficial for groups of organizations that have shared goals and interests but may require trade-offs in scalability and customization due to the shared nature of the cloud resources

Selected deployment model for ATN company with detailed explaination

Criteria Weight Public Cloud Private Cloud Community cloud

Table 1 Decision matrix table for selecting deployment model Explaination:

 Cost: Community Cloud offers the most cost-effective solution for ATN because it allows sharing costs among multiple organizations, which is crucial for a company with revenue of $700,000/year

 Security: Private Cloud is rated highest for security, but Community Cloud is also considered secure Both are suitable options

 Scalability: Public Cloud is highly scalable, but it might be overkill for ATN's revenue and shop count Community Cloud offers moderate scalability

 Customization: Private Cloud offers the highest level of customization, but Community Cloud still allows some customization based on shared interests

 Based on the decision matrix and ATN's specific needs, the Community Cloud model is the most suitable deployment option It excels in cost- effectiveness, security, and collaboration, which align with ATN's scenario of multiple shops needing to share data and resources within a specific community.

P4 Comparing the service models for choosing an adequate model for a given scenario

Comparing 3 service models (IaaS, PaaS, SaaS)

The cloud offers three primary service models for delivering computing resources to end customers:

Software as a Service (SaaS): In the SaaS model, software applications are hosted and maintained by a service provider These applications are accessible over the internet from various client devices, such as web browsers or program interfaces Customers use the software without managing the underlying infrastructure SaaS examples include customer relationship management (CRM), business intelligence analytics, and online accounting software

Platform as a Service (PaaS): PaaS provides a development and deployment environment for consumer- created or acquired applications Customers can develop, run, and manage applications using programming languages, libraries, and tools offered by the provider While customers do not control the underlying infrastructure, they have control over the deployed applications and their configuration settings PaaS vendors manage the infrastructure, including networks, servers, and storage Examples of PaaS providers are Google App Engine and Microsoft Azure Services

Infrastructure as a Service (IaaS): In the IaaS model, customers can provision fundamental computing resources like processing, storage, and networks on a pay-per-use basis They can deploy and run their software, including operating systems and applications While customers have control over their operating systems, storage, and applications, they do not manage the underlying cloud infrastructure's physical components The service provider is responsible for equipment ownership, housing, cooling, operation, and maintenance A notable IaaS provider is Amazon Web Services (AWS)

The key distinction between PaaS and IaaS lies in the level of control users have PaaS is more managed by vendors, whereas IaaS requires greater customer management Organizations that already have specific software packages or applications and want to run them in the cloud often choose IaaS, whereas PaaS is suited for those who want to develop and deploy applications without managing the underlying infrastructure.

An adequate model for ATN app with justification

Criteria Weight SaaS PaaS IaaS

Table 2 Decision matrix for comparing service models Based on the decision matrix, the IaaS model scores the highest (74) and is the recommended choice for ATN App Here's why:

 Development Flexibility: IaaS provides the highest level of control over the development environment, which is crucial for customizing ATN App to meet specific requirements

 Infrastructure Management: IaaS gives ATN App the most control over infrastructure management, allowing them to tailor resources to their needs

 Scalability: IaaS offers the best scalability options, enabling ATN App to handle fluctuations in workloads effectively

 Maintenance and Updates: IaaS allows ATN App to manage software updates and maintenance, providing more flexibility

 Cost Control: IaaS aligns well with precise cost control, as ATN App pays only for the resources used

 IaaS is the most versatile model, offering the flexibility and control that ATN App needs while supporting efficient resource management and scalability This makes it the suitable choice for ATN App's cloud deployment.

M1 Discussing why an organization should migrate to a Cloud Computing solution

Advantages and disadvantages points of using cloud computing solution

The advantages of cloud computing can be summarized as follows:

 Cost Savings: Cloud computing eliminates the need for upfront investments in physical hardware and reduces the costs associated with hardware maintenance This cost-effectiveness is especially beneficial for small and medium-sized businesses

 High Speed: Cloud deployment is fast and efficient, requiring fewer clicks to get the necessary resources This rapid deployment accelerates project timelines and business operations

 Back-up and Restore Data: Cloud-based data storage simplifies backup and recovery processes It offers a more efficient and reliable way to protect data, reducing downtime and data loss risks

 Automatic Software Integration: Cloud platforms handle software integration automatically This eliminates the need for extensive customization and integration efforts, streamlining operations

 Reliability: Cloud hosting services offer high reliability with instant updates and maintenance This reliability ensures that systems and applications are always up to date and available

 Mobility: Cloud services provide remote access to data and applications, enabling employees to work from anywhere with an internet connection This enhances mobility and flexibility in the workforce

 Unlimited Storage Capacity: The cloud offers virtually limitless storage capacity, allowing organizations to scale their storage as needed without significant upfront costs

 Collaboration: Cloud computing facilitates secure collaboration among geographically dispersed teams This promotes efficient teamwork and communication

 Quick Deployment: Cloud-based systems can be fully operational within minutes The speed of deployment varies depending on the technologies used but generally accelerates time-to-value for businesses

These advantages make cloud computing an attractive solution for businesses seeking cost savings, agility, and enhanced performance while reducing the burden of managing physical infrastructure and IT resources

The disadvantages of cloud computing can be summarized as follows:

 Performance Can Vary: Cloud applications share resources, which can lead to varying performance

 Technical Issues: Cloud technology is susceptible to outages and technical problems, even with high maintenance standards

 Security Threats: Sharing sensitive company data with third-party cloud providers can expose it to potential security breaches

 Downtime: Cloud providers can experience downtime due to power loss, connectivity issues, or maintenance

 Internet Connectivity: Reliable internet access is essential for using cloud computing

 Lower Bandwidth: Many cloud providers impose bandwidth limits, with excess usage incurring high costs

 Lack of Support: Cloud companies often provide limited customer support, relying on FAQs and online resources.

Persuasion to the organization to utilize cloud computing instead of local apps

deployment models in real world cloud app

Choosing the appropriate cloud deployment model is a critical decision for optimizing IT infrastructure Each model has its own set of benefits and is well-suited to specific situations The choice hinges on the particular needs and limitations of an organization

The term "public clouds" is self-explanatory They are accessible to the general public, and data is generated and stored on servers maintained by third-party providers These service providers own and manage the server infrastructure, eliminating the need for user companies to purchase and maintain their own hardware These provider companies offer resources over the internet either for free or on a pay-per-use basis Users have the flexibility to scale these resources according to their needs

Public cloud deployment is the preferred choice for businesses that have fewer concerns about data privacy Examples of popular public cloud deployment models include Amazon Elastic Compute Cloud (Amazon EC2, recognized as a leading service provider by ZDNet), Microsoft Azure, Google App Engine, IBM Cloud, Salesforce Heroku, and many others

 Amazon Web Services (AWS): AWS is one of the largest public cloud service providers It offers a wide range of cloud services, including computing power, storage, databases, machine learning, and more Many startups and enterprises use AWS for scalable and cost-effective cloud solutions

 Microsoft Azure: Microsoft Azure provides a comprehensive suite of cloud services Organizations can leverage Azure for virtual machines, AI services, and various enterprise solutions It's commonly used by businesses for cloud-based infrastructure

From a technical perspective, public and private cloud models are quite similar, sharing very few differences in their architectures The key distinction lies in ownership: a public cloud is available to the general public, while a private cloud is solely owned by a specific company This private cloud model is often referred to as an internal or corporate cloud

The servers in a private cloud can be hosted externally or on the company's premises Regardless of their physical location, these infrastructures operate on a dedicated private network and utilize software and hardware exclusively intended for the owner company's use

Access to the information stored in a private cloud is restricted to a well-defined group of individuals, preventing the general public from utilizing it Given the increasing number of data security breaches in recent years, many large corporations have opted for a closed private cloud model to minimize security concerns

In contrast to the public model, the private cloud offers greater flexibility for tailoring the infrastructure to the company's specific requirements Private clouds are particularly well-suited for companies aiming to safeguard their mission-critical operations or for businesses with continually evolving needs

It's worth noting that several public cloud service providers, such as Amazon, IBM, Cisco, Dell, and Red Hat, also offer private cloud solutions

 IBM Cloud Private: IBM offers private cloud solutions for businesses looking to keep sensitive data and applications within their own data centers IBM Cloud Private allows for cloud-native development while maintaining data control

 VMware Cloud: VMware provides private cloud solutions that allow organizations to extend their on- premises infrastructure into the cloud VMware's software-defined data center can be run on private clouds for added security and control

A hybrid cloud, like most hybrid concepts, combines the strengths of the deployment models mentioned earlier (public, private, and community) It enables organizations to cherry-pick the elements from these three types that align most closely with their needs

For instance, a company can achieve load balancing by placing mission-critical workloads in a secure private cloud while utilizing a public cloud for less sensitive tasks The hybrid cloud model not only provides security and management for strategically vital assets but does so in a manner that optimizes costs and resources Furthermore, this approach simplifies the movement of data and applications between different cloud environments

 Google Anthos: Google Cloud's Anthos is a hybrid cloud platform that enables organizations to build, deploy, and manage applications across on-premises and multiple cloud environments, including Google Cloud, AWS, and Azure

 Hewlett Packard Enterprise (HPE): HPE offers a hybrid cloud solution that integrates with public cloud providers like AWS and Azure It allows enterprises to have a unified approach to managing their hybrid cloud infrastructure

Comparison between 4 deployment models

To aid in my selection of a deployment model, I’ve found a comparative table summarizing the key business-critical features of each cloud type

Ease of setup and use Easy Requires IT proficiency Requires IT proficiency Requires IT proficiency

Data security and privacy Low High Comparatively high High

Data control Little to none High Comparatively high Comparatively high

Reliability Low High Comparatively high High

Scalability and flexibility High High Fixed capacity High

Cost-intensive; the most expensive model

Cost is shared among community members

Cheaper than a private model but more costly than a public one

Demand for in-house hardware No Depends Depends Depends

D1 Justifying the tools chosen to realise a Cloud Computing solution

Solution for ATN company

Deploymemt model

As I mentioned the chosen deployment model above, the Community Cloud model appears to be the most fitting deployment option It excels in cost-effectiveness, security, and collaboration, aligning well with ATN's scenario where multiple shops within a specific community need to share data and resources.

Service model

I also recommend a service model that is suitable for ATN company, it is IaaS model which is the most appropriate choice It offers the versatility, control, and scalability necessary for ATN App's cloud deployment, allowing efficient resource management to meet its specific needs.

Programming language

Choosing Node.js with Express for the back end and React.js for the front end is a solid choice for building the ATN company's applications

 React.js, on the other hand, is a popular front-end library known for its component-based architecture and ease of development It allows for the creation of responsive and user-friendly interfaces, which is essential for applications targeting teenagers With React, I can build interactive and dynamic user interfaces that can help enhance the user experience

 Node.js is known for its scalability and performance, making it suitable for handling data from multiple shops across various provinces I also use Express to make the web app easier to execute, as a web application framework for Node.js, provides an efficient way to build APIs and handle data transactions

These technologies are widely used in the industry and have strong community support, making it easier to find resources and solutions as I develop the applications for ATN Additionally, they work well together, allowing you to create a cohesive and seamless user experience

Figure 18 Node JS and ReactJS logos

Database

Selecting PostgreSQL as the database for your ATN company's applications is a wise decision PostgreSQL is a powerful, open-source relational database management system known for its reliability, scalability, and extensibility It offers a wide range of advanced features and capabilities that are well-suited for various business applications I chose this for the following reasons:

 Data Integrity: PostgreSQL provides robust data integrity with support for foreign keys, constraints, and transactions, ensuring that your data remains consistent

 Scalability: It can handle large volumes of data and high levels of traffic, making it suitable for applications with multiple shops and users

 Community and Support: PostgreSQL has an active and supportive community, which means you can find a wealth of resources, documentation, and help when needed

 Security: It offers advanced security features, including data encryption, authentication, and role-based access control to protect your data

 Reliability: It is known for its reliability and robustness, with features like point-in-time recovery and continuous archiving.

Cloud platform

After considering some cloud platforms on the market, I decided to choose Azure which is a popular cloud platform with a strong presence and a growing customer base Microsoft has made significant investments in data centres worldwide, and they have a data centre in Southeast Asia (Singapore region) Azure provides a comprehensive set of services and robust integration with Microsoft technologies If your organization is already using Microsoft software or tools, Azure might be a seamless fit for ATN needs

Chandrasekaran, K (2015) Essentials of cloud computing, Boca Raton, FL, CRC Press

Anon (2023) History of cloud computing: Brief overview of cloud computing, EDUCBA, [online]

Available at: https://www.educba.com/history-of-cloud-computing/ (Accessed 26 September 2023)

Madooei, A (n.d.) Client-server applicationả, Client-server Application - OOSE, [online] Available at: https://madooei.github.io/cs421_sp20_homepage/client-server-app/ (Accessed 26 September 2023)

Roomi, M (2020) 7 advantages and disadvantages of peer to peer network: Drawbacks & benefits of peer to Peer Network, HitechWhizz, [online] Available at: https://www.hitechwhizz.com/2020/11/7- advantages-and-disadvantages-drawbacks-benefits-of-p2p-network.html (Accessed 27 September

Awati, R (2021) What is high-performance computing (HPC)?, Data Center, TechTarget, [online]

Available at: https://www.techtarget.com/searchdatacenter/definition/high-performance-computing- HPC (Accessed 27 September 2023)

Anon (n.d.) What is Parallel Computing - javatpoint, www.javatpoint.com, [online] Available at: https://www.javatpoint.com/what-is-parallel-computing (Accessed 27 September 2023)

Anon (2021) An overview of cluster computing, GeeksforGeeks, GeeksforGeeks, [online] Available at: https://www.geeksforgeeks.org/an-overview-of-cluster-computing/ (Accessed 27 September 2023)

Anon (2023b) What is distributed computing?, GeeksforGeeks, GeeksforGeeks, [online] Available at: https://www.geeksforgeeks.org/what-is-distributed-computing/ (Accessed 27 September 2023)

Vavra, C (2022) Five characteristics of cloud computing, Control Engineering, [online] Available at: https://www.controleng.com/articles/five-characteristics-of-cloud-computing/ (Accessed 27

Afreen, S (2023) What is cloud computing architecture: Simplilearn, Simplilearn.com, Simplilearn, [online] Available at: https://www.simplilearn.com/tutorials/cloud-computing-tutorial/cloud- computing-architecture (Accessed 27 September 2023)

Anon (2023a) Cloud deployment models, GeeksforGeeks, GeeksforGeeks, [online] Available at: https://www.geeksforgeeks.org/cloud-deployment-models/ (Accessed 27 September 2023)

Neal (2023) Fundamentals of cloud computing, Digital Cloud Training, [online] Available at: https://digitalcloud.training/fundamentals-of-cloud- computing/#:~:text=Cloud%20computing%20offers%20computing%20resources,effort%20and%20 cloud%2Dprovider%20interaction (Accessed 28 September 2023)

Richard Peterson and Peterson, R (2023) Advantages and disadvantages of cloud computing, Guru99, [online] Available at: https://www.guru99.com/advantages-disadvantages-cloud-computing.html (Accessed 30 September 2023).

Ngày đăng: 02/02/2024, 10:12

w