Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

ASSIGNMENT 1

Qualification BTEC Level 5 HND Diploma in Computing

Unit number and title Unit 16: Cloud computing

Submission date 16/04/2022 Date Received 1st submission

Re-submission Date Date Received 2nd submission

Student Name Quach Cong Tuan Student ID BHAF200014

Class PBIT17101 Assessor name Le Van Thuan

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 Quach Cong Tuan

Grading grid

P1 P2 P3 P4 M1 M2 D1
❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date:

Signature & Date:


Table of Contents
I. Introduction ...................................................................................................................................................... 5
II. The Evolution of Cloud Computing .................................................................................................................... 6
1. Cloud Computing ........................................................................................................................................... 6
2. Cloud Solution ............................................................................................................................................... 6
3. History of Cloud Computing ........................................................................................................................... 6
4. The evolution of cloud computing can be bifurcated into three basic phases: ............................................... 7
5. Client – Server ............................................................................................................................................... 7
5.1. Client ..................................................................................................................................................... 8
5.2. Server .................................................................................................................................................... 8
5.3. Relation between Client and Server ....................................................................................................... 8
6. Peer-to-Peer (P2P) ......................................................................................................................................... 9
6.1. Advantages and Disadvantages .............................................................................................................. 9
6.2. Example: Bitcoin – Skype – Torrent ...................................................................................................... 10
7. Varieties of Cloud Computing ...................................................................................................................... 12
7.1. Public Cloud ......................................................................................................................................... 12
7.2. Private Cloud........................................................................................................................................ 12
7.3. Hybrid Cloud ........................................................................................................................................ 12
III. The Fundamental of Cloud Computing ........................................................................................................ 14
1. Services offered by a cloud provider ............................................................................................................ 15
1.1. Infrastructure as a service (IaaS) .......................................................................................................... 16
1.2. Platform as a service (PaaS) ................................................................................................................. 17
1.3. Software as a service (SaaS) ................................................................................................................. 17
2. Characteristics of cloud computing .............................................................................................................. 18
2.1. On-demand self-service ....................................................................................................................... 18
2.2. Broad network access .......................................................................................................................... 18
2.3. Resource pooling ................................................................................................................................. 18
2.4. Rapid elasticity ..................................................................................................................................... 18
2.5. Measured service ................................................................................................................................. 18
3. Benefits of Cloud Hosting ............................................................................................................................ 19
3.1. Scalability ............................................................................................................................................. 19
3.2. Instant.................................................................................................................................................. 19
3.3. Save Money ......................................................................................................................................... 19
3.4. Reliability ............................................................................................................................................. 19
3.5. Physical Security .................................................................................................................................. 19
4. Virtualization in Cloud Computing ............................................................................................................... 20
5. High Performance Computing ...................................................................................................................... 22
5.1. How does HPC work? ........................................................................................................................... 22
5.2. Accelerate innovation .......................................................................................................................... 22
5.3. Maximize operational efficiency .......................................................................................................... 22
5.4. High performance computing services ................................................................................................. 22
IV. Design an appropriate architectural Cloud Computing framework for a given scenario. ............................. 24
1. Overview Scenario ....................................................................................................................................... 24
2. Overview Solution ....................................................................................................................................... 25
2.1. Cost...................................................................................................................................................... 25
2.2. Service Provider Reliability ................................................................................................................... 25
2.3. Data Privacy ......................................................................................................................................... 25
2.4. Security ................................................................................................................................................ 25
2.5. Disaster Recovery Plan ......................................................................................................................... 25
3. Deployment Model ...................................................................................................................................... 26
4. The service models for an adequate model ................................................................................................. 27
5. Technical Specs ............................................................................................................................................ 27
5.1. Hypertext Preprocessor (PHP – Framework: Laravel) ........................................................................... 27
5.2. Database MySQL .................................................................................................................................. 30
5.3. Heroku ................................................................................................................................................. 31
5.4. AWS ..................................................................................................................................................... 32
5.5 GitHub ....................................................................................................................................................... 33
6. Technical Solution for ATN ........................................................................................................................... 35
6.1. The deciding factor to choose a cloud platform ................................................................................... 36
6.2. Deciding factors to choose a programming language and database system......................................... 36
V. Conclusion ....................................................................................................................................................... 37
VI. References ................................................................................................................................................... 38
I. Introduction
In today's world, all countries are fast developing as a result of technological advancements, thus I have a solution
to assist existing enterprises with data storage and server decisions. Each person or organization who uses it has
their own preferences. Cloud computing will be discussed in this essay so that businesses and consumers can gain
a better understanding of it. In this project, I will serve as an employee of ATN, designing and implementing cloud
computing solutions for the organization.
II. The Evolution of Cloud Computing

