Microservicios: marcos de código aberto e arquitectura de software

Microservicios: unha arquitectura de software moderna

Microservicios: unha arquitectura de software moderna

Seguindo con o tema da evolución e os cambios nos paradigmas e métodos de traballo aconteceu na área de desenvolvemento de software, que recentemente tocamos nos artigos chamados "Desenvolvemento de software: unha revisión histórica ata os nosos días", "Interoperabilidade a través da nube: como conseguilo?" y "XaaS: Cloud Computing - Todo como servizo", hoxe falaremos de Microservizos.

Os microservizos son unha arquitectura de software moderna, non unha API (Interface de programación de aplicacións) ou unha tecnoloxía en si, que se pode instalar e usar. As arquitecturas de software, tamén coñecidas como patróns de software, son completamente alleas ás linguaxes de programación, xa que só establecen o xeito no que deben funcionar as tecnoloxías e non como se implementan.

Microservicios: Introdución

Introdución

Os microservizos pódense ver como unha evolución da SOA Architecture (Service-Oriented Architecture), que guía aos desenvolvedores a crear aplicacións máis modulares, que sexan funcionais e autónomas, cunha alta capacidade para ser reutilizadas dun xeito eficiente, como se fai dun xeito similar, cando optimizamos o uso dalgún hardware, no que Só desprega o que realmente é necesario, en vez de despregar todo o seu potencial innecesariamente.

A arquitectura dos microservizos, na práctica non se fixo tan masivo como na teoría, é dicir, é máis coñecido que usado. Non obstante, cada día máis, moitos desenvolvedores están a implementalo porque é un modelo de desenvolvemento de software que mellora as variables de tempo, rendemento e estabilidade dentro dos proxectos onde se aplica. Ademais, a súa escalabilidade asociada sinxela faino especialmente axeitado nos desenvolvementos onde a compatibilidade multiplataforma (web, móbil, portátiles, IoT) é esencial.

Microservicios: Esquema de traballo

Pero mentres que SOA é unha arquitectura de nivel superioré dicir, unha arquitectura onde se constrúen aplicacións baseadas en servizos, onde un servizo é a unidade de traballo máis pequena e funcional dentro dunha aplicación creada, Arquitectura de microservizos tamén permítenos crear servizos, pero estes servizos están deseñados dun xeito moi pequeno e específico para que cumpran unha funcionalidade moi precisa e puntual, de tal xeito que se poden desacoplar do resto de aplicacións e funcionar dun xeito totalmente autónomo do resto da aplicación onde foi creada.

Microservicios: que son e que son?

Que son as arquitecturas de software (patróns)?

Para comprender ben a arquitectura de software de microservizos, é bo saber un pouco sobre todas as arquitecturas de software existentes máis coñecidas. Hai moitas existentes, como se pode ver no sitio web de Oodiseño ou simplemente en Wikipedia, pero segundo o famoso libro chamado "Libro de deseño de patróns" (Libro de patróns de deseño) os patróns existentes pódense clasificar como:

Creacionais

Aqueles que tratan xeitos de instanciar obxectos e cuxo obxectivo é abstraer o proceso de instanciación e ocultar os detalles de como se crean ou inicializan os obxectos. Nesta clase están os seguintes:

  • Fábrica abstracta
  • Constructor
  • Método de fábrica
  • Prototipo
  • O único

Estrutural

As que describen como se poden combinar clases e obxectos (simples ou compostos) para formar grandes estruturas e proporcionar novas funcionalidades. Nesta clase están os seguintes:

  • adaptador
  • Ponte
  • Composto
  • Decorador
  • Fachada
  • Peso mosca
  • Procuração

Comportamento

Aqueles que nos axudan a definir a comunicación e a iteración entre os obxectos dun sistema. O propósito deste patrón é reducir o acoplamento entre obxectos. Nesta clase están os seguintes:

  • Cadea de Responsabilidade
  • Mando
  • Intérprete
  • Iterador
  • Mediador
  • Memento
  • Observador
  • estado
  • estratexia
  • Método de modelo
  • Convidado

outros

Os patróns de deseño anteriores expresaron esquemas que definen estruturas de deseño coas que construír sistemas de software. Pero cando queremos expresar mellor un esquema organizativo e estrutural fundamental para os sistemas de software creados, normalmente atopamos esta outra clasificación:

  • Arquitectura de lousa
  • DAO: obxecto de acceso a datos
  • DTO: obxecto de transferencia de datos
  • EDA: Event Driven Architecture
  • invocación implícita
  • Obxectos espidos
  • Programación en capas
  • Entre iguais
  • Oleoduto
  • SOA: Arquitectura orientada ao servizo
  • Tres niveis

Tamén hai o "Modelo de visualización do controlador" que é ben coñecido e usado, e divídese en:

  • Modelo / Vista / Controlador
  • Modelo / Vista / Presentador
  • Modelo / Vista / Presentador con Model Presenter
  • Modelo / Ver / Ver-Modelo
  • Modelo / Vista / Presentador con Vista Pasiva
  • Modelo / Vista / Presentador con Controlador Supervisor

Ser o "Modelo de vista do controlador" un dos máis coñecidos e implementados na actualidade, é insuficiente proporcionar as funcionalidades requiridas a unha aplicación corporativa, e esta é unha das principais razóns polas que, Microservices Architecture está substituíndo o Model-View-Controller (MVC).

Microservicios: vantaxes

Vantaxes da arquitectura de microservizos

Cando unha plataforma web utiliza a Microservices Architecture, normalmente ten as seguintes vantaxes:

  • Resolve facilmente cada problema ou problema presentado dirixíndose a cada pequeno Microservicio implicado nunha situación específica.
  • Para mitigar Fallos xerais ou globais dos servizos, xa que cando falla un Microservicio non afecta aos demais, porque son totalmente independentes.
  • Para aliviar o lanzamento e incorporación de funcións ou servizos completos ou específicos, xa que cada Microservicio pódese engadir ou eliminar e actualizar por separado e progresivamente.
  • Para mellorar acceso a aplicacións ou servizos creados desde todo tipo de dispositivos e plataformas.
  • Aumento a versatilidade da plataforma, xa que os microservizos poden distribuírse en diferentes servidores e escribirse en diferentes idiomas.

Microservizos: Marcos

Marco de código aberto

Hai moitos opcións de código aberto que os desenvolvedores de software poden empregar para desenvolver solucións que forman parte de Microservices Architectures. Especificamente para Java, que é unha tecnoloxía moi utilizada para iso, hai os seguintes:

Microservizos: Webs

Exemplos web con arquitecturas de microservizos

Entre o gran número de sitios web que proporcionan servizos de aplicacións a gran escala e que implementaron progresivamente a Microservices Architecture para mellorar o mantemento e a escalabilidade da súa plataforma de servizos e produtos, facéndoa sinxela, eficaz e rápida, podemos mencionar tres principais da industria Que son:

  • Amazonas
  • Ebay
  • Netflix

Microservicios: conclusión

Conclusión

Está claro que Os microservizos contribúen moito ao desenvolvemento moderno de software baseado na webPero tamén significan afrontar moitos novos retos por resolver. Problemas que non só teñen que ver coa aprendizaxe e o traballo eficientes do Marco, senón tamén como se complementan e implementan estes novos desenvolvementos nos departamentos de TI, que ao final son os que os poñen en liña e xestionan e teñen un voto de peso nas decisións finais sobre cada desenvolvemento. Pero Esta Arquitectura está aquí e chegou a permanecer por moito tempo.


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

Sexa o primeiro en opinar sobre

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.