30 research outputs found
Immutable Infrastructure Calls for Immutable Architecture
With the advent of cloud computing and the concept of immutable infrastructure, the scaling and deployment of applications has become significantly easier. This increases the possibility of “configuration drift” as an operations team manages this cluster of machines, both virtual and actual. In this paper we propose a revised view on configuration and architecture. We propose that software deployed on a public or private cloud should, to the furthest possible extent, be immutable and source controlled. This reduces configuration drift and ensures no configuration problems in production as a result of updates or changes. We will show an example of a software project deployed on Amazon Web Services with an immutable Jenkins setup which manages updating the whole cluster and is self-regenerating. We will also discuss how this lends itself naturally to interoperability between clouds, because of the infrastructure-agnostic nature of this approach
Architectural Principles for Autonomous Microservices
In the last decade architectural patterns like microservices and event-driven architectures have emerged to meet the challenges of distributed computing. This paper explores recent practices and research in microservice- and event-driven architectures to identify the challenges in architecting such systems. With a proof-of-concept study approach, we distilled a set of design principles to address these challenges, creating asynchronous and agnostic microservice architectures. Further, we provide a generic toolkit for implementing such architectures. An example of this architecture was implemented in the company TechnipFMC. Concurrently, an architecture trade-off analysis was performed using a utility-tree based approach, highlighting the impact and importance of our proposed principles and their generalizability. The evaluation provides evidence for the viability of the proposed design principles
ATOM: model-driven autoscaling for microservices
Microservices based architectures are increasinglywidespread in the cloud software industry. Still, there is ashortage of auto-scaling methods designed to leverage the uniquefeatures of these architectures, such as the ability to indepen-dently scale a subset of microservices, as well as the ease ofmonitoring their state and reciprocal calls.We propose to address this shortage with ATOM, a model-driven autoscaling controller for microservices. ATOM instanti-ates and solves at run-time a layered queueing network model ofthe application. Computational optimization is used to dynami-cally control the number of replicas for each microservice and itsassociated container CPU share, overall achieving a fine-grainedcontrol of the application capacity at run-time.Experimental results indicate that for heavy workloads ATOMoffers around 30%-37% higher throughput than baseline model-agnostic controllers based on simple static rules. We also find thatmodel-driven reasoning reduces the number of actions needed toscale the system as it reduces the number of bottleneck shiftsthat we observe with model-agnostic controllers
La arquitectura de software basada en microservicios: Una revisión sistemática de la literatura
El estilo de arquitectura de software basado en microservicios se ha ido convirtiendo en un tema de interés debido a los múltiples beneficios que otorga a las organizaciones que lo adoptan para el desarrollo de sus sistemas de software. Este estilo propone desarrollar la aplicación como un conjunto de pequeños servicios, cada uno ejecutándose independientemente y comunicándose entre sí. El presente artículo busca identificar patrones, buenas prácticas y técnicas relacionadas con la arquitectura de software basada en microservicios. Para la identificación de los elementos mencionados se realizó una revisión sistemática de la literatura en las bases de datos reconocidas. De un total de 394 artículos revisados, se identificaron 24 artículos que hacen referencia a la arquitectura basada en microservicios y sus elementos. Luego de realizar una revisión sistemática de la literatura se pudo identificar 8 patrones en los cuales se destaca la contenerización de servicios y la descomposición de monolitos, 1 técnica relacionada a la migración de aplicaciones monolíticas a microservicios y 4 buenas prácticas destacadas las cuales pertenecen a DevOps.Trabajo de investigaciónLIMAEscuela Profesional de Ingeniería de SistemasIngeniería de Softwar
Microservice Transition and its Granularity Problem: A Systematic Mapping Study
Microservices have gained wide recognition and acceptance in software
industries as an emerging architectural style for autonomic, scalable, and more
reliable computing. The transition to microservices has been highly motivated
by the need for better alignment of technical design decisions with improving
value potentials of architectures. Despite microservices' popularity, research
still lacks disciplined understanding of transition and consensus on the
principles and activities underlying "micro-ing" architectures. In this paper,
we report on a systematic mapping study that consolidates various views,
approaches and activities that commonly assist in the transition to
microservices. The study aims to provide a better understanding of the
transition; it also contributes a working definition of the transition and
technical activities underlying it. We term the transition and technical
activities leading to microservice architectures as microservitization. We then
shed light on a fundamental problem of microservitization: microservice
granularity and reasoning about its adaptation as first-class entities. This
study reviews state-of-the-art and -practice related to reasoning about
microservice granularity; it reviews modelling approaches, aspects considered,
guidelines and processes used to reason about microservice granularity. This
study identifies opportunities for future research and development related to
reasoning about microservice granularity.Comment: 36 pages including references, 6 figures, and 3 table
Monitoring Platform Evolution towards Serverless Computing for 5G and Beyond Systems
Fifth generation (5G) and beyond systems require
flexible and efficient monitoring platforms to guarantee optimal
key performance indicators (KPIs) in various scenarios. Their applicability
in Edge computing environments requires lightweight
monitoring solutions. This work evaluates different candidate
technologies to implement a monitoring platform for 5G and
beyond systems in these environments. For monitoring data plane
technologies, we evaluate different virtualization technologies,
including bare metal servers, virtual machines, and orchestrated
containers. We show that containers not only offer superior
flexibility and deployment agility, but also allow obtaining better
throughput and latency. In addition, we explore the suitability
of the Function-as-a-Service (FaaS) serverless paradigm for
deploying the functions used to manage the monitoring platform.
This is motivated by the event oriented nature of those functions,
designed to set up the monitoring infrastructure for newly
created services. When the FaaS warm start mode is used,
the platform gives users the perception of resources that are
always available. When a cold start mode is used, containers
running the application"s modules are automatically destroyed
when the application is not in use. Our analysis compares both
of them with the standard deployment of microservices. The
experimental results show that the cold start mode produces
a significant latency increase, along with potential instabilities.
For this reason, its usage is not recommended despite the
potential savings of computing resources. Conversely, when the
warm start mode is used for executing configuration tasks
of monitoring infrastructure, it can provide similar execution
times to a microservice-based deployment. In addition, the FaaS
approach significantly simplifies the code logic in comparison
with microservices, reducing lines of code to less than 38%, thus
reducing development time. Thus, FaaS in warm start mode
represents the best candidate technology to implements such
management functions.This work has been supported by EC H2020 5GPPP projects 5G-EVE and 5GROWTH under grant agreements No. 815974 and 856709, respectively