1. Cloud Computing
Cloud computing is a technology that puts your entire computing infrastructure in both hardware and software
applications online. It uses the internet, remote central servers to maintain data & applications. Gmail, Yahoo mail,
Facebook, Hotmail, Orkut, etc are all the most basic and widely used examples of cloud computing. One does not
need his own PC or laptop to check some stored mail/data/photos in the mailbox but any computer with an internet
connection since the data is stored with the mail service provider on a remote cloud. The technology, in essence, is
a geographical shift in the location of our data from personal computers to a centralized server or ‘cloud’. Typically,
cloud services charge its customers on a usage basis. Hence it is also called Software as a Service (SaaS). It aims to
provide infrastructure and resources online in order to serve its clients; Dynamism, Abstraction and Resource
Sharing.

The term “cloud” was actually derived from telephony. The telecommunication companies offered Virtual Private
Network with good quality at affordable prices. The symbol of the cloud represented the demarcation point which
was the sole responsibility of the provider. Cloud computing manages servers and network infrastructure
management.

2. Cloud Solution
It has essentially evolved from various computing technologies like grid computing, utility computing, parallel
computing, and virtualization. The most recent development of cloud computing has evolved from the Web2.0
technology which caters to web applications that facilitate participatory information sharing, interoperability &
user-centered design, etc. Examples of Web 2.0 include wikis, blogs, social networking & video sharing.

3. History of Cloud Computing


Let’s have a quick walkthrough of cloud computing history and evolution all these years:

• 1960’s: One of the renowned names in Computer Science, John McCarthy, enabled enterprises to use
expensive mainframe and introduced the whole concept of time-sharing. This turned out to be a huge
contribution to the pioneering of Cloud computing concept and establishment of Internet.
• 1969: With the vision to interconnect the global space, J.C.R. Licklider introduced the concepts of “Galactic
Network” and “Intergalactic Computer Network” and also developed Advanced Research Projects Agency
Network- ARPANET.
• 1970: By this era, it was possible to run multiple Operating Systems in isolated environment.
• 1997: Prof. Ramnath Chellappa introduced the concept of “Cloud Computing” in Dallas.
• 1999: Salesforce.com started the whole concept of enterprise applications through the medium of simple
websites. Along with that, the services firm also covered the way to help experts deliver applications via the
Internet.
• 2003: The Virtual Machine Monitor (VMM), that allows running of multiple virtual guest operating systems
on single device, paved way ahead for other huge inventions.
• 2006: Amazon also started expanding in cloud services. From EC2 to Simple Storage Service S3, they
introduced pay-as-you-go model, which has become a standard practice even today.
• 2013: With IaaS, (Infrastructure-as-a-Service), the Worldwide Public Cloud Services Market was totaled at
£78bn, which turned out to be the fastest growing market services of that year.

4. The evolution of cloud computing can be bifurcated into three basic phases:
• The Idea Phase: This phase incepted in the early 1960s with the emergence of utility and grid computing
and lasted till pre-internet bubble era. Joseph Carl Robnett Licklider was the founder of cloud computing.
• The Pre-cloud Phase: The pre-cloud phase originated in 1999 and extended to 2006. In this phase the
internet as the mechanism to provide Application as Service.
• The Cloud Phase: The much talked about real cloud phase started in the year 2007 when the classification
of IaaS, PaaS, and SaaS development got formalized. The history of cloud computing has witnessed some
very interesting breakthroughs launched by some of the leading computer/web organizations of the world.

5. Client – Server
A client-server system is a software architecture that consists of both a client and a server, with the client sending
requests and the server responding to them. Because it entails the exchange of data from both the client and the
server, each of which performs different activities, client-server communication enables inter-process
communication.
5.1. Client
The client, often known as a workstation, is where requests are sent to the server. That is, at the workstation, the
Client will organize communication with the user, the Server, and the external environment. It also accepts the
user's request and creates the query string that will be sent to the server. The Client will organize and show the
results received from the Server.

5.2. Server
A server is a computer or system that, across a network, distributes resources, data, services, or programs to other
computers known as clients. In theory, machines that share resources with clients are referred to as servers. Web
servers, mail servers, and virtual servers are just a few examples of server types.

5.3. Relation between Client and Server


In its most basic form, a "Server" delivers a service that the "client" consumes or employs. Consider a fast-food
restaurant: you make an order, pay, and wait for your meal to be produced and delivered. A service that provides
weather data is an example of software. The Sever collects and retains weather data. The client would submit a
specific data query, and the server would respond in a format agreed upon by both sides, such as JSON or XML.
6. Peer-to-Peer (P2P)
The peer-to-peer paradigm differs in that all hosts are treated equally and can supply and consume resources like
network bandwidth and computer processing. Every computer in the system is referred to as a node, and the P2P
network is made up of these nodes. The early Internet was built as a peer-to-peer network, with equal privileges for
all computer systems and most interactions being bi-directional. The transition towards client-server was immediate
when the Internet became a content network with the introduction of the web browser, as content consumption
became the major use case.

