Lecture 1.pdf
Document Details
Uploaded by AdequateMaracas
Teleki Blanka Közgazdasági Technikum
Full Transcript
Week 1 | Lecture COMP 30520 Cloud Computing Lecturer: Dimitris Chatzopoulos Email: [email protected] O ce: E3.13 O’Brien Center for Science ffi When/Where/Who Lecture: Tuesday 9:00 - 10:50 Delivered by the module coordinator at VIL-A...
Week 1 | Lecture COMP 30520 Cloud Computing Lecturer: Dimitris Chatzopoulos Email: [email protected] O ce: E3.13 O’Brien Center for Science ffi When/Where/Who Lecture: Tuesday 9:00 - 10:50 Delivered by the module coordinator at VIL-Aud Practical: Monday 15:00 - 16:50 The module coordinator, the teaching assistant and the demonstrators will help be at B003-CSI and B108-ART Please go to B003-CSI for the practical We will use Brightspace to share course material TA + demonstrators John (TA) Narod Manya Theodoros Ioannis Mossoun Furqan Assessment Two small projects: 20% (You will get help in the practicals) penalties will be applied for late submissions unless you follow the relative procedures On every project you will have to record a video of your solution Deadlines: Week 6 and Week 12 Two quizzes: 30% Week 5 during practical and Week 11 during lecture Final exam (RDS): 50% Plagiarism & UCD Computer Science ◼ Plagiarism is the "failure to cite or otherwise acknowledge ideas or phrases used in any paper, exercise, assessment or project submitted in a course but gained from another source, such as a published text, another person's work, or materials on the internet" [UCD Academic Integrity Policy] ◼ An example of academic misconduct: "any attempt by someone to seek unfair advantage in relation to [an] academic activity or which facilitates others to gain an unfair advantage, or to profit from the sharing or selling of your own or others' work without permission" Student Conduct and Academic Integrity School of CS Plagiarism Policy ◼ CS staff/demonstrators are proactive in looking for plagiarism → CS Plagiarism committee ◼ Student who enables plagiarism is equally responsible for it ◼ Examples of plagiarism: ◼ Copying some/all of the work of another student and submitting it as your own work ◼ Copying some/all of an assignment from the Internet/book/etc without referencing it ◼ Sharing individual work with another student (by e-mail, FB messenger, WhatsApp, …) ◼ Making your work available (on GitHub, website, social media, …) before lecturer gives permission ◼ Submission of AI-generated content without explicit permission and attribution ◼ Students collaborating at too detailed a level e.g. consulting each other after implementing a line/block/segment of code and sharing the results, then individually submitting the resulting work News! Practicals start next week On week 7 (or 8 or 9) we will have an invited lecture by IBM Monday 14:00 - 16:00 at TBC Topic: TBC Tuesday after the guest lecture will be half practical half lecture All news will be posted on Brightspace and send via email On prep applications/services Location: Installed directly on the local computer/server Access: Accessible from a speci c device upon installation Manually installed updates that may require downloading and Maintenance: installing new versions Stored on the local computer/server and if something happens to Data: that machine they may be lost if there are no backups Scalability: Limited since it may require more hardware/infrastructure upgrades Costing: One-time purchase or licensing fees for each installation Security: Users have full control/responsibility over security measures Performance: More or less predictable because the resources are speci c fi fi Cloud-based applications/services Location: Hosted on remote servers (the cloud) and accessed via the Internet Access: Accessible from any device with Internet connection Updates and maintenance are handled by the cloud provider or the Maintenance: application vendor. Users always have access to the latest version. Stored in the cloud (i.e., on remote servers). This allows for easier Data: sharing, backups, and recovery. Highly scalable. Easy to add users, storage, or computing power Scalability: without signi cant infrastructure changes. It's handled by the cloud provider. Based on a subscription/delivery model (XaaS), where you pay a Costing: recurring fee based on usage, features, or the number of users. Security: Managed by the cloud provider, but you're also reliant on them for data protection and privacy. Dependent on your internet connection. A slow or unstable Performance: connection can impact the user experience. fi Plan - Teams identify the business needs and collect user feedback. They explore, organize, and prioritize ideas to be worked on during this sprint. Code -Teams write the code for the tasks they have prioritized. Build - Once the developers nish their task, they commit code to the central repository to be packaged by build tools like Maven, Gradle, or Docker. Test- Automated tests check code to make sure it works correctly. Release - The build is marked as "release" and then stored in a central image repository. A central image repository ensures there is always a releasable version. Deploy- The packaged code is deployed to the production servers. Operate - The release is now live and in use by customers. Monitor - Usage data is collected. The ability to observe can help identify bottlenecks a ecting performance or user adoption. Feedback is then used to start the next loop ff fi Course topics Motivation for Cloud Computing Cloud Infrastructure Virtualisation Cloud computing architectures Programming paradigms on the cloud Mobile cloud computing Edge computing Case studies Are you using the cloud right now? Datacenters The shift towards server-side computing is driven primarily by: 1) the need for user experience improvements, such as ease of management (no con guration or backups needed) and ubiquity of access (a browser is all you need), 2) the advantages it o ers to vendors (i.e., faster application development because it is simpler for software vendors to make changes and improvements) Instead of updating many millions of clients (with a myriad of peculiar hardware and software con gurations), vendors only need to coordinate improvements and xes inside their datacenters and can restrict their hardware deployment to a few well-tested con gurations. Moreover, datacenter economics allow many application services to run at a low cost per user. For example, servers may be shared among thousands of active users (and many more inactive ones), resulting in better utilization. Similarly, the computation itself may become cheaper in a shared service (e.g., an email attachment received by multiple users can be stored once rather than many times). Finally, servers and storage in a datacenter can be easier to manage than the desktop or laptop equivalent because they are under control of a single, knowledgeable entity. fi fi fi fi ff Datacenters Some workloads require so much computing capability that they are a more natural t for a massive computing infrastructure than for client-side computing. Search services are a prime example of this class of workloads, but applications such as language translation can also run more e ectively on large shared computing installations because of their reliance on massive-scale language models. Datacenters are buildings where multiple servers and communication gear are co- located because of their common environmental requirements and physical security needs, and for ease of maintenance. Modern datacenters are massive warehouse-scale computers that are quite di erent from traditional hosting facilities of earlier times and cannot be viewed simply as a collection of co-located servers. Large portions of the hardware and software resources in datacenter must work in concert to e ciently deliver good levels of service performance, something that can only be achieved by a holistic approach to their design and deployment. Traditional datacenters typically host a large number of relatively small or medium- sized applications, each running on a dedicated hardware infrastructure that is decoupled and protected from other systems in the same facility. ffi ff ff fi server cluster with cluster-level Ethernet switch/router rack with Ethernet switch Components of a datacenter computer room air handler Power distribution unit Racks: All the IT equipment in Flooring: All datacenters have data center Cooling isis housed another in importanta component raised ooring. of a The datacenter oor to keep the IT racksequipment that are lled cool with and running.tiles To reduce are removable, amount of allowing energy required to keep computing, equipmentstoragecool,andmost datacenters engineers operate to Structured lifton them a form and Cabling of the hot/cold – Cabling aisle is a vital networkprinciple. hardware.In this type of hot/coldgain access aisle con to component the guration, void racks of the are datacenter. installedCabling so that all racks in a row face the same between direction, the solutions raised and opposing oorshould androws scaleface welleach and other will suit Power Rows: is thedata inIna most mostcenters, back-to-back important component con guration. the solid to oormake This means the anyequipment beneath. needs that datacenter of This inrunning the datacenter adjacent 10 years rows is without racks failure. are organized always facing It either is not back-to-back into just thevoid servers, or storage oor fromandnow.networking front-to-front. is commonly Modern ITequipment used equipmentthat kicks consume rows. In this out power. manner, a lot of heat, Heating, racks ventilation and if not kept and to route cool airmalfunction. network will conditioning cables and (HVAC) systems Keeping hot and cold air canconsume easily bea located separate lot can ofdrastically power. by Modern reduce datacenters powerthecables cost ofand consume keeping as well huge the amounts cool. asdatacenter of electricity giving andlocation their row often have as backup generators potentially on-site channel coldthat air.can provide electricity in as well thetheir event thatlocation. rack utility power is lost. fl fl fl fi fl fl fi fi Power Usage Ef ciency (PUE) in Datacenters PUE helps datacenter operators understand how much of the total energy consumed by the facility is used to power the actual computing equipment versus how much is used for other functions, such as cooling, lighting, and power distribution. Total Facility Energy includes all the energy Total Facility Energy consumed in the data center, such as for cooling PUE = systems, power delivery components, and lighting. IT equipment Energy IT Equipment Energy refers to the energy consumed by the actual computing hardware. PUE between 1.2 and 1.5 is considered very e cient while a PUE of 2.0 or higher indicates that for every unit of energy used for computing, another unit is used for overhead (e.g., cooling, power distribution). ffi fi What is Cloud Computing Cloud Computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of con gurable computing resources that can be rapidly provisioned and released with minimum management e ort or service provider interaction. Examples of cloud computing resources include networks, servers, storage, applications, and services. National Institute of Standards and Technology (NIST) Basic characteristics On-demand self-service An example of a distributed system Broad network access Outsourcing of hardware and software Elastic resource pooling Di erent models of delivery and computing Rapid elasticity Highly interactive web applications and services Measured service Large on-demand resources and data centres ff fi ff Cloud Computing is based on previous technologies Distributed computing “If computers of the kind I have advocated become the computers Parallel computing of the future, then computing may someday be organized as a public High-performance computing utility just as the telephone system is a public utility. The computer metacomputing utility could become the basis of a new and important industry” cluster computing John McCarthy, 1961 P2P computing Grid computing Practically, cloud computing is a specialised form of distributed computing that introduces utilisation models for remotely provisioning scalable and measured resources. Bene ts and Risks Reduced Investments & Costs Increased Security & Vulnerabilities Increased Scalability Reduced Governance Control Increased Availability and Reliability Limited portability between cloud providers Multi-regional compliance and Legal Issues fi Why is this course important? Understand the principles of the cloud Learn new technologies Analyse complex systems Anticipate future technology Understand the impact of the cloud to Get hands-on experience with cloud society (privacy, vulnerability, data technologies survivability etc) Analyse problems related to big data (process, store) Get familiar with the Pay-as-you-go pricing model Understand the importance of scalability, availability and reliability Get an introduction to edge computing and mobile cloud computing break point; Reduced Investments & Costs Rapid elasticity Increased Security & Vulnerabilities Increased Scalability Reduced Governance Control Increased Availability and Reliability Measured service On-demand self-service Limited portability between cloud providers Broad network access Outsourcing of hardware and software Multi-regional compliance and Legal Issues Elastic resource pooling Di erent models of delivery and computing Large on-demand resources and data centres ff Cloud Computing Economics Example 1: Company with a few peaks on the resource needs per month When demand for a service varies with time. For example, provisioning a data center for the peak load it must sustain a few days per month leads to underutilization at other times. Instead, cloud computing lets an organization pay by the hour for computing resources, potentially leading to cost savings even if the hourly rate to rent a machine from a cloud provider is higher than the rate to own one. Example 2: New Company without any idea regarding the resource needs When demand is unknown in advance. For example, a Web startup will need to support a spike in demand when it becomes popular, followed potentially by a reduction once some visitors turn away. Example 3: Company with speci c needs for computationally intensive loads Organizations that perform batch analytics can use the "cost associativity" of cloud computing to nish computations faster: using 1,000 EC2 machines for one hour costs the same as using one machine for 1,000 hours. fi fi https://dl.acm.org/doi/pdf/10.1145/1721654.1721672 https://dl.acm.org/doi/fullHtml/10.1145/1721654.1721672 De nitions and Terminology IT resource: Physical or virtual IT-related artifact which can be (i) software-based, e.g., virtual server, Custom software program or (ii) hardware-based, e.g., physical server or a network device On Premise: An IT resource that is hosted in a conventional IT enterprise within the organisational boundaries (non cloud-based) Organisational boundary: Physical perimeter that surrounds a set of IT resources owned and governed by an organisation Trust boundary: Logical perimeter that typically spans physical boundaries to represent the extend to which IT resources are trusted Scaling: Represent the ability of the IT resource to handle increased or decreased usage demands Horizontal scaling: Allocating or releasing resources that are of the same type Vertical scaling: Replacing existing IT resources by others with higher or lower capacity fi Cloud Computing Actors Provider: provides cloud-based IT resources Consumer: A person or organisation that maintains a business relationship with, and uses service from, cloud providers Service Owner: A person, organisation, or entity responsible for making a service available to interested parties. Resource Administrator: person or organisation responsible for administering a cloud- based IT resource Cloud auditor: A party that can conduct independent assessment of cloud services, information system operations, performance and security of the cloud implementation. Cloud broker: An entity that manages the use, performance and delivery of cloud services, and negotiates relationships between cloud providers and cloud consumers. Cloud Carrier: An intermediary that provides connectivity and transport of cloud services from cloud providers to cloud consumers More de nitions Cloud Service: Is any IT resource that is made remotely accessible via the cloud. It can exist as a simple Web-based software program, or large environments and other IT resources. “As a service” usage model”: The main goal of cloud computing is to provide IT resources as services. Representative examples are infrastructure as a service, platform as a service, software as a service, and others Cloud Service Consumer: A temporary runtime role assumed by a software when it accesses a cloud service Centralised system: A system that is running on a single computing entity that is responsible for all the operations. Distributed system: A collection of independent computing entities that are interconnected via a network to share resources and are capable of collaborating on a service/task Distributed computing has become increasingly common for many reasons: (1) Bigger challenges in science and industry, (2) performance (task farming and parallel processing), (3) resource sharing, (4) scalability, (5) availability, (6) cost fi Delivery models Infrastructure as a Service (IaaS): rent infrastructure and pay by use Platform as a Service (PaaS): use an API and development infrastructure Software as a Service (SaaS): use available software Software as a Service Platform as a Service Infrastructure as a Service Cloud Physical Infrastructure Deployment models Private cloud: Owned by an organisation and used by its members Public cloud: Anyone can create an account and use it Community cloud: only member of a community can use the cloud Hybrid cloud: infrastructure built from a mix of public, community and private clouds Virtualisation Virtualisation: Is the illusion of creating or having two or more entities where the is only one physical entity in the system. In the context of (cloud) computing, virtualisation techniques can be used to make one compute node (i.e., one server) to appear as multiple. Similarly, a computer can run multiple operating systems simultaneously. Other use cases: Virtual Private Networks (VPNs) and Virtual Storage. Key Concepts: provide virtual resources and portability to applications. Reasons to virtualise: (1) cost reduction, (2) Hypervisor: a small layer that isolation, (3) testing and evaluation of enables multiple operating applications, frameworks, low-level systems to run alongside each other, functionalities, etc, (4) easy duplication, (5) sharing the same physical running software that is not supported by the computing resources host, (6) greener technology app 1 app 2 app N app 1 app 2 app N OS i OS j OS k Operating System (OS) Hypervisor Hardware Hardware Virtualisation (2) Virtual machines (VMs) are a technology for building virtualized computing environments. They have been around for quite a while and are considered the foundation of the rst generation of cloud computing. VMs interact with physical computers by using lightweight software layers called hypervisors. Hypervisors can separate VMs from one another and allocate processors, memory, and storage among them. Containers are a lighter-weight, more agile way of handling virtualization - since they don't use a hypervisor, you can enjoy faster resource provisioning and speedier availability of new applications. Rather than spinning up an entire virtual machine, containerization packages together everything needed to run a single application or microservice (along with runtime libraries they need to run). The container includes all the code, its dependencies and even the operating system itself. This enables applications to run almost anywhere — a desktop computer, a traditional IT infrastructure or the cloud. Containers use a form of operating system (OS) virtualization. Put simply, they leverage features of the host operating system to isolate processes and control the processes’ access to CPUs, memory and desk space. https://www.ibm.com/cloud/blog/containers-vs-vms fi Containers vs VMs In traditional virtualization, a hypervisor virtualizes physical hardware. The result is that each virtual machine contains a guest OS, a virtual copy of the hardware that the OS requires to run and an application and its associated libraries and dependencies. VMs with di erent operating systems can be run on the same physical server. For example, a VMware VM can run next to a Linux VM, which runs next to a Microsoft VM, etc Instead of virtualizing the underlying hardware, containers virtualize the operating system (typically Linux or Windows) so each individual container contains only the application and its libraries and dependencies. Containers are small, fast, and portable because, unlike a virtual machine, containers do not need to include a guest OS in every instance and can, instead, simply leverage the features and resources of the host OS. While there are still many reasons to use VMs, containers provide a level of exibility and portability that is perfect for the multicloud world. When developers create new applications, they might not know all of the places it will need to be deployed. Today, an organization might run the application on its private cloud, but tomorrow it might need to deploy it on a public cloud from a di erent provider. Containerizing applications provides teams the exibility they need to handle the many software environments of modern IT. ff ff fl fl Practical 1: Monday 16/9/2024 15:00 - 16:50 Part 1: - Setup your environment and test Docker Part 2: - Use an existing Docker image https://www.docker.com/