Assignment 1 Feedback Form
Assignment 1 Feedback Form
Grading grid
P1 P2 P3 P4 M1 M2 D1
Assessor Feedback:
P2 Design an appropriate architectural Cloud Computing framework for a given scenario. ................. 9
2.3 The benefits and drawbacks of Cloud Computing Architectural- Benefits ..................................... 11
4. Community Cloud........................................................................................................................................... 15
Benefits of P2P:
Improved scalability and reliability (no single point of failure) Shortcomings of P2P:
Poor security
Clients must have knowledge of the available servers and the services they provide
Clients can communicate with servers only; they cannot see each other
Servers have a passive role and respond to their clients by acting on each request and returning
results
Software roles
TCP/IP uses different pieces of software for many protocols to implement ”client” and ”server” roles
Client software is usually found on client hardware and server software on server hardware, but
not always
Some devices may run both client and server software Web clients: Mozilla Firefox, Internet
Explorer, Google Chrome, . . . Web servers
Transparency, scalability, security, and intelligent monitoring are just a few of the key constraints
thatshould be faced by every cloud architecture. Other significant constraints are currently being
researched toaid cloud computing systems in developing new features and tactics that have the
potential to providemore sophisticated cloud solutions.
Frontend: The frontend of a cloud computing system refers to the client side of the system. All of
theclient's user interfaces and apps for interacting with cloud computing services and resources are
housedhere. To access the cloud platform, for example, you can use a web browser.
Client Infrastructure - Client infrastructure is part of the frontend component. All of the apps
anduser interfaces required to use the cloud platform are included.
To put it another way, it allows you to communicate with the cloud through a graphical
userinterface (GUI)
Backend: The backend refers to the service provider's cloud. It not only confines the resources, but
alsomaintains them and implements security procedures. Storage, virtual apps, virtual
machines, trafficmanagement strategies, and deployment procedures are all important.
Service: Service refers to the three main types of cloud-based services in the backend: SaaS,
PaaS,and IaaS. It also regulates the services to which the user has access.
Runtime Cloud: The backend Runtime cloud provides the Virtual Machine with the execution
andRuntime platform/environment
Security: Backend security refers to the use of various security techniques in the backend to
protectend-users access to cloud resources, systems, data, and infrastructure.
Drawbacks
• Accessibility and security. The majority of people are still concerned about cloud-basedservices'
security and availability
• The Value of a Reliable Internet Connection Finally, relying on the cloud means
becomingincreasingly reliant on a stable Internet connection.
• Performance - Because SaaS apps are not hosted on a local workstation, they may runslower than
on-premise client or server apps
Cloud-based analytics provide better insight: In a world awash in structured and unstructured
data,54 percent of leading companies are using analytics to extract insights from big data,
allowingthem to better target consumers and product prospects.
The cloud facilitates collaboration: Work can be accessed from a variety of devices and from
anylocation, making it much easier for teams to work together on shared data
As company decision-makers shift their focus from cost efficiencies in their back-office systemsto
advancements in their engagement systems, the cloud is widely regarded as the most effectiveway
of strengthening customer relationships.
4. Community Cloud
1. PUBLIC CLOUD
Individuals and organizations can rent services on the Cloud Computing platform, and they
share the same resources.A third-party service is provided (seller). They are managed by the
cloud provider and exist outside the company's firewall. It is designed for public use, with
users registering with the provider and paying a fee based on the provider's pricing policy.
The public cloud is the most widely used cloud computing deployment model
4. Community Cloud
A community cloud is a cloud infrastructure that allows multiple organizations to share resources
and services basedon common operational and regulatory needs. A community cloud is similar to a
community garden, in whichmultiple people grow produce on a single piece of shared land. In
comparison to other cloud models such as public,private, and hybrid clouds, community clouds are
a relatively new phenomenon
PaaS offers the essential framework for creating, testing, deploying, managing, and updating
software products. Building on the same core infrastructure as Infrastructure as a Service (IaaS),
PaaS incorporates operating systems, middleware, development tools, and database management
Pros of PaaS
- Cost-Effective: Eliminates the need to buy hardware or incur costs during downtime.
- Flexibility: Enables employees to log in and work on applications from any location.
- Dynamic Scaling: Quickly add capacity during peak times and scale down as necessary.
- Enhanced Security: PaaS providers make significant investments in security technology and expertise.
- Collaboration: Facilitates teamwork by allowing developers from various locations to work together on
the same project.
Cons of PaaS
- Risk of Lock-In: Customers might become locked into a specific language, interface, or program that may
no longer be necessary.
- Compatibility Issues: Challenges can occur when using PaaS with existing development platforms.
- Security Risks: Although PaaS providers secure the infrastructure and platform, businesses are responsible
for securing the applications they develop.
Example of PaaS
While developing and testing applications in a hosted environment is perhaps the most common use of PaaS,
it is far from the only one. PaaS tools also enable businesses to analyze data, access business process
management (BPM) platforms, integrate communication features into applications, and manage databases
(CompTIA). Similar to other cloud computing services, PaaS allows developers to focus on creating
applications without worrying about administration, maintenance, and security issues.
- **Microsoft Azure App Services**: Developed by Microsoft, this platform is designed for building,
testing, deploying, and managing applications and services through Microsoft-managed data centers.
- **Google App Engine**: Provides web app developers and enterprises access to Google’s scalable hosting
and top-tier internet service. It requires applications to be written in Java or Python, data to be stored in
Google BigTable, and queries to be made using Google Query Language.
Infrastructure as a Service (IaaS) is the most versatile and comprehensive cloud service model. It offers a
fully virtualized computing infrastructure that is provisioned and managed over the Internet. The IaaS
provider takes care of the physical aspects of the infrastructure, such as servers and data storage, in a data
center, while allowing customers to fully customize these virtualized resources according to their specific
requirements. With IaaS, customers can purchase, install, configure, and manage any software they need,
Advantages of IaaS
-Pay-as-You-Use Model: Customers only pay for the resources they use.
-Improved Resource Utilization: IaaS ensures more efficient use of resources, providing a high return on
investment for providers.
-Lower Total Cost of Ownership (TCO): Reduces the overall costs associated with owning and maintaining
infrastructure.
Disadvantages of IaaS
- Security Issues: Hypervisors are vulnerable to attacks. If compromised, it can lead to easy attacks on any
virtual machines (VMs).
Example of IaaS
Examples of IaaS include Rackspace, Amazon Web Services (AWS) Elastic Compute Cloud (EC2),
Microsoft Azure, Google Compute Engine (GCE), and Joyent.
SaaS is a licensing model where software access is provided on a subscription basis, with the software
hosted on external servers rather than in-house.Users typically access SaaS through a web browser, logging
into the system with a username and password. This model eliminates the need for each user to install the
software on their own computer, allowing access to the program via the internet.
Advantages of SaaS
Wide Range of Applications: Applicable for various functions including email services, auditing, and
customer relationship management (CRM).
Disadvantages of Saas
Data stored on external servers requires companies to safeguard it against unauthorized access. Additionally,
slow Internet connections can degrade performance, particularly if the servers are located far from the user.
Example
Zoom is a prominent example of a Software as a Service (SaaS) platform. It provides cloud-based video and
audio conferencing, chat, and webinar services, known for its ease of use, reliability, and affordability. The
platform gained significant popularity in 2020 due to the surge in remote work and virtual communication.
Zoom is widely utilized by freelancers, teams, and businesses of all sizes for both personal and professional
interactions. In addition to video and audio conferencing, it offers features like screen-sharing, live chat,
distance education, and webinars. Zoom, developed by Zoom Video Communications, Inc. and based in
San Jose, California, has become a key player in the SaaS space, focusing on video telephony and online
communication.
6. 5 Characteristic of Cloud
On-Demand Self-Service:Cloud computing allows you to provision computing services, such as server
time and network storage, automatically without needing to interact with the service provider. Customers
can manage their cloud accounts through a web-based self-service portal to monitor usage, and provision or
deprovision services independently.
Broad Network Access: Cloud services can be accessed over a network from a variety of devices, including
mobile phones, tablets, laptops, and desktops. Public clouds are accessed via the internet, while private
clouds use a local area network. Both latency and bandwidth are crucial as they impact the quality of service
in cloud computing.
Rapid Elasticity: Cloud services can be quickly scaled up or down to meet demand, often automatically.
The available resources for provisioning seem limitless, allowing customers to access these capabilities
anytime and in any quantity. This elasticity means customers do not need to purchase additional hardware,
as they can use the cloud provider's resources instead, adjusting their usage and cost without extra contracts
or fees.
Measured Service: Cloud systems feature a metering capability to optimize resource usage based on the
type of service. Resources such as storage, processing power, and bandwidth are measured, and customers
are charged based on their actual consumption. This pay-for-what-you-use model ensures transparency for
both consumers and providers, as resource usage is monitored, controlled, and reported.
Virtualization
Virtualization enhances the efficiency of physical computer hardware utilization and is fundamental to cloud
computing. By optimizing resource use through sharing, it creates a multi-object model for cloud
environments. This approach is popular among SMEs due to its cost-effectiveness and ability to prolong the
lifespan of technology. With virtualization, service providers' physical infrastructure is shared among
multiple users, increasing resource utilization.
There are different types of virtualization, including memory, processor, I/O, network, OS, data, and
application virtualization. Virtualization goes beyond just hardware, enhancing scalability and resource
efficiency of the underlying infrastructure and simplifying administrative tasks for IT staff.
● Full Virtualization
● Para-Virtualization
● Hardware-Assisted Virtualization
Easy Recovery: Virtualization simplifies the recovery process in case of failures or disasters. Virtual
machines can be backed up and restored quickly, ensuring minimal downtime and data loss.
Simplified Cloud Migration: Migrating to the cloud is more straightforward with virtualization. It allows
for seamless transfer of workloads from physical servers to virtual environments, enhancing flexibility and
efficiency.
Quick and Easy Setup: Setting up virtual environments is fast and easy compared to traditional physical
setups. Virtual machines can be created, configured, and deployed rapidly, streamlining the process for IT
teams.
Disadvantages of Virtualization
Data Security Risks: Virtualization can introduce security vulnerabilities. Data stored on virtual
machines may be at risk if proper security measures are not in place, as multiple users share the same
physical infrastructure.
Potential Performance Issues: Virtualization can lead to lower performance compared to dedicated
physical servers. The overhead of running multiple virtual machines on a single host can impact the
overall performance and efficiency of the system.
Specialized Skill Set Required: Managing and maintaining a virtualized environment requires
specialized skills and knowledge. IT staff need to be trained in virtualization technologies, which can add
to the complexity and cost of managing the infrastructure.
Multi-core technology involves CPUs that have two or more processing cores, functioning as individual
processors within a single chip. By utilizing multiple cores, manufacturers can enhance CPU performance
without increasing the clock speed. As clock speed improvements have plateaued in recent years, multi-
core processors have become a standard way to boost computing performance.
This technology enables systems to handle more tasks simultaneously with greater efficiency and reduced
power consumption. Multi-core processors are commonly used in desktops, servers, and workstations,
providing improved performance for a wide range of applications.
ATN is a Vietnamese company selling toys to teenagers across many provinces in Vietnam, generating
over $700,000 annually. Each store has its own database to track transactions, which are sent to the board
of directors monthly. This process is time-consuming, and the board lacks real-time updates on stock
information.
Based on the scenario, ATN should adopt cloud computing for several reasons:
1. Enhanced Convenience and Accessibility: Cloud computing allows managers to access all branch
store data from any location with an internet connection. The flexibility and mobility provided by cloud
services mean that employees are not restricted to a single location. They can access and share critical
documents using any internet-enabled device, such as laptops, smartphones, or tablets. This level of
accessibility is crucial for strategic business decision-making and growth in a competitive market.
2. Cost-Effectiveness: Using cloud computing can be more cost-effective compared to scaling up on-
premises infrastructure. Expanding physical infrastructure requires significant investment in hardware,
network equipment, software licenses, and in-house technical support. Additionally, maintenance and
installation costs, as well as potential physical damages from disasters, can be substantial. By moving to
the cloud, ATN can reduce these expenses. Although there are initial setup and training costs, economies
of scale can be achieved more quickly than with traditional infrastructure. This cost-effectiveness is a key
reason why many businesses prefer cloud solutions.
4. Real-Time Data Management: With cloud computing, ATN can centralize its data management,
allowing for real-time updates and monitoring of stock information. This centralization ensures that the
board of directors has immediate access to up-to-date data, eliminating the delays associated with the
current monthly reporting system. Real-time data visibility enhances inventory management, sales
tracking, and overall business intelligence.
By adopting cloud computing, ATN can streamline its operations, reduce costs, and improve both
flexibility and efficiency, positioning itself for continued growth and success
Given ATN's requirements, we recommend adopting the public cloud deployment model. Here are
several reasons why the public cloud is the best choice for ATN:
1. Cost-Effectiveness: The public cloud is an affordable option, often with flexible pricing structures.
Public clouds are typically more cost-effective than private clouds due to shared infrastructure among
multiple customers. This shared model allows service providers to distribute the costs of infrastructure and
maintenance across a larger customer base, resulting in lower costs for individual users. Public clouds
often operate on a pay-as-you-go basis, meaning ATN will only pay for the resources they actually use,
avoiding high upfront costs associated with setting up and maintaining on-premises infrastructure.
2. Ease of Maintenance: Maintaining a public cloud is generally much simpler than managing on-
premises infrastructure. Public cloud providers handle all aspects of hardware and software management,
freeing ATN to focus on its core business activities and applications. This reduces the time, resources, and
costs involved in maintaining infrastructure, while also minimizing the risk associated with managing and
updating hardware and software.
3. Enhanced Security: Public clouds are now often more secure than on-premises solutions due to the
significant resources and expertise that cloud providers can dedicate to security measures. Public cloud
providers implement robust security protocols, regular updates, and compliance with industry standards,
offering a level of security that many organizations might find challenging to achieve on their own. This
In summary, the public cloud provides ATN with a cost-effective, low-maintenance, and secure solution
that aligns with the company's needs and growth objectives. This model allows ATN to leverage advanced
cloud technologies without the significant investment and complexity of managing an on-premises
infrastructure.
Platform as a Service (PaaS) is likely the most suitable service model for ATN. Here’s why:
PaaS enables developers to design and manage applications on a provided platform without worrying
about the underlying infrastructure. By using PaaS, ATN can develop and deploy apps on a cloud-based
platform without the need to handle infrastructure administration. This leads to significant cost savings on
hardware and software management.
Moreover, PaaS offers a variety of services, including databases, application servers, and development
tools, which can be utilized to create and deploy applications. The robust security measures implemented
by PaaS providers also enhance the security and scalability of applications designed using this model.
Thus, PaaS can help ATN develop secure and scalable applications efficiently while reducing overall
costs.
Node.js is a highly suitable choice for ATN's needs for several reasons:
Firstly, Node.js is built on Chrome's JavaScript engine and supports non-blocking I/O operations, making
it ideal for real-time, event-driven applications. Secondly, Node.js boasts a large ecosystem of tools and
frameworks that can accelerate development and enhance productivity. Finally, Node.js facilitates easy
interaction with cloud servers and simplifies cloud deployment, which is essential for ATN's cloud-based
inventory and sales management system requirements.
● MongoDB allows for rapid application development and can handle various data types effectively.
As a popular NoSQL database, it is well-suited for managing large volumes of unstructured data,
making it ideal for ATN, which needs to process extensive transactional data across multiple
stores. Its flexible data model integrates seamlessly with Node.js, the chosen programming
language for this scenario.
● MongoDB stores unstructured data in JSON format, which provides a flexible approach to data
management compared to traditional row-and-column databases. This flexibility helps developers
work more efficiently, saving time in data storage and querying processes.
Render is a recommended cloud platform for ATN. Render offers a range of services, including hosting,
databases, and storage, making it an excellent choice for consolidating data and building a unified
database for all stores. This platform will enable the board of directors to access real-time sales and stock
data from all locations, eliminating the need for separate databases for each store. Render’s modern PaaS
solutions support faster software deployment and provide infrastructure flexibility without added
complexity, enhancing the developer experience and operational efficiency