6.1. Advantages and Disadvantages

Advantages Disadvantages

Because each computer might be being accessed by


No need for a network operating system
others it can slow down the performance for the user

Does not need an expensive server because


Files and folders cannot be centrally backed up
individual workstations are used to access the files

No need for specialist staff such as network Files and resources are not centrally organized into a
technicians because each user sets their own specific 'shared area'. They are stored on individual
permissions as to which files, they are willing to computers and might be difficult to locate if the
share. computer's owner doesn't have a logical filing system.
Advantages Disadvantages

Much easier to set up than a client-server network - Ensuring that viruses are not introduced to the network
does not need specialist knowledge is the responsibility of each individual user

If one computer fails it will not disrupt any other part


There is little or no security besides the permissions.
of the network. It just means that those files aren't
Users often don't need to log onto their workstations.
available to other users at that time.

6.2. Example: Bitcoin – Skype – Torrent


Skype: Skype is an P2P VoIP client that is designed by organization that created Kazaa. With the help of it, all users
can make voice call and sent text messages to another user but they must be persisted on the Skype client.

Bitcoin: Bitcoin also uses the peer-to-peer payment network, and in which cryptographic protocol is used for
operating that helps to users for sending and receiving bitcoins.
7. Varieties of Cloud Computing
Cloud Computing is classified under various heads. On the basis of the type, usage & location, it is classified under
the following head:

7.1. Public Cloud


A 'Public Cloud' is defined as a cloud that is open to the general public on a pay-per-use basis. The customer has
no knowledge of where the cloud computing infrastructure is located. It is built on the traditional cloud
computing concept. Amazon EC2, Windows Azure service platform, and IBM's Blue cloud are examples of public
clouds.

7.2. Private Cloud


A private cloud refers to a company's own data centers that are not accessible to the general public. The private
cloud, as the name implies, is dedicated to the customer. Compared to public clouds, these are more secure. It
employs virtualization technology. A company's own servers host a private cloud. Eucalyptus and VMware are
two examples of private cloud technologies.

7.3. Hybrid Cloud


A hybrid cloud is a mix of private and public cloud services. Companies employ their own infrastructure for
routine operations and use the cloud when there is a lot of network traffic or a lot of data.
III. The Fundamental of Cloud Computing
On the other hand, the cloud provider is ideally positioned to handle a variety of such circumstances, but must be
properly equipped to handle them with full knowledge and care. So, what exactly does the cloud service provider
have? You are welcome to inquire. The cloud provider, on the other hand, has strong servers in a secure remote
location that can house an interested party's IT resources. For your information, the favorable atmosphere has the
following desirable features:

• Server safety
• High-speed reliable internet connection
• Continuous availability of power
• Physical Security

The environment may be a rented data-center or privately owned by the provider. The data-center has everything
that ensures high availability of IT resources as listed above.
1. Services offered by a cloud provider
Once the infrastructure (hardware and network) is in place, the provider will most likely be stumped as to what to
do with them. This is where new items are created to fulfill the needs of customers who are willing to subscribe.

There are services such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS),
and others, as you may have heard.
1.1. Infrastructure as a service (IaaS)
Subscribing to the use of physical or virtual computers as a service entails paying according to the pricing plans
chosen by the provider. It can be done monthly, annually, or in any other way.

Many firms, for example, employ IaaS to cope with workload spikes during peak seasons (like holidays).

Popular IaaS providers include:

• Amazon Web Services (AWS)


• Microsoft Azure
• Google Compute Engine (GCE), the IaaS component of Google Cloud Platform (GCP)

1.1.1. Example: Amazon Web Services (AWS)


1.2. Platform as a service (PaaS)
This service is more developer-oriented. This is because it provides an environment where customized applications
can be developed in a hosted environment.

1.2.1. Example: Heroku

1.3. Software as a service (SaaS)


This product provides a platform where software applications can be used remotely via a web interface. The
applications and data used by the application are hosted in the cloud and can thus be accessed from anywhere
around the globe as long as there is internet connectivity by the client trying to access such services.

1.3.1. Example: Google Workspace


2. Characteristics of cloud computing

2.1. On-demand self-service


Users can access computing services via the cloud when they need to without interaction from the service provider.
The computing services should be fully on-demand so that users have control and agility to meet their evolving
needs.

2.2. Broad network access


Cloud computing services are widely available via the network through users’ preferred tools (e.g., laptops,
desktops, smartphones, etc.).

