14 research outputs found

    Securing Serverless Computing

    Get PDF
    Serverless applications are based on a microservices-oriented system design, often consisting of several services, each with distinct functions that are composed and orchestrated to deliver specific functionality. The architecture allows firms to build and deploy software applications without consideration towards provisioning or maintaining the underlying infrastructure. The novelty of the architecture and its inherent characteristics present new challenges for cybersecurity. We discuss the security imperatives of this emerging cloud computing software paradigm. We then identify some of the approaches and practices that can be used by organizations to mitigate security threats in the context of serverless computing

    Adapting Microservices in the Cloud with FaaS

    Get PDF
    This project involves benchmarking, microservices and Function-as-a-service (FaaS) across the dimensions of performance and cost. In order to do a comparison this paper proposes a benchmark framework

    Optimización en el desarrollo de aplicaciones serverless en entornos distribuidos

    Get PDF
    Los últimos años han sido testigos de avances sin precedentes en el campo de Cloud Computing. Este modelo se refiere al acceso de red ubicuo, conveniente y bajo demanda a un grupo compartido de recursos informáticos. Como una evolución constante, aparece Serverless como un nuevo paradigma de desarrollo de software en el Cloud, que surge a partir de una arquitectura monolítica y luego pasando por máquinas virtuales y contenedores para finalizar en serverless, que en algunos casos se conoce como función como servicios, aunque también incluye Backend como servicio, lo cual en general son servicios de terceros disponibles en el Cloud. La misma está enfocada en proveer una arquitectura que permite la ejecución de funciones arbitrarias con mínima sobrecarga en la administración del servidor y soportada bajo la programación orientada a eventos. La cantidad y variedad de datos provenientes del Edge, necesitan ser procesados y en algunos casos en tiempo real y por lo tanto deben resolverse varios desafíos y problemas abiertos. Debido a que las investigaciones apuntan a diversas áreas como son: arquitectura y hardware, administración de recursos, modelo de negocios y desarrollo de aplicaciones. Debido a que las aplicaciones serverless son altamente distribuidas, donde cada función realiza una tarea enfocada y depende de un sinnúmero de otros servicios para el resto., el objetivo de esta línea de investigación es resolver problemáticas vinculadas al desarrollo, que generen alta latencia, dificulten el paralelismo de funciones serverless o no se adapten a los principios DevOps, entre otros.Eje: Procesamiento distribuido y paralelo.Red de Universidades con Carreras en Informátic

    Benchmarking Resource Management For Serverless Computing

    Get PDF
    Serverless computing is a way in which users or companies can build and run applications and services without having to worry about acquiring or maintaining servers and their software stacks. This new technology is a significant innovation because server management incurs a large amount of overhead and can be very complex and difficult to work with. The serverless model also allows for fine-grain billing and demand resource allocation, allowing for better scalability and cost reduction. Academic researchers and industry practitioners agree that serverless computing is an amazing innovation, but it introduces new challenges. The algorithms and protocols currently deployed for virtual server optimization in traditional cloud computing environments are not able to simultaneously achieve low latency, high throughput, and fine-grained scalability while maintaining low cost for the cloud service providers. Furthermore, in the serverless computing paradigm, computation units (i.e., functions) are stateless. Applications, specified through function workflows, do not have control over specific states or their scheduling and placement, which can sometimes lead to significant latency increases and some opportunities to optimize the usage of physical servers. Overcoming these challenges highlights some of the tension between giving programmers control and allowing providers to optimize automatically. This research identifies some of the challenges in exploring new resource management approaches for serverless computing (more specifically, FaaS) as well as attempts to deal with one of these challenges. Our experimental approach includes the deployment of an open-source serverless function framework, OpenFaaS. We focus on faasd, a more lightweight variant of OpenFaaS. Faasd was chosen over the normal OpenFaaS due to not having the higher complexity and cost of Kubernetes. As researchers in academia and industry develop new approaches for optimizing the usage of CPU, memory, and I/O for serverless platforms, the community needs to establish benchmark workloads for evaluating proposed methods. Several research groups have proposed benchmark suites in the last two years, and many others are still in development. A commonality among these benchmark tools is their complexity; for junior researchers without experience in the deployment of distributed systems, a lot of time and effort goes into deploying the benchmarking, hindering their progress in evaluating newly proposed ideas. In our work, we demonstrate that even well-regarded proposals still introduce deficiencies and deployment challenges, proposing that a simplified, constrained benchmark can be useful in preparing execution environments for the experimental evaluation with serverless services

    Computación serverless para tratamiento de datos provenientes de dispositivos de IoT

    Get PDF
    Cloud Computing se ha consolidado como una arquitectura que permite la provisión de recursos bajo demanda y de forma elástica; es ampliamente utilizada y ha demostrado su efectividad. Por otro lado Internet de las cosas ha comenzado a tener una gran adopción fruto de la emergente industria 4.0 y de las smart cities entre otras aplicaciones Serverless en un nuevo paradigma de desarrollo de software en el Cloud, que surge como una evolución del mismo, partiendo de una arquitectura monolítica, pasando por máquinas virtuales, luego contenedores y por último serverless, que en algunos casos se conoce como función como servicios. La misma está enfocada en proveer una arquitectura que permita la ejecución de funciones arbitrarias con mínima sobrecarga en la administración del servidor y soportada bajo la programación orientada a eventos. La cantidad y variedad de datos provenientes del Edge, necesitan ser procesados y en algunos casos en tiempo real. Estrategias como CloudIoT o Fog computing se han propuestos pero debido a los costos de los dispositivos fog enabled o a la latencia hacia el Cloud, estas soluciones son aplicables solo en determinados casos. Serverless provee la ejecución individual de funciones Cloud y es adecuada para el procesamiento de datos (ETL), procesamiento de datos provenientes de dispositivos de IoT (donde claramente favorece la escalabilidad) y computación científica. Esta unión de tecnologías presenta varios desafíos y oportunidades a resolver, entre ellas la redefinición de DevOps para serverless (NoOps), testing e interoperabilidad, performance, seguridad y análisis de costo entre otras. La evaluación de la eficiencia de las arquitecturas serverless y el estudio detallado de las mismas, permitirá plantear nuevos casos de uso, proponer estrategias para el procesamiento IoT y redefinir el proceso de desarrollo y operación.Eje: Procesamiento distribuido y paralelo.Red de Universidades con Carreras en Informátic

    HPC Serverless para tratamiento de datos provenientes del IoT

    Get PDF
    Se ha demostrado que la ejecución de aplicaciones de HPC en el cloud es una opción viable a las arquitecturas paralelas o distribuidas convencionales, las cuales requieren un alto grado de administración, así como un pobre escalado de recursos. El enfoque tradicional para un usuario usualmente es utilizar al proveedor de Cloud para aprovisionar máquinas virtuales (VM) empleándolas de manera similar a una infraestructura local, con el consiguiente problema de la administración de recursos sumado a la degradación de la performance de las aplicaciones por la contextualización de los ambientes virtualizados. Serverless computing, permite a un usuario ejecutar código escrito en el lenguaje de programación de su elección, sin tener que aprovisionar primero una máquina virtual. Por otro lado, la elasticidad, disponibilidad, escalabilidad y la tolerancia a fallas son proporcionadas de manera transparente por el proveedor cloud. De esta manera es posible disminuir la complejidad de la administración de la infraestructura para el desarrollador, permitiéndole que se centre en la lógica de la aplicación. Y además surgen ventajas económicas, al pagar solo por el tiempo de uso. La presente línea de investigación se centra en el desafío de evaluar el costo, no solo monetario sino también de performance, de migrar aplicaciones de HPC a entornos serverless. Esta evaluación permitirá que se pueda tomar la decisión que infraestructura se usará con la finalidad que se obtenga el mejor beneficio de performance.Red de Universidades con Carreras en Informátic

    Migración de aplicaciones monolíticas a entornos distribuidos serverless

    Get PDF
    Serverless Computing es una arquitectura o modelo de ejecución en el cloud, alternativo al modelo tradicional. Ofrece numerosas ventajas sobre una arquitectura monolítica, como aportar agilidad, innovación, un mejor escalado automático, flexibilidad en el desarrollo y una mejor evaluación y control de los costos. Surgió como una evolución de microservicios corriendo en contenedores e implementando funciones, por lo cual a veces se lo denomina función como servicio. Las ventajas que presenta este modelo de computación, promueven a que sea conveniente migrar aplicaciones montadas sobre el cloud tradicional a una arquitectura serverless. Estas aplicaciones se deben llevar a una arquitectura de microservicios, donde se ejecutan funciones, cada una de las cuales de forma independiente y conducida por eventos. Si bien existen varias estrategias y propuestas metodológicas para llevar a cabo la migración, surgen numerosos desafíos y problemas a resolver, debido a que el desarrollo es completamente diferente, además se deben aplicar técnicas de observación y monitorear el progreso de la migración , por lo tanto toda la problemática expresada es el motivo de la presente línea de investigación.Red de Universidades con Carreras en Informátic

    Advanced Elastic Platforms for High Throughput Computing on Container-based and Serverless Infrastructures

    Full text link
    [ES] El principal objetivo de esta tesis es ofrecer a los usuarios científicos un modo de crear y ejecutar aplicaciones sin servidor (i.e. serverless) altamente paralelas, dirigidas por eventos y orientadas al procesado de datos, tanto en proveedores en la nube públicos (e.g. AWS) como privados (e.g. OpenNebula, OpenStack). Para llevar a cabo dicho objetivo, se han desarrollado e integrado diferentes herramientas que ofrecen una vía para desplegar aplicaciones de computación de altas prestaciones basadas en contenedores, que además pueden beneficiarse de la alta escalabilidad presente en los entornos serverless. Primero se ha creado una herramienta que permite el despliegue de cargas de trabajo genéricas en el proveedor público AWS. Esta herramienta posibilita que se puedan aprovechar las funcionalidades de AWS Lambda (e.g. alta escalabilidad, computación basada en eventos) para el despliegue y la integración de aplicaciones computacionalmente intensivas que usan el modelo de funciones como servicio (FaaS). En segundo lugar se ha desarrollado un modelo de programación de alto rendimiento para el procesado de datos y orientado a eventos que permite a los usuarios desplegar flujos de trabajo como un conjunto de funciones serverless, a la vez que ofrece una gestión transparente de los datos. En tercer lugar, para poder superar los problemas presentes en los proveedores públicos (e.g. tiempo de ejecución limitado), se ha creado una plataforma que facilita el uso del modelo FaaS en infraestructuras privadas. Esta plataforma también puede ser desplegada automáticamente en distintos proveedores públicos de la nube. Finalmente, para comprobar y validar las diferentes herramientas y plataformas desarrolladas, se han probado diferentes casos de uso con interés tanto para investigación como para la empresa.[CA] El principal objectiu d'aquesta tesi és oferir als usuaris científics una manera de crear i executar aplicacions sense servidor (i.e. serverless) altament paral·leles, dirigides per esdeveniments i orientades al processament de dades, tant en proveïdors en núvol públics (e.g. AWS) com en privats (e.g. OpenNebula, OpenStack). Per a dur a terme aquest objectiu, s'ha desenvolupat e integrat diferents eines que ofereixen una via per desplegar aplicacions de computació d'altes prestacions basades en contenidors, alhora que es poden beneficiar de l'alta escalabilitat present en els entorns serverless. Primerament, s'ha creat una eina que possibilita el desplegament de càrregues de treball genèriques al proveïdor públic en núvol AWS. Aquesta eina permet aprofitar les funcionalitats de AWS Lambda (e.g. alta escalabilitat, computació basada en esdeveniments) per al desplegament i la integració d'aplicacions computacionalment intensives que fan ús del model de funcions com a servei (FaaS). En segon lloc, s'ha desenvolupat un model de programació d'alt rendiment per al processament de dades i orientat a esdeveniments, que permet als usuaris desplegar fluxos de treball com un conjunt de funcions serverless, alhora que ofereix una gestió transparent de les dades. En tercer lloc, per a superar els problemes presents als proveïdors públics (e.g. temps d'execució limitat) s'ha creat una plataforma que permet utilitzar el model FaaS en infraestructures privades. A més, aquesta plataforma pot ser desplegada automàticament en múltiples proveïdors públics en núvol. Finalment, per a comprobar i validar les diferents eines i plataformes dutes a terme, s'han provat diferents casos d'ús amb interès tant per a la recerca com per a l'empresa.[EN] The main objective of this thesis is to allow scientific users to deploy and execute highly-parallel event-driven file-processing serverless applications both in public (e.g. AWS), and in private (e.g. OpenNebula, OpenStack) cloud infrastructures. To achieve this objective, different tools and platforms are developed and integrated to provide scientific users with a way for deploying High Throughput Computing applications based on containers that can benefit from the high elasticity capabilities of the serverless environments. First, an open-source tool to deploy generic serverless workloads in the AWS public Cloud provider has been created. This tool allows the scientific users to benefit from the features of AWS Lambda (e.g. high scalability, event-driven computing) for the deployment and integration of compute-intensive applications that use the Functions as a Service (FaaS) model. Second, an event-driven file-processing high-throughput programming model has been developed to allow the users deploy generic applications as workflows of functions in serverless architectures, offering transparent data management. Third, in order to overcome the drawbacks of public serverless services such as limited execution time or computing capabilities, an open-source platform to support FaaS for compute-intensive applications in on-premises Clouds was created. The platform can be automatically deployed on multi-Clouds in order to create highly-parallel event-driven file-processing serverless applications. Finally, in order to assess and validate all the developed tools and platforms, several use cases with business and scientific backgrounds have been tested.Pérez González, AM. (2020). Advanced Elastic Platforms for High Throughput Computing on Container-based and Serverless Infrastructures [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/146365TESI

    Systematic analysis of software development in cloud computing perceptions

    Get PDF
    Cloud computing is characterized as a shared computing and communication infrastructure. It encourages the efficient and effective developmental processes that are carried out in various organizations. Cloud computing offers both possibilities and solutions of problems for outsourcing and management of software developmental operations across distinct geography. Cloud computing is adopted by organizations and application developers for developing quality software. The cloud has the significant impact on utilizing the artificial complexity required in developing and designing quality software. Software developmental organization prefers cloud computing for outsourcing tasks because of its available and scalable nature. Cloud computing is the ideal choice utilized for development modern software as they have provided a completely new way of developing real-time cost-effective, efficient, and quality software. Tenants (providers, developers, and consumers) are provided with platforms, software services, and infrastructure based on pay per use phenomenon. Cloud-based software services are becoming increasingly popular, as observed by their widespread use. Cloud computing approach has drawn the interest of researchers and business because of its ability to provide a flexible and resourceful platform for development and deployment. To determine a cohesive understanding of the analyzed problems and solutions to improve the quality of software, the existing literature resources on cloud-based software development should be analyzed and synthesized systematically. Keyword strings were formulated for analyzing relevant research articles from journals, book chapters, and conference papers. The research articles published in (2011–2021) various scientific databases were extracted and analyzed for retrieval of relevant research articles. A total of 97 research publications are examined in this SLR and are evaluated to be appropriate studies in explaining and discussing the proposed topic. The major emphasis of the presented systematic literature review (SLR) is to identify the participating entities of cloud-based software development, challenges associated with adopting cloud for software developmental processes, and its significance to software industries and developers. This SLR will assist organizations, designers, and developers to develop and deploy user-friendly, efficient, effective, and real time software applications.Qatar University Internal Grant - No. IRCC‐2021‐010

    Análisis y resolución de los problemas asociados al diseño de sistemas de IOT

    Get PDF
    Al momento de diseñar un sistema de IoT, sin importar si se parte desde un sistema existente que trabaja de forma offline, o si se desea crear un sistema desde sus inicios, se presentarán los siguientes desafíos: En primer lugar, los sistemas de IoT pueden estar conformados por una amplia variedad de dispositivos, cada uno utilizando diferentes protocolos de comunicación y medios físicos para el establecimiento de la misma. Además, los dispositivos podrían encontrarse en ubicaciones geográficas muy distantes, en las que estén regidos por diferentes sistemas legales, y en las cuales la estructura de costos asociada a la conectividad entre los mismos sea muy diferente. Por otra parte, la selección del hardware asociado a cada dispositivo puede variar dependiendo de los riesgos asociados a la actividad en la que se los involucre; de los costos asociados a la adquisición, instalación y mantenimiento en la región geográfica donde se los despliegue; de los protocolos de comunicación que se deseen utilizar; del nivel de calidad deseada en el desempeño de cada dispositivo; y de otros factores técnicos o comerciales. La selección de las tecnologías de Software a utilizar en cada dispositivo podría depender de factores similares a aquellos mencionados en la selección del hardware. Además de estudiar las necesidades particulares de cada dispositivo, debe analizarse la arquitectura general del sistema de IoT. Esta arquitectura debe contemplar las diferentes formas de conectar a los dispositivos entre sí; las jerarquías de dispositivos; los servidores Web involucrados; los proveedores de servicios que serán contratados; los medios de almacenamiento, procesamiento y publicación de la información; las personas involucradas y los demás componentes internos o externos que interactúan en el sistema. Todas las consideraciones mencionadas previamente deben realizarse dentro de un marco de trabajo que garantice la privacidad y seguridad de la información tratada. Es por ello que en algunas regiones geográficas se han establecido diferentes legislaciones asociadas al tema, las cuales deben ser consideradas desde el comienzo del diseño del sistema de IoT. No obstante, si las reglas establecidas en las legislaciones no fueran lo suficientemente claras o completas (o incluso, inexistentes), pueden tomarse como fundamentos los estándares internacionales sobre privacidad y seguridad de los datos, en hardware y software. En este artículo, se presenta una línea de investigación que aborda el Análisis y Resolución de los Problemas Asociados al Diseño de Sistemas de IoT.Red de Universidades con Carreras en Informátic
    corecore