Spelling suggestions: "subject:"driverless""
11 |
Architectural Implications of Serverless and Function-as-a-Service / 无服务器和功能服务化的架构含义Andell, Oscar January 2020 (has links)
Serverless or Function-as-a-Service (FaaS) is a recent architectural style that is based on the principles of abstracting infrastructure management and scaling to zero, meaning application instances are dynamically started and shut down to accommodate load. This concept of no idling servers and inherent autoscaling comes with benefits but also drawbacks. This study presents an evaluation of the performance and implications of the serverless architecture and contrasts it with the so-called monolith architectures. Three distinct architectures are implemented and deployed on the FaaS platform Microsoft Azure Functions as well as the PaaS platform Azure Web App. Results were produced through experiments measuring cold starts, response times, and scaling for the tested architectures as well as observations of traits such as cost and vendor lock-in. The results indicate that serverless architectures, while it is subjected to drawbacks such as vendor lock-in and cold starts, provides several benefits to a system such as reliability and cost reduction.
|
12 |
Building a System for Driving and Rest Times from Activity ChangesEriksson, Pontus January 2021 (has links)
This project explores an improved design for a system that tracks drive and rest time data for heavy vehicle drivers. Tracking rest and driving time data for drivers of heavy vehicles is important since it allows for the drivers to ensure that they are following the laws related to how often they must take breaks. The system built in this project is external to the vehicles. It relies on sending smaller status updates then previously, thus decreasing the data required to track the drive and rest times. The system was evaluated in terms of how much data it saves compared to a system that sends full status updates, it was also evaluated on how the cost scales with an increased load on the system.
|
13 |
Webová aplikácia pre používateľskú časť edukačnej platformySiebert, Martin January 2019 (has links)
The aim of this thesis is to design and implement a basic application for the user part of the educational platform based on the requirements of FEDEVEL s.r.o. The theoretical part of this thesis focuses on the analysis of existing solutions and the current state of the system in the company. It also describes the possibilities of creating a web application and describes multiple AWS services. The created application will form the basis for a new company product that will help instructors build their own brand of proffesional courses and provide a modern educational platform for their students.
|
14 |
Serverless Streaming Graph Analytics with Flink Stateful FunctionsChen, Sihan January 2022 (has links)
Serverless Function as a Service (FaaS) platforms have been an emerging trend nowadays with the continuous improvement of the cloud-native ecosystem. Graph streaming analytics is a widely-known research area that demands well-designed computation paradigms and complex optimization of storage and queries. Using serverless platforms to process graph streaming analytics would be a prospective field. For one thing, serverless platforms normally use a Function as the first-class citizen, and users can smoothly use or expand the Functions only caring about the application layer, to get the results without knowing the beneath architectures or environment. For another, distributed large-scale graph problems normally demand the message-passing actor model and serverless platforms could use one Function instance for one vertex with its own context, and each of the Functions could evolve its state by passing messages to each other. This way of processing is native to distributed stateful applications and can smoothly support graph streaming analytics. A temporal graph is a graph that evolves with time. With timestamps on edges, users can retrieve historical graph states and even retrieve graph states in any arbitrary event time windows for further analytics. Handling temporal graph analytics problems on serverless platforms is the focus of this thesis. Flink Stateful Functions, a newly-built API under the umbrella of Apache Flink, simplifies the building of distributed stateful applications with runtime for serverless architectures, with the full support of stateful entities modeling with location transparency, concurrency, scaling, and resiliency. Flink Stateful Functions is a powerful tool for temporal graph streaming analytics on a serverless platform. In this thesis project, a temporal graph processing library is built based on the Flink Stateful Functions. It supports efficient storage and query specifically on temporal graph analytics problems. / Serverlösa FaaS-plattformar har varit en framväxande trend nuförtiden med den kontinuerliga förbättringen av det molnbaserade ekosystemet. Grafströmningsanalys är ett allmänt känt forskningsområde som kräver väldesignade beräkningsparadigm och komplex optimering av lagring och frågor. Att använda serverlösa plattformar för att bearbeta grafströmningsanalyser skulle vara ett potentiellt område. För det första använder serverlösa plattformar normalt en funktion som den förstklassiga medborgaren, och användare kan smidigt använda eller utöka funktionerna som bara bryr sig om applikationslagret, för att få resultat utan att känna till underarkitekturerna eller miljön. För ett annat kräver distribuerade storskaliga grafproblem normalt den meddelandeöverförande aktörsmodellen och serverlösa plattformar kan använda en funktionsinstans för en vertex med sitt eget sammanhang, och var och en av funktionerna kan utveckla sitt tillstånd genom att skicka meddelanden till varandra. Det här sättet att bearbeta är inbyggt i distribuerade statistiska applikationer och kan smidigt stödja grafströmningsanalys. En tidsgraf är en graf som utvecklas med tiden. Med tidsstämplar på kanterna kan användare hämta historiskt graftillstånd och till och med hämta graftillstånd i alla godtyckliga händelsetidsfönster för ytterligare analys. Att hantera tidsmässiga grafanalysproblem på serverlösa plattformar är fokus för denna avhandling. Flink Stateful Functions, ett nybyggt API under Apache Flinks paraply, förenklar byggandet av distribuerade stateful-applikationer med runtime för serverlösa arkitekturer, med fullt stöd av stateful entitetsmodellering med platstransparens, samtidighet, skalning och resiliens. Flink Stateful Functions är ett kraftfullt verktyg för temporal grafströmningsanalys på en serverlös plattform. I detta examensarbete byggs ett bibliotek för temporal grafbehandling baserat på Flink Stateful Functions. Den stöder effektiv lagring och frågesökning specifikt på temporal grafdata för att lösa storskaliga grafproblem.
|
15 |
Comparing performance and developer experience for a serverless application integrated with a serverless databaseStiernborg, Leonora January 2023 (has links)
Cloud computing has introduced a paradigm shift in the information technology sector by enabling the user to access computing resources over the internet. Serverless is a new cloud computing technology that has gained significant popularity for the deployment of services and applications. Serverless applications are often integrated with other services such as serverless databases. Existing work in the area of performance evaluation of serverless applications mainly focuses on serverless applications that are not integrated with a serverless database. Additionally, there is a lack of evaluation of the user experience for the implementation of a serverless application on the different cloud providers. This thesis aims to evaluate the performance and developer experience of serverless applications integrated with a serverless database on the three leading cloud platforms: Amazon Web Services, Google Cloud Platform and Microsoft Azure. This was performed by implementing and performing tests on an experimental serverless application implemented on each platform. Furthermore, the thesis compares the performance difference between the two programming languages Python and Javascript (Node.js). This thesis indicates that AWS has the overall best performance and user experience of the three platforms.
|
16 |
EdgeFn: A Lightweight Customizable Data Store for Serverless Edge ComputingPaidiparthy, Manoj Prabhakar 01 June 2023 (has links)
Serverless Edge Computing is an extension of the serverless computing paradigm that enables the deployment and execution of modular software functions on resource-constrained edge devices. However, it poses several challenges due to the edge network's dynamic nature and serverless applications' latency constraints. In this work, we introduce EdgeFn, a lightweight distributed data store for the serverless edge computing system. While serverless comput- ing platforms simplify the development and automated management of software functions, running serverless applications reliably on resource-constrained edge devices poses multiple challenges. These challenges include a lack of flexibility, minimum control over management policies, high data shipping, and cold start latencies. EdgeFn addresses these challenges by providing distributed data storage for serverless applications and allows users to define custom policies that affect the life cycle of serverless functions and their objects. First, we study the challenges of existing serverless systems to adapt to the edge environment. Sec- ond, we propose a distributed data store on top of a Distributed Hash Table (DHT) based Peer-to-Peer (P2P) Overlay, which achieves data locality by co-locating the function and its data. Third, we implement programmable callbacks for storage operations which users can leverage to define custom policies for their applications. We also define some use cases that can be built using the callbacks. Finally, we evaluate EdgeFn scalability and performance using industry-generated trace workload and real-world edge applications. / Master of Science / Serverless Edge Computing is an extension of the serverless computing paradigm that enables the deployment and execution of modular software functions on resource-constrained edge devices. However, it poses several challenges due to the edge network's dynamic nature and serverless applications' latency constraints. In this work, we introduce EdgeFn, a lightweight distributed data store for the serverless edge computing system. While serverless comput- ing platforms simplify the development and automated management of software functions, running serverless applications reliably on resource-constrained edge devices poses multiple challenges. These challenges include a lack of flexibility, minimum control over management policies, high data shipping, and cold start latencies. EdgeFn addresses these challenges by providing distributed data storage for serverless applications and allows users to define custom policies that affect the life cycle of serverless functions and their objects. First, we study the challenges of existing serverless systems to adapt to the edge environment. Sec- ond, we propose a distributed data store on top of a Distributed Hash Table (DHT) based Peer-to-Peer (P2P) Overlay, which achieves data locality by co-locating the function and its data. Third, we implement programmable callbacks for storage operations which users can leverage to define custom policies for their applications. We also define some use cases that can be built using the callbacks. Finally, we evaluate EdgeFn scalability and performance using industry-generated trace workload and real-world edge applications.
|
17 |
Towards SLO-aware Resource Scheduling for Serverless Inference WorkloadsTripathy, Abhijit 08 August 2023 (has links)
The rapid advancement of Machine Learning (ML) and Deep Learning (DL) has revolutionized various domains, necessitating efficient and cost-effective ML inference capabilities. Function-as-a-Service (FaaS) has emerged as a promising approach for hosting ML inference services, providing a serverless computing environment that streamlines development cycles and offers scalability and simplified infrastructure management. However, existing autoscaling strategies employed by popular FaaS platforms often overlook critical factors such as response time and tail latency. Additionally, Python's Global Interpreter Lock (GIL) poses challenges for parallel computing in high-request traffic scenarios. This thesis addresses the need for efficient and cost-effective Machine Learning (ML) inference capabilities by exploring batching and autoscaling strategies for Serverless Inference instances. The study proposes a prototype FaaS framework that provides adaptive request batching, reactive autoscaling policies, and SLO monitoring, thus allowing Serverless Inference workloads to meet their SLO targets even during peak traffic. The proposed approach aims to optimize resource utilization, mitigate tail latency, and improve overall system performance. / Master of Science / Machine Learning (ML) and Deep Learning (DL) are advanced techniques that allow computers to learn from data and make predictions or decisions without being explicitly programmed. This has led to significant advancements in various fields. Inference refers to the process of applying a trained ML model to new data to make predictions or extract insights. In the context of ML, there is a growing need for efficient and cost-effective inference capabilities. A new approach called Function-as-a-Service (FaaS) has emerged that can address this need. FaaS is a way of abstracting the server infrastructure away from the developers. This means developers can focus on writing the ML code without worrying about managing the underlying infrastructure. FaaS offers benefits such as scalability, simplified infrastructure management, and faster development cycles. However, existing FaaS platforms face challenges in ensuring fast response times and handling high levels of incoming requests. This thesis aims to address these challenges by proposing a prototype FaaS framework. The framework incorporates adaptive request batching, reactive autoscaling policies, and Service-Level Objectives (SLOs) monitoring. Request batching allows the framework to process multiple requests together, improving efficiency. Autoscaling policies ensure the system dynamically adjusts its resources based on the incoming workload. Monitoring SLOs helps track and meet performance targets, even during peak traffic. By optimizing resource utilization, reducing delays in processing requests, and improving overall system performance, the proposed approach seeks to provide efficient and cost-effective ML inference capabilities in a serverless environment.
|
18 |
Punching Holes in the Cloud: Direct Communication between Serverless Functions Using NAT TraversalMoyer, Daniel William 04 June 2021 (has links)
A growing use for serverless computing is large parallel data processing applications that take advantage of its on-demand scalability. Because individual serverless compute nodes, which are called functions, run in isolated containers, a major challenge with this paradigm is transferring temporary computation data between functions. Previous works have performed inter-function communication using object storage, which is slow, or in-memory databases, which are expensive. We evaluate the use of direct network connections between functions to overcome these limitations. Although function containers block incoming connections, we are able to bypass this restriction using standard NAT traversal techniques. By using an external server, we implement TCP hole punching to establish direct TCP connections between functions. In addition, we develop a communications framework to manage NAT traversal and data flow for applications using direct network connections. We evaluate this framework with a reduce-by-key application compared to an equivalent version that uses object storage for communication. For a job with 100+ functions, our TCP implementation runs 4.7 times faster at almost half the cost. / Master of Science / Serverless computing is a branch of cloud computing where users can remotely run small programs, called "functions," and pay only based on how long they run. A growing use for serverless computing is running large data processing applications that use many of these serverless functions at once, taking advantage of the fact that serverless programs can be started quickly and on-demand. Because serverless functions run on isolated networks from each other and can only make outbound connections to the public internet, a major challenge with this paradigm is transferring temporary computation data between functions. Previous works have used separate types of cloud storage services in combination with serverless computing to allow functions to exchange data. However, hard-drive--based storage is slow and memory-based storage is expensive. We evaluate the use of direct network connections between functions to overcome these limitations. Although functions cannot receive incoming network connections, we are able to bypass this restriction by using a standard networking technique called Network Address Translation (NAT) traversal. We use an external server as an initial relay to setup a network connection between two functions such that once the connection is established, the functions can communicate directly with each other without using the server anymore. In addition, we develop a communications framework to manage NAT traversal and data flow for applications using direct network connections. We evaluate this framework with an application for combining matching data entries and compare it to an equivalent version that uses storage based on hard drives for communication. For a job with over 100 functions, our implementation using direct network connections runs 4.7 times faster at almost half the cost.
|
19 |
Nyhetswidget för varumärkenHalvarsson, Maria January 2024 (has links)
The goal of the project is to develop a news widget for the company Atega In-sight. This news widget will be integrated into their Priceagent application and improve the ability of customers to set prices for their products. Daily meetings with the company as well as communication via chat and other spontaneous meetings. The project includes adjustments to previous sketches to meet current requirements as well as planning the functionality of the widget in the design tool Figma. The project's code will primarily be written in Visual Studio Code. The back-end is developed with NodeJS and the Serverless Framework as the basis for the API, while MongoDB is used as the database manager. Testing of the back-end takes place using the Postman API platform. On the front-end side, reusable components are created with React, mainly written in TypeScript. Ready-made components from Ant Design and styling are done with Styled-Components. The front-end structure follows the Atomic Design Pattern. The result of the project has given the company a functional widget where users can add, remove, edit and view their news feeds. Users can also switch between different tabs and paginate the news articles. Testing of the widget has mainly been performed with various browser add-ons, including VisBug to see if the size of the various components matches the sketches and responsiveness. Wave for testing availability and Lighthouse for performance. However, there is room for more superficial development, such as a better implementation of the NewsAPI in the back-end and small adjustments to improve the user experience, as the widget can sometimes be perceived as slow. / Målet med projektet är att utveckla en nyhetswidget åt företaget Atega Insight. Denna nyhetswidget ska integreras i deras Priceagent -applikation och förbättra kundernas förmåga att satta priser på sina produkter. Dagliga möten med företaget samt kommunikation via chatt och andra spontana möten. Projektet innefattar justeringar av tidigare skisser för att möta aktuella krav samt planering av widgetens funktionalitet i designverktyget Figma. Projektets kod kommer främst att skrivas i Visual Studio Code. Back-end utvecklas med NodeJS och Serverless Framework som grund för API: et, medan MongoDB används som databashanterare. Testning av back-end sker med hjälp av API-plattformen Postman. På front-end-sidan skapas återanvändbara komponenter med React, huvudsakligen skrivet i TypeScript. Färdiga komponenter från Ant Design och styling sker med Styled Components. Front-end-strukturen följer designmönstret Atomic Design Pattern. Resultatet av projektet har gett företaget en funktionell widget där man kan lagga till, ta bort, redigera och se sina nyhetsflöden. Användarna kan ocksa byta mellan olika flikar och paginera nyhetsartiklarna. Testning av widgeten har främst utförts med olika webbläsartillägg, bland annat VisBug för att se om storleken på de olika komponenterna stämmer överens med skisserna och responsivitet. Wave för att testa tillgängligheten och Lighthöuse för prestanda. Det finns dock utrymme för ytterligare utveckling, såsom en bättre implementering av NewsAPI i back-end öch sma justeringar för att förbättra användarupplevelsen, då widgeten ibland kan upplevas som långsam.
|
20 |
Orchestrating cloud resources to optimize performance and costRaza, Ali 30 January 2025 (has links)
2023 / In the last decade, Function-as-a-Service (FaaS) became one of the popular choices for building and deploying cloud applications. Compared to Infrastructure-as-a-Service (IaaS), FaaS offers an abstraction of backend management, an easy programming model, low cold starts, and a true “pay as you go” pricing model. While efficient and relatively simpler, the cost and performance of an application, when deployed using FaaS, can be adversely affected if not properly managed and configured. Previous approaches have advocated the limited use of FaaS while scaling out the virtual machine (VM) based resources to avoid Service-Level-Objective (SLO) violations. However, these approaches miss out on potential long-term cost savings by employing FaaS consistently. Similarly, to manage a FaaS deployment, various machine learning and optimization techniques have been suggested but these techniques either have high costs or fall short as they fail to adapt to the dynamic nature of FaaS platforms. To this end, we present Thrifty, a hybrid approach to leveraging FaaS in conjunction with other cloud services to optimize both cost and performance. Thrifty consists of two main components: 1) LIBRA: a load-balancing framework to utilize IaaS and FaaS resources efficiently. Based on the demand, it decides to use either FaaS, IaaS, or both to maximize cost savings while meeting the SLOs; 2) xCOSE: a resource configuration and placement technique for FaaS deployments. It addresses the performance variability of FaaS platforms and meets the SLO by adapting the resource configurations with minimal sampling cost. It can configure single- and multi-function (service graph) applications. We evaluate Thrifty in extensive simulations and on the Amazon Web Services (AWS) cloud platform using real applications. Our evaluations show that consistent and opportunistic usage of FaaS through LIBRA can reduce SLO violations by up to 85% and cost by up to 53% when compared to other approaches to deploying cloud applications. Furthermore, xCOSE has the ability to configure simple and complex FaaS applications with minimal sampling cost.
|
Page generated in 0.0367 seconds