2.3. Resource pooling


One of the most attractive elements of cloud computing is the pooling of resources to deliver computing services at
scale. Resources, such as storage, memory, processing, and network bandwidth, are pooled and assigned to multiple
consumers based on demand.

2.4. Rapid elasticity


Successful resource allocation requires elasticity. Resources must be assigned accurately and quickly with the ability
to absorb significant increases and decreases in demand without service interruption or quality degradation.

2.5. Measured service


Following the utility model, cloud computing services are measured and metered. This measurement allows the
service provider (and consumer) to track usage and gauge costs according to their demand on resources.
3. Benefits of Cloud Hosting

3.1. Scalability
With Cloud hosting, it is easy to grow and shrink the number and size of servers based on the need. This is done by
either increasing or decreasing the resources in the cloud. This ability to alter plans due to fluctuation in business
size and needs is a superb benefit of cloud computing especially when experiencing a sudden growth in demand.

3.2. Instant
Whatever you want is instantly available in the cloud.

3.3. Save Money


Cloud computing has the benefit of lowering hardware costs. Hardware requirements are left to the vendor rather
than being purchased in-house. New hardware can be a significant, expensive, and inconvenient investment for
companies that are fast expanding. Because resources can be acquired fast and readily, cloud computing solves
these problems. Even better, the expense of equipment repair or replacement is passed on to the vendors.

Off-site hardware reduces internal power expenses and saves space in addition to the purchase price. Large data
centers can consume a lot of office space and generate a lot of heat. Moving to cloud applications or storage can
help you save space while also lowering your energy costs.

3.4. Reliability
Instead of being given on a single instance of a physical server, hosting is delivered on a virtual partition that takes
its resources, such as disk space, from a large network of underlying physical servers. If one server goes down, the
virtual servers will continue to draw resources from the remaining network of servers, so there will be no impact on
availability.

3.5. Physical Security


The underlying physical servers are still housed within data centers and so benefit from the security measures that
those facilities implement to prevent people accessing or disrupting them on-site
4. Virtualization in Cloud Computing
In cloud computing, virtualization allows a provider to virtualize servers, storage, and other physical hardware or
data center resources, allowing them to provide a variety of services including infrastructure, software, and
platforms.

Users can utilize infrastructure as a service (IaaS) to access cloud-based servers, storage, and network resources: a
whole infrastructure available via cloud virtualization technologies. It means that consumers don't have to build or
buy their own infrastructure; instead, they can use the virtualized version. Most people have heard of Software as
a Service (SaaS), which is software that is abstracted from hardware and accessed via the cloud.

Example: SolarWinds MSP Software

With all of these distinct sorts of virtualizations, you'll need software or a program that can manage and monitor
your virtual machines. I recommend SolarWinds Virtualization Manager, which integrates with your hypervisors and
virtual machines to provide better visibility across your whole virtual domain. SolarWinds Virtualization Manager is
designed to give all of these capabilities and more.

Example: PRTG Network Monitor


If you employ virtual SANs (virtual storage), for example, you'll need a program to monitor VM performance,
capacity, and other potential problems. Having solid performance measurements at all times helps you to look back
at historical data to understand where difficulties started, receive alerts when problems arise, and engage in VM
capacity planning, which allows you to provision new virtual machines and reconfigure networks as needed.
5. High Performance Computing
The ability to analyze data and conduct complex calculations at rapid speeds is referred to as high performance
computing (HPC). A laptop or desktop computer with a 3 GHz CPU can execute roughly 3 billion computations per
second.

The size and volume of data that enterprises must work with is expanding dramatically as technologies such as the
Internet of Things (IoT), artificial intelligence (AI), and 3-D imaging advance. The capacity to analyse data in real time
is critical for a variety of tasks, including live streaming a sporting event, following a growing storm, testing new
goods, and evaluating stock movements.

5.1. How does HPC work?


HPC solutions have three main components:

• Compute
• Network
• Storage

To build a high-performance computing architecture, compute servers are networked together into a cluster.
Software programs and algorithms are run simultaneously on the servers in the cluster. The cluster is networked to
the data storage to capture the output. Together, these components operate seamlessly to complete a diverse set
of tasks.

5.2. Accelerate innovation


Access a broad range of cloud-based services, like machine learning (ML) and analytics, plus HPC tools and
infrastructure to quickly design and test new products.

5.3. Maximize operational efficiency


Gain on-demand access to compute capacity. Skip the wait and save more time to focus on solving complex
problems without worrying about cost and infrastructure constraints.

5.4. High performance computing services

5.4.1. AWS Parallel Cluster


Quickly build HPC compute environments with AWS ParallelCluster, an open-source tool that simplifies deployment
and management of HPC clusters.

