2,351 research outputs found
Real-Time Context-Aware Microservice Architecture for Predictive Analytics and Smart Decision-Making
The impressive evolution of the Internet of Things and the great amount of data flowing through the systems provide us with an inspiring scenario for Big Data analytics and advantageous real-time context-aware predictions and smart decision-making. However, this requires a scalable system for constant streaming processing, also provided with the ability of decision-making and action taking based on the performed predictions. This paper aims at proposing a scalable architecture to provide real-time context-aware actions based on predictive streaming processing of data as an evolution of a previously provided event-driven service-oriented architecture which already permitted the context-aware detection and notification of relevant data. For this purpose, we have defined and implemented a microservice-based architecture which provides real-time context-aware actions based on predictive streaming processing of data. As a result, our architecture has been enhanced twofold: on the one hand, the architecture has been supplied with reliable predictions through the use of predictive analytics and complex event processing techniques, which permit the notification of relevant context-aware information ahead of time. On the other, it has been refactored towards a microservice architecture pattern, highly improving its maintenance and evolution. The architecture performance has been evaluated with an air quality case study
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
Domain Objects and Microservices for Systems Development: a roadmap
This paper discusses a roadmap to investigate Domain Objects being an
adequate formalism to capture the peculiarity of microservice architecture, and
to support Software development since the early stages. It provides a survey of
both Microservices and Domain Objects, and it discusses plans and reflections
on how to investigate whether a modeling approach suited to adaptable
service-based components can also be applied with success to the microservice
scenario
Microservice Architecture Suitability for Contemporary Software Development
The objective of the thesis was to assess how well microservice architecture suits contemporary software development. Assessment is done through both technical and organizational lens’. The purpose was to implement a microservice for a customer of Futurice. The customer required a solution which would enable customer’s in-house service to integrate to a 3rd party service.
The bachelor thesis is primarily a case study. Conclusions are based on observations during the project as well as literature sources.
Microservice architecture provides solutions issues commonly identified in large projects. Incrementally adopting new technologies, maintaining, scaling and quick development cycle is easier to achieve with microservice architecture, than with monolithic architecture. Microservice architecture makes testing more complicated and introduces complexity to system operations. To make full use of microservice architecture, organizations must be able to answer the challenges it presents.
Despite added complexity, microservice architecture overall provides relief to issues identified in web application development. It should be a default choice for medium to large projects. For smaller projects, it is be advised to assess the benefits and trade-offs of microservices case by case.Opinnäytetyön tavoite oli selvittää mikropalveluarkkitehtuurin soveltuvuus nykyaikaiseen sovellusten kehitykseen kehittäjäkokemus ja organisaatio huomioiden. Tarkoitus oli toteuttaa Futurice Oy:n asiakkaalle mikropalvelu helpottamaan asiakkaan sisäisen ja kolmannen osapuolen palvelun välistä integraatiota. Opinnäytetyö on ensisijaisesti tapaustutkimus. Päätelmät nojautuvat asiakastyössä tehtyihin havaintoihin sekä kirjallisuuslähteisiin.
Mikropalveluarkkitehtuuri helpottaa erityisesti suurten projektien tyypillisiä ongelmia. Uusien teknologioiden asteittainen käyttöönotto, ohjelmiston ylläpidettävyys, skaalautuvuus ja nopea kehityssykli on helpompi saavuttaa mikropalveluarkkitehtuurilla, kuin monoliittisella arkkitehtuurilla. Mikropalveluarkkitehtuuri hankaloittaa testausta ja luo monimutkaisuutta. Saadakseen kaiken hyödyn irti mikropalveluista organisaatioiden on pystyttävä vastaamaan sen tuomiin haasteisiin.
Tuomistaan haasteista huolimatta mikropalveluarkkitehtuuri helpottaa verkkopalveluiden kehittämisessä ilmeneviä ongelmia. Se on lähtökohtaisesti suositeltava arkkitehtuuri keskikokoisille ja suurille verkkopalveluille. Pienempien palveluiden kohdalla on hyvä arvioida tapauskohtaisesti, onko projekti tarpeeksi laaja, jotta se hyötyy mikropalveluarkkitehtuurin tuomista hyödyistä
- …