Download ASM 1 - CLOUD COMPUTING and more Assignments Network Programming in PDF only on Docsity!
ASSIGNMENT 1 FRONT SHEET
Qualification BTEC Level 5 HND Diploma in Computing Unit number and title Unit 16 : Cloud computing Submission date 11/06/2023 Date Received 1st submission 6/6/ Re-submission Date Date Received 2nd submission Student Name TRUONG ANH TU Student ID GCH Class GCH1101 Assessor name NGUYEN DINH TRAN LONG 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 TRUONG ANH TU Grading grid P1 P2 P3 P4 M1 M2 D
Summative Feedback: Resubmission Feedback:
Grade: Assessor Signature: Date: Internal Verifier’s Comments: Signature & Date:
- Table of figures
- I) An Overview of Cloud Computing
- II) Client/ Server
- Client.................................................................................................................................................................
- Server
- Distinguish Client And Server
- III) Peer To Peer
- IV) High Performance Computing
- Defination
- 1.1. Paralel Computing
- 1.2. Cluster Computing
- 1.3. Distributed Computing..............................................................................................................................
- Example
- V) Deployment Models
- Private cloud
- Public cloud
- Community cloud
- Hybrid cloud
- VI) Service Models
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)
- Example
- VII) Characteristic Of Cloud
- VIII) Virualization And Milticore
- Virualization
- Multicore.........................................................................................................................................................
- IX) Solution For Atn
- Overview.............................................................................................................................................................
- Overview solution
- Deployment model
- Service model
- Programming language
- Database
- Cloud platform
- X) Cloud For Architecture
- References
- Figure 1: Relationship between client and server Table of figures
- Figure 2: Peer to peer model (P2P)...............................................................................................................................
- Figure 3: Private model
- Figure 4: An example of a private cloud in context of e-Health
- Figure 5: Public model
- Figure 6: Seft-made example
- Figure 7: Community model
- Figure 8: Example of community cloud
- Figure 9: Hybrid model
- Figure 10: Example of hybrid cloud
- Figure 11: Overview of IaaS
- Figure 12:Overview of Paas
- Figure 13: 5 essential characteristics of cloud computing
- monitors the cloud service to determince if predefined capacity thresholds are being exceeded (2)...................... Figure 14: Cloud service consumers are sending requests to a cloud service(1). The automated scaling listener
- Figure 15: The system handles when the request is overloaded (Informit, 2013)
information or using a particular service from the service providers (Servers). (syedmodassirali,
- Server
- When we talk the word Servers, It mean a person or medium that serves something. Similarly in this digital world a Server is a remote computer which provides information (data) or access to particular services. (syedmodassirali, 2023) Figure 1 : Relationship between client and server
- Distinguish Client And Server
- We can distinguish client and server by several features
- Software roles: TCP/IP uses different pieces of software for many protocols to implement ”client” and ”server” roles o Client software is usually found on client hardware and serversoftware on server hardware, but not always o Some devices may run both client and server software
- Web clients: Mozilla Firefox, Internet Explorer, Google Chrome,... o Example: Facebook Mobile app
- Web servers: Apache, Microsoft IIS, o Example: Nginx III) Peer To Peer
- Peer-to-peer (P2P) is a decentralized communications model in which each party has the same capabilities and either party can initiate a communication session. (Rosencrance, 2022) Figure 2 : Peer to peer model (P2P)
- P2P systems can provide anonymized routing of network traffic, massive parallel computing environments, distributed storage and other functions. Most P2P programs focus on media sharing, so P2P mostly associates with software piracy and copyright violation. (Rosencrance, 2022)
- P2P applications typically enable users to control many parameters of operation. Some of those parameters are the following: (Rosencrance, 2022) o How many member connections to seek or allow at one time; o Which systems to connect or avoid; o Which services to offer; o How many system resources to devote to the network.
- Arrcording to Rosencrance, there are some advantages and disadvantages of P2P model: Advantages Disadvantages
- P2P networks operate without an expensive server.
- Each user manages their own computer, eliminating the need for a network manager.
- P2P network configuration occurs via wizards in software.
- P2P networks can be set up in homes and small businesses.
- P2P networks typically have less network traffic than a client-server network.
- Users can't centrally back up files and folders.
- Each computer can access other computers, which slows performance.
- Files aren't centrally organized into a specific shared area, but rather stored on individual computers.
- Each user must ensure viruses aren't introduced into the network.
- There is limited security.
- P2P example: Internet Relay Chat, developed in August 1988, was one of the first peer-to-peer networks built for text and chat sharing. On June 1, 1999, Napster enabled sharing. music on its own centralized P2P network. Napster – and other first-generation P2P networks – allow an individual to connect directly over the network with another person using a copy of the same program. Founded in 2000, Gnutella is a shared network first decentralized P2P file. It allows users to access files on other users' computers through a specified folder. Over the next few years, additional P2P media file sharing services were developed. This set the stage for other P2P networks, including the Bitcoin network, which was released on January 3, 2009. (Dương, 2023) IV) High Performance Computing
- Defination 1.1. Paralel Computing
- Arrcording to (Chandrasekaran, 2014), Parallel computing is also one of the facets of HPC. Here, a set of processors work cooperatively to solve a computational problem. These processor machines or CPUs are mostly of homogeneous type. Therefore, this definition is the same as that of HPC and is broad enough to include supercomputers that have hundreds or thousands of processors interconnected with other resources. One can distinguish between conventional (also known as serial or sequential or Von Neumann) computers and parallel computers in the way the applications are executed.
- Weather Forecasting: HPC is widely used in weather forecasting to perform complex simulations and numerical weather prediction models. These models require massive computational power to analyze large amounts of data and simulate weather patterns accurately. HPC systems enable meteorologists to generate detailed forecasts and improve the accuracy of weather predictions.Weather Forecasting: HPC is widely used in weather forecasting to perform complex simulations and numerical weather prediction models. These models require massive computational power to analyze large amounts of data and simulate weather patterns accurately. HPC systems enable meteorologists to generate detailed forecasts and improve the accuracy of weather predictions. V) Deployment Models
- Arrcording to (Chandrasekaran, 2014), deployment models can be defined as the different ways in which the cloud can be deployed. These models are fully user centric, that is, these depend on users’ requirement and convenience. A user selects a model based on his or her requirement and needs. Basically, there are four types of deployment models in the cloud: o Private cloud o Public cloud o Community cloud o Hybrid cloud
- Private cloud
- According to the National Institute of Standards and Technology (NIST), private cloud can be defined as the cloud infrastructure that is provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises.
- The private cloud in simple terms is the cloud environment created for a single organization. It is usually private to the organization but can be managed by the organization or any other third party. Private cloud can be deployed using Opensource tools such as Openstack, Eucalyptus (Chandrasekaran, 2014)
- The private cloud is small in size as compared to other cloud models. Here, the cloud is deployed and maintained by the organizations itself (Chandrasekaran, 2014)
- Arrcording to (Chandrasekaran, 2014), there are some advantages and disadvantages of private cloud Advantages Disadvantages
- The cloud is small in size and is easy to maintain.
- For the private cloud, budget is a constraint.
- The private clouds have loose SLAs Figure 3 : Private model
- It provides a high level of security and privacy to the user.
- It is controlled by the organization
REAM EXAMPLE:
- E-health is an emerging field in the intersection of medical informatics, public health and business, referring to health services and information delivered or enhanced through the Internet and related technologies. In a broader sense, the term characterizes not only a technical development, but also a state-of-mind, a way of thinking, an attitude, and a commitment for networked, global thinking, to improve health care locally, regionally, and worldwide by using Information and Communication Technology
- Three types of cloud models are usually employed for rendering e-Health cloud services. They are: private, public, and hybrid cloud. but I only mentioned private cloud in this case
- This model is considered the most secured of all the models. There is a complete restriction to the public internet. The Electronic Medical Records (EMRs) in a private cloud are only accessed by a recognised personnel of the healthcare institutions who are regarded to be trustworthy and reliable. A private e-Health cloud is shown in Fig. 4 Figure 4 : An example of a private cloud in context of e-Health
- Render.com supports various types of web services, including web servers and static sites. This enables me to easily deploy dynamic applications with a web server or static websites. By using Render.com, I can push code from repositories like GitHub, and Render.com will automatically update my website. This is very convenient, allowing me to quickly make changes and update my website without dealing with complex deployment processes.
- I find that Render.com provides a user-friendly and intuitive interface. Deploying and managing applications on this platform becomes simple and enjoyable. I am satisfied with my personal experience on Render.com, and I will continue to use it for deploying my web projects in the future.
- My result is a websỉte: https://gch1101demo1.onrender.com/student Figure 6 : Seft-made example
- Community cloud
- According to NIST, the community cloud is the cloud infrastructure that is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be owned, managed, and operated by one or more of the organizations in the community, a third party, or some combination of them, and it may exist on or off preseveral organizations. Either the organizations or a single organization may collectively maintain the cloud.mises. It is a further extension of the private cloud. Here, a private cloud is shared between
- This model is very suitable for organizations that cannot afford a private cloud and cannot rely on the public cloud either. (Chandrasekaran, 2014)
- Arrcording to (Chandrasekaran, 2014), there are some advantages and disadvantages of community cloud Advantages Disadvantages
- It allows establishing a low-cost private cloud.
- It allows collaborative work on the cloud
- It allows sharing of responsibilities among the organization.
- It has better security than the public cloud.
- Autonomy of an organization is lost.
- Security features are not as good as the private cloud.
- It is not suitable if there is no collaboration.
Real Example:
- The government organization within India may share computing infrastructure in the cloud to manage data.
- The cloud infrastructure may be hosted by a government entity itself or by a trusted third-party cloud service provider. It provides a shared platform for data storage, processing, and collaboration among government agencies.
- The community cloud enables government organizations to securely share information, collaborate on projects, and streamline administrative processes. It allows agencies to have a centralized repository of shared data and applications, facilitating efficient communication and coordination across different government departments. Figure 7 : Community model
- Hybrid cloud
- According to NIST, the hybrid cloud can be defined as the cloud infrastructure that is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability.
- The hybrid cloud usually is a combination of both public and private clouds. This is aimed at combining the advantages of private and public clouds. The usual method of using the hybrid cloud is to have a private cloud initially, and then for additional resources, the public cloud is used. There are several advantages of the hybrid cloud. The hybrid cloud can be regarded as a private cloud extended to the public cloud. This aims at utilizing the power of the public cloud by retaining the properties of the private cloud. One of the popular examples for the hybrid cloud is Eucalyptus. Eucalyptus was initially designed for the private cloud and is basically a private cloud, but now it also supports hybrid cloud. The hybrid cloud can be further extended into a vast area of federated clouds that is discussed in subsequent chapters
- Arrcording to (Chandrasekaran, 2014), there are some advantages and disadvantages of hybrid model Advantages Disadvantages
- It gives the power of both the private and public clouds.
- It is highly scalable.
- It provides better security than the public cloud.
- The security features are not as good as the public cloud.
- Managing a hybrid cloud is complex.
- It has stringent SLAs.
REAL EXAMPLE:
- Banks often utilize hybrid cloud solutions to strike a balance between security, compliance, and scalability. Here is an example of how a hybrid cloud can be applied in the banking industry:
- Customer-Facing Applications: Banks often need to provide customer-facing applications, such as online banking portals or mobile banking apps, that require high scalability and responsiveness. In a hybrid cloud setup, the bank can host the customer-facing applications on a public cloud platform.
- For example, the bank may deploy its online banking portal on a public cloud infrastructure like Amazon Web Services (AWS) or Microsoft Azure. This allows the bank to benefit from the Figure 9 : Hybrid model
scalability, flexibility, and cost-effectiveness of the public cloud, as these platforms can dynamically allocate resources based on demand, handle high traffic volumes, and provide a seamless user experience.
- However, when it comes to storing and processing sensitive customer data, banks prioritize security and compliance. In a hybrid cloud model, the bank can maintain its critical data, such as customer financial records or transaction details, within a private cloud environment hosted on- premises or in a dedicated data center.
- By adopting a hybrid cloud approach, the bank can ensure that sensitive data remains within their controlled and secure infrastructure while still leveraging the scalability and agility of the public cloud for non-sensitive customer-facing applications. The hybrid cloud setup allows the bank to meet regulatory requirements, protect customer data, and provide a seamless digital banking experience to its customers.
- Additionally, the hybrid cloud model enables the bank to manage and optimize the utilization of resources effectively. During periods of peak demand, such as during major financial events or promotional campaigns, the bank can scale up its public cloud resources to handle increased user traffic. Once the demand subsides, the bank can scale down the resources, reducing costs and optimizing resource allocation. Figure 10 : Example of hybrid cloud
hardware resources and thus reduces the TCO.
- Elastic resources: IaaS provides resources based on the current needs. IT users can scale up or scale down the resources whenever they want. This dynamic scaling is done automatically using some load balancers. This load balancer transfers the additional resource request to the new server and improves application efficiency.
- Better resource utilization: Resource utilization is the most important criteria to succeed in the IT business. The purchased infrastructure should be utilized properly to increase the ROI. IaaS ensures better resource utilization and provides high ROI for IaaS providers.
- Supports Green IT: In traditional IT infrastructure, dedicated servers are used for different business needs. Since many servers are used, the power consumption will be high. This does not result in Green IT. In IaaS, the need of buying dedicated servers is eliminated as single infrastructure is shared between multiple customers, thus reducing the number of servers to be purchased and hence the power consumption that results in Green IT the customers might face the vendor lock-in problem.
- Performance issues: IaaS is nothing but the consolidation of available resources from the distributed cloud servers. Here, all the distributed servers are connected over the network. Latency of the network plays an important role in deciding the performance. Because of latency issues, sometimes the VM contains issues with its performance.
- Platform as a Service (PaaS)
- PaaS changes the way that the software is developed and deployed. In traditional application development, the application will be developed locally and will be hosted in the central location. In stand-alone application development, the applications will be developed and delivered as executables. Most of the applications developed by traditional development platforms result in a licensing-based software, whereas PaaS changes the application development from local machine to online. PaaS providers provide the development PaaS from the data center. (Chandrasekaran, 2014) Figure 12 :Overview of Paas
- There are some advantages and disadvantages of Paas (Chandrasekaran, 2014) Advantages Disadvantages
- Quick development and deployment: PaaS provides all the required development and testing tools to develop, test, and deploy the software in one place. Most of the PaaS services automate the testing and deployment process as soon as the developer completes the development. This speeds up application development and deployment than traditional development platforms.
- Reduces TCO: The developers need not buy licensed development and testing tools if PaaS services are selected. Most of the traditional development platforms requires high-end infrastructure for its working, which increases the TCO of the application development company. But, PaaS allows the developers to rent the software, development platforms, and testing tools to develop, build, and deploy the application. PaaS does not require high-end infrastructure also to develop the application, thus reducing the TCO of the development company.
- Supports agile software development: Nowadays, most of the new-generation applications are developed using agile methodologies. Many ISVs and SaaS development companies started adopting agile methodologies for application development. PaaS services support agile methodologies that the ISVs and other development companies are looking for.
- Different teams can work together: The traditional development platform does not have extensive support for collaborative development. PaaS services support developers from different places to work together on the same project. This is possible because of the online common development platform provided by PaaS providers.
- Vendor lock-in: The major drawback with PaaS providers are vendor lock-in. The main reason for vendor lock-in is lack of standards. There are no common standards followed among the different PaaS providers. The other reason for vendor lock-in is proprietary technologies used by PaaS providers. Most of the PaaS vendors use the proprietary technologies that are not compatible with the other PaaS providers. The vendor lock-in problem of PaaS services does not allow the applications to be migrated from one PaaS provider to the other.
- Security issues: Like in the other cloud services, security is one of the major issues in PaaS services. Since data are stored in off-premise third-party servers, many developers are afraid to go for PaaS services. Of course, many PaaS providers provide mechanisms to protect the user data, and it is not sufficient to feel the safety of onpremise deployment. When selecting the PaaS provider, the developer should review the regulatory, compliance, and security policies of the PaaS provider with their own security requirements. If not properly reviewed, the developers or users are at the risk of data security breach.
- Less flexibility: PaaS providers do not give much freedom for the developers to define their own application stack. Most of the PaaS providers provide many programming languages, databases, and other development tools. But, it is not extensive and does not satisfy all developer needs. Only some of the PaaS providers allow developers to extend the PaaS tools with the custom or new programming languages. Still most of the