5.4.2. Amazon FSx for Lustre


Quickly process massive datasets on-demand and at scale with Amazon FSx for Lustre, a high-performance file
system with sub-millisecond latencies.
5.4.3. Elastic Fabric Adapter
Run HPC applications at scale with Elastic Fabric Adapter (EFA), a network for Amazon EC2 instances with high-level
inter-node communications capabilities.

5.4.4. Amazon EC2


Support virtually any workload with the secure, resizable compute capacity of Amazon Elastic Cloud Compute (EC2)
and the latest-generation processors.
IV. Design an appropriate architectural Cloud Computing framework for a given
scenario.

1. Overview Scenario
ATN is a Vietnamese company which is selling toys to teenagers in many provinces all over Vietnam. The company
has the revenue over 500.000 dollars/year. Currently each shop has its own database to store transactions for that
shop only. Each shop has to send the sale data to the board director monthly and the board director need lots of
time to summarize the data collected from all the shops. Besides the board can’t see the stock information update
in real time.
2. Overview Solution
The data from all branches is very non-recoverable, according to the scenario and my investigation for the major
revenue corporation ATN. Currently, each store has its own database that holds part of its own data, and the store
must send someone to the board to provide data to the board on a regular basis. The board must then spend a
significant amount of time screening and consolidating data for each branch. It takes a long time, and the feature
flexibility is limited. As a result of this issue, ATN should use cloud computing services for the following reasons:

2.1. Cost
Cloud computing itself is affordable, but tuning the platform according to the company’s needs can be expensive.
Furthermore, the expense of transferring the data to public clouds can prove to be a problem for short-lived and
small-scale projects.

ATN can save some money on system maintenance, management, and acquisitions. But they also have to invest in
additional bandwidth, and the absence of routine control in an infinitely scalable computing platform can increase
costs.

2.2. Service Provider Reliability


A technical service provider's capacity and capability are just as crucial as their price. When ATN needs them, the
service provider must be available. The service provider's long-term viability and reputation should be the primary
priority. Ascertain that ATN is aware of the methods by which a provider monitors its services and defends
dependability claims.

2.3. Data Privacy


Information that is sensitive or personal that is stored in the cloud should be designated as internal use only, not to
be shared with third parties. ATN must establish a strategy for managing the data they collect in a secure and
efficient manner.

2.4. Security
In cloud security, diligent password supervision is critical. The more people who have access to your cloud account
through ATN, the less secure it is. Anyone who knows your passwords will have access to the information you save
there.

Multi-factor authentication should be used by ATN, and passwords should be protected and changed on a regular
basis, especially when employees leave. Only individuals with a need for passwords and usernames should have
access to them.

2.5. Disaster Recovery Plan


Traditional on-premises plans contain many problems that cloud systems can easily solve. In a traditional system,
all the servers, computer networks, cables, software, and data may need to be repaired or replaced. Repairing old
systems or installing new ones requires a significant amount of time – hours, days, or even weeks – as well as money.
For ATN, the use of Cloud Computing will reduce hardware-related costs and also make data recovery quick and
easy, reducing financial and data losses.

Here are some benefits from the cloud when disaster strikes that ATN has considered:

• Faster turnaround time. A good cloud computing system regularly backs up company computer programs
and data. When disaster strikes, it can take just a few minutes to clone or move a backed-up system so your
company can get back up and running immediately.
• Minimal downtime costs. Because cloud computing works quickly, the company saves on system repair
costs, as well as financial losses incurred due to significant downtime.
• Less complicated. With traditional systems, replacement software and programs must be combined with
leveraged programs. In addition, if irreversible, new hardware and software should be tested and reviewed
to ensure all components are functioning properly.

3. Deployment Model
There are many types of Cloud Computing being published by service providers, they differ in their forms, and the
effects they bring. Besides, for the needs of ATN I have given some requirements and suggestions about using cloud
computing:

First, ATN is a mid-sized company with over $500,000 USD/year in revenue. To optimize profits, the company should
deploy a small and medium-sized model that is suitable for consumption needs as well as at low cost. ATN can also
run its web applications without incurring any fixed costs for servers, software, hardware, setup or maintenance.
Besides, cloud computing will maintain 24/7 availability and storage scalability without having to worry about any
other infrastructure costs.

Second, due to the convenience of cloud computing, connecting and setting up the system will only take a few
hours. ATN's IT professionals will easily configure and manage the system setup remotely and easily manage the
databases in their branches and stores with just the internet.

Finally, the Cloud Computing service provider will be in charge of providing the hardware, software and network of
the cloud, ATN will not have to worry about infrastructure and frequent system maintenance issues, nor such as
reducing a lot of risks and costs for the company.

In this project with ATN, I will use a cloud computing system with Public Cloud. This system will allow me to easily
set up and control at any time, any place, and other cloud computing professionals can also easily access and handle
them. In this article, I will use the Amazon Web Service - EC2 system to perform the data storage process.
4. The service models for an adequate model
In order for the product to be optimally user-friendly and cost-effective for my ATN business. I will choose to
combine 2 PaaS and IaaS platforms to implement this website publishing process.

Parameters Heroku AWS


Type of Service PaaS IaaS, PaaS, SaaS
Pricing Heroku costs $0.05 per hour. Starting plan cost you $0.013 per hour.
Features • Fully flexible runtime • Multiple deployment options and
environment with smart the ability to roll back to the
containers (dynos) system. previous version
• Allows manual horizontal and • Quick restart of all app servers by
vertical scaling using a single command
• Allows you to roll back your • Automatic scaling of web apps
database or code in no time. based on their specific needs and
• App monitoring system to keep defined conditions.
track of metrics, like response
time, throughput, memory, etc.
Complexity It’s software some time too simple, even Suitable for sophisticated products build
for professional developers. by professionals. Not easy for beginners
Heroku Service Level Available for Enterprise projects Available for Elastic Compute Cloud
Agreements
Rapid deployment Heroku offers you a ready-to-use The deployment process of AWS service is
environment which allows you to push quite hard.
your code and make a few configuration
changes to get your application running.

Need DevOps Engineer Not at all Must


Development of server The creation of a server is a simple The creation of a server is a relatively
process. complicated process.
Computational Low High
demands

5. Technical Specs

5.1. Hypertext Preprocessor (PHP – Framework: Laravel)


In fact, you could use CodeIgniter, CakePHP, Zend Framework and so on. However, Laravel is definitely one of the
most popular PHP frameworks to use – take a look at its interest overtime. Laravel is one of the only PHP frameworks
whose interest has gone up in the past 5 years, making it a popular choice for many website developers and
businesses around the world.

Here are 8 reasons why we suggest you should consider Laravel for your next project:
5.1.1. It’s quick and simple
Being the number one PHP framework, means that Laravel is already a framework with which most web developers
are familiar with; not to mention the range of built-in templates which makes development simpler and easier for
developers. This means an expert Laravel developer could even build a 5- or 6-page website in a day or two. A fast
development time means lower costs and quicker results for the business.

5.1.2. Security is key


Security is the number one concern for most businesses. With Laravel, advanced security features are easy to
configure on most websites to enhance security and protect sites from hackers and cyber criminals. To get a little
technical, Laravel uses a Crypt hashing algorithm which means it never saves any passwords in the database.
Comparing it to other PHP frameworks, Laravel also has great user authentication and restricted access features are
easy to create. This keeps you and your customer’s data safe and secure.

5.1.3. Better website performance


Unlike many other frameworks out there, Laravel supports caching for your website out-of-the-box which is great
for boosting your site speed. To further enhance your website’s performance, Laravel makes other speed
optimization techniques, such as memory use reduction and database indexing really easy to implement. This makes
Laravel an excellent choice for your business if site speed and SEO friendliness are some of your requirements.

5.1.4. Great for Traffic-Handling


As your business grows, so will the volume of traffic to your site. A website built in Laravel can handle website
requests much quicker than most other frameworks. Laravel uses a unique message queue system, which means
you can put-off certain website tasks such as sending emails until a later time. Being able to control time-consuming
tasks means your website can process tasks quicker. And this not only keeps your website’s server healthy, but can
also lower your hosting costs in the long-term.

5.1.5. Really Flexible


Laravel has the power to build a fully-fledged eCommerce site or a simple and professional B2B site. Due to its
extensive pre-installed authorization libraries, it has the ability to create and support a variety of advanced features
for your site, such as password reset and encryption. There are also a ton of third-party packages available to give
your website a range of features and functionalities, such as Socialite which enables users to sign into your site using
their social media profiles should you wish to integrate that option.

5.1.6. Easy third-party integrations


Almost every site needs to be integrated with a third-party application of some sort. This may include a payment
system like Stripe or PayPal, or a marketing tool that your company uses. Whatever the integration, Laravel makes
integrating third-party apps easy with its clean APIs for integration. So whether your website needs a payment
system in place or an automated tool to manage your marketing, Laravel is a strong contender.
5.1.7. Simple Website Maintenance
Generally speaking, websites built in Laravel are easy to maintain overtime. So let’s imagine, a few years down the
line you want some new features added to your site (already built in Laravel), a new developer can easily pick up
from where your previous developers have left the site. Due to Laravel’s standout features, like clean code, MVC
architecture (which separates logic and presentation), and OOP principles, maintaining a Laravel site over time is
very straight forward.

5.1.8. The cost of a Laravel Site


Compared to some frameworks out there, Laravel is a open-source framework. This means it is free to use in any
project you like at no cost at all. Of course there is always the cost of hiring a good Laravel developer to build your
site (especially if you know very little about coding). Development costs are further reduced as the time to build and
maintain is less than some competing frameworks, allowing a Laravel project to be more cost effective in the long
run.
5.2. Database MySQL
MySQL server is a open-source relational database management system which is a major support for web based
applications. Databases and related tables are the main component of many websites and applications as the data
is stored and exchanged over the web. MySQL server is used for data operations like querying, sorting, filtering,
grouping, modifying and joining the tables. Before learning the commonly used queries, let us look into some of the
advantages of MySQL.

Advantages of MySQL:

• Fast and high-Performance database.


• Easy to use, maintain and administer.
• Easily available and maintain integrity of database.
• Provides scalability, usability and reliability.
• Low-cost hardware.
• MySQL can read simple and complex queries and write operations.
• Inorb is default and widely used storage engine.
• Provides strong indexing support.
• Provides SSL support for secured connections.
• Provides powerful data encryption and accuracy.
• Provides Cross-platform compatibility.
• Provides minimized code repetition.
5.3. Heroku
#: http://cloudcomputing-atn.herokuapp.com/index

Heroku is a cloud service provider and software development platform which facilitates fast and effective building,
deploying and scaling of web applications. It has 140 inbuilt add-ons, ranging from alerts, analytic tools security
services which are used for purpose like monitoring, caching and mailing or networking add-ons.

Here are pros/benefits of using Heroku:

 Allows the developer to focus on code instead of infrastructure


 Enhance the productivity of cloud app development team
 Offers single billing for all projects broken down by team
 Monitor and enhance performance though rich application monitoring
 Helps your development, QA, and business stakeholders create a unified dashboard.
 Support form Modern Open-Source Languages
 High-performance Salesforce integration
 Simple Horizontal & Vertical Scalability
 Heroku operation and security team is instantly ready to help you 24/7
 Leading Platform tools and Services Ecosystem
 Helps you to focus on innovation, not operations
 The Heroku Enterprise architecture offers minimal or no downtime during the system updates.
5.4. AWS
AWS has a massive collection of cloud services that build up a fully-fledged platform. It is known as a powerhouse
of storage, databases, analytics, networking and deployment/delivery options offered to developers. AWS Cloud is
available in 16 different geographic regions, and the number is increasing.

Here are the pros/benefits of selecting AWS web services:

 You should opt for AWS when you have DevOps teams who can configure and manage the infrastructure
 You have very little time to spend on the deployment of a new version of your web or mobile app.
 AWS offers easy deployment process for an app
 AWS web service is an ideal option when your project needs high computing power
 Helps you to improve the productivity of the application development team
 A range of automated functionalities including the configuration, scaling, setup, and others
 Use AWS you have full control over the resources.
 AWS allows organizations to use the already familiar programming models, operating systems, databases,
and architectures.
 It is a cost-effective service that allows you to pay only for what you use, without any up-front or long-
term commitments.
 You will not require to spend money on running and maintaining data centers
5.5 GitHub
#: https://github.com/Tunniez/ASM-CloudComputing/tree/master

GitHub, can be divided into the Git, and the Hub. The service includes access controls as well as a number of
collaboration features like tools for basic task management and for all projects you handle. GitHub hosts your
source code projects in a variety of different programming languages and keeps track of the various changes made
to every iteration.

Documentation

By using GitHub, you make it easier to get excellent documentation. Their help section and guides have articles for
nearly any topic related to git that you can think of.

Showcase Your Work

Are you a developer who wishes to attract recruiters? GitHub is the best tool you can rely on for this. Today, when
searching for new recruits for their project, most companies look into the GitHub profiles. If your profile is
available, you will have a higher chance of being recruited even if you are not from a great university or college.

Markdown

Markdown allows you to use a simple text editor to write formatted documents. GitHub has revolutionized writing
by channeling everything through Markdown: the issue tracker, user comments, everything. With so many other
programming languages to learn for setting up projects, it’s really a big benefit to have your content inputted in a
format without having to learn yet another system.

GitHub is a Repository

This was already mentioned before, but it’s important to note, GitHub is a repository. Moreover, GitHub is one of
the largest coding communities around right now, so it’s wide exposure for your project.

Track Changes in Your Code Across Versions

When multiple people collaborate on a project, it’s hard to keep track revisions—who changed what, when, and
where those files are stored. GitHub takes care of this problem by keeping track of all the changes that have been
pushed to the repository. Much like using Microsoft Word or Google Drive, you can have a version history of your
code so that previous versions are not lost with every iteration.

Integration Options

GitHub can integrate with common platforms such as Amazon and Google Cloud, services such as Code Climate to
track your feedback, and can highlight syntax in over 200 different programming languages.
6. Technical Solution for ATN
With the types of service models presented in section II.1 – I have given the advantages and disadvantages of each
type of model. With ATN, according to the requirements and resources to implement the project, I have some
suggestions to help ATN have the most optimal usage model.

For source code administration: I will use the PaaS platform to do system Deploy work through a GitHub. More
specifically the platform I put to use this time is “Heroku”.

For database management: I will use the IaaS platform to do the work of connecting the MySQL database through
Amazon EC2 and connecting to Heroku. <<Open Port 3306>>
6.1. The deciding factor to choose a cloud platform
Our company ATN decided to use the Heroku public cloud instead of AWS because of the following factors:

AWS and Heroku are not interchangeable terms. AWS is an IaaS company that manages huge shared data centers
in the cloud. IaaS is a service provided by companies such as Amazon Web Services, Microsoft Azure, and Google
that allows developers to host their applications on these data centers rather than on their own servers. However,
IaaS providers appear to be more concerned with data center operations than with client experience due to the
nature of their company. As a result, in order to deal with AWS directly, the company's technological employees
must have AWS experience. Heroku, on the other hand, is a PaaS that runs on AWS. This platform was created with
the intention of making app development easier.

To deploy a project on Heroku, for example, you simply need to know a few Heroku CLI and Dashboard instructions.
The Heroku documentation contains these commands. Heroku, on the other hand, is less expensive than AWS and
offers a variety of services that aren't quite as good as AWS's, but are adequate for ATN's needs.

6.2. Deciding factors to choose a programming language and database system


PHP will be the primary language for system architecture, MySQL will be the database, and Heroku will be the cloud
platform. First, in Heroku's system, MySQL was chosen over PostgreSQL as the database because:

MySQL has a reputation for being a lightning-fast database for big workloads. Posture calls itself "the world's most
advanced open-source relational database." Extensibility, standards compliance, scalability, and data integrity are
all built into Postgres, often at the sacrifice of speed. As a result, Postgres may be a poor choice for simple, read-
heavy operations when compared to MySQL.
As a result, MySQL is still extremely fast when it comes to reading data. For enterprise applications such as corporate
ATN, this capability is crucial. MySQL, on the other hand, has been optimized to shorten the distance while writing
large amounts of data. MySQL is also an Oracle-sponsored moderated database with which many programmers and
data engineers are familiar. As a result, all technicians will be able to deploy it correctly now.

V. Conclusion
Finally, with cloud computing, with constantly evolving and renewing technologies. Many developers consider
prices, equipment, installation, the implementation process, and maintenance as a result of continuous upgrades.
There are numerous drawbacks to not using cloud computing. Cloud computing is slowly but steadily increasing
throughout the world, and it is assisting organizations in general, and ATN in particular, in reducing risks and
unnecessary costs during deployment. This will make it easier for specialists to handle correct data, decrease risks
to the bare minimum, and, of course, catastrophic damage will have explicit and unambiguous remediation plans in
place. Cloud computing, on the other hand, will change the future once global standards and laws are in place.
VI. References
Geeksforgeeks, 2018. Cloud Computing. [Online]
Available at: https://www.geeksforgeeks.org/cloud-computing/
[Accessed 10 April 2022].

Geeksforgeeks, 2021. Cloud Deployment Models. [Online]


Available at: https://www.geeksforgeeks.org/cloud-deployment-models/
[Accessed 10 April 2022].

SHAPTUNOVA, Y., 2021. 4 Best Cloud Deployment Models Overview. [Online]


Available at: https://www.sam-solutions.com/blog/four-best-cloud-deployment-models-you-need-to-know/
[Accessed 10 April 2022].

Solarwindssoftware, 2019. Virtualization Technology vs. Cloud Virtualization. [Online]


Available at: https://www.dnsstuff.com/virtualization-technology-cloud-computing-
types#:~:text=Virtualization%20in%20cloud%20computing%20allows,infrastructure%2C%20software%2C%20and
%20platforms.
[Accessed 10 April 2022].

Stephen Watts, Muhammad Raza, 2019. SaaS vs PaaS vs IaaS: What’s The Difference & How To Choose. [Online]
Available at: https://www.bmc.com/blogs/saas-vs-paas-vs-iaas-whats-the-difference-and-how-to-choose/
[Accessed 10 April 2022].

Uschi, 2022. History & Evolution of Cloud Computing: What to Expect in 2025. [Online]
Available at: https://www.seasiainfotech.com/blog/history-and-evolution-cloud-computing/
[Accessed 10 April 2022].

You might also like