Si hablamos de javascript del lado del servidor, todos pensamos en Node, pero lo cierto es que prácticamente nadie utiliza Node puro. Lo más habitual es acompañar a Node con otros frameworks que nos faciliten la tarea, como Express o Loopback. Si bien estos frameworks son estupendos, no promueven un código mantenible ni aplican patrones, como la inyección dependencias, que convenza a los desarrolladores enamorados de paradigmas como Java o .NET. NestJS es un nuevo framework para el desarrollo de backends basados en Node que convencerá, por fin, a los más vetustos developers. Talk is cheap...
Soft Introduction to Google's framework for taming containers in the cloud. For devs and architects that they just enter the world of cloud, microservices and containers
Learn all about microservices from Product Marketing Manager Dan Giordano. We'll cover how to get started, the benefits, potential challenges, and how SmartBear can help.
Soft Introduction to Google's framework for taming containers in the cloud. For devs and architects that they just enter the world of cloud, microservices and containers
Learn all about microservices from Product Marketing Manager Dan Giordano. We'll cover how to get started, the benefits, potential challenges, and how SmartBear can help.
Are you trying to change your company IT Department's persistence paradigm from OOP => RDBMS to OOP => NoSQLDb? Want to benefit of DDD+CQRS+EVS in your enterprise-class distributed application but don't know where to start?
Look at this...
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
This is a deep journey into the realm of "microservice architecture", and in that I will try to cover each inch of it, but with a fixed tech stack of Java with Spring Cloud. Hence in the end, you will be get know each and every aspect of this distributed design, and will develop an understanding of each and every concern regarding distributed system construct.
Ansible is tool for Configuration Management. The big difference to Chef and Puppet is, that Ansible doesn't need a Master and doesn't need a special client on the servers. It works completely via SSH and the configuration is done in Yaml.
These slides give a short introduction & motivation for Ansible.
Mariusz Richtscheid: Masz już dosyć swojego monolitu? Rozważasz rozbicie go na mikroserwisy? Nie tak prędko. Zanim zaczniesz zmieniać architekturę, warto dowiedzieć się jakie problemy się z tym wiążą. Na szczęście większość bolączek można rozwiązać stosując odpowiednie wzorce i techniki, których część zostanie omówiona w trakcie prezentacji.
SlideTeam presents Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide Templates. This PPT slideshow is an ideal virtual expression of the fundamentals of Kubernetes. The smart data-visualizations make this PowerPoint presentation easy-to-understand and perfect to introduce your audience to the container orchestration system. Use our PPT theme to communicate the definition and need for containers or virtual private servers. Communicate the container, and microservices architecture using cutting-edge graphics. Explain the need for and benefits of Kubernetes for an organization. Elucidate the features, architecture, use cases, installation roadmap, and the 30-60-90 day plan in Kubernetes. Use the neat tabular format to compare Kubernetes with docker swarm based on various parameters. Familiarize your viewers with the various components of Kubernetes. Elaborate on what is Kubelet, Kubectl, and Kubeadm with the help of labeled diagrams. This presentation acquaints your audience with the significance of Kubernetes in management, scaling, automating, and deploying computer applications. Hit the download icon and start personalization. https://bit.ly/2L0Ojdu
An introduction to docker; the concepts; how to use it and why. The presentation is mainly based on the following presentation by docker, but with added info about Docker Compose and Docker Swarm.
https://www.slideshare.net/Docker/docker-101-nov-2016
#container #docker #Trifork #TriforkSelected #GotoConf
Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of software development process, with continuous integration and facilitating technical aspects of continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat.
Introduction to Jenkins and how to effectively apply Jenkins to your projects.
Jenkins Growth , Companies using Jenkins , Most downloaded and Used Plugins.
Case Study: Migrating Hyperic from EJB to Spring from JBoss to Apache TomcatVMware Hyperic
Jennifer Hickey of SpringSource's Case Study of the results from Hyperic's recent migration from EJB to Spring. From the 2010 SpringOne 2GX conference.
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share best practices (including ones followed internally at Amazon) and how you can bring them to your company by using open source and AWS services.
Speaker: Raghuraman Balachandran, Solutions Architect, Amazon India
YouTube Link: https://youtu.be/xuH81XGWeGQ
** Microservices Architecture Training: https://www.edureka.co/microservices-architecture-training**
This Edureka's PPT on Microservices Design Patterns talks about the top design patterns you can use to build applications.
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
¿Estás cansado de que los noderos te culpen de que tu WAR ocupe 200Mb?
¿Sientes que para usar Docker y Kubernetes tienes que ir a morir a Node o Python, porque Java esta 'viejo'?
¿Crees que no puedes usar en cloud la plataforma que amas?
En esta charla introduciremos Quarkus.io, un nuevo framework pensado para trabajar directamente sobre Kubernetes y Java, que usa por debajo GraalVM. Tus empaquetados pasarán de 218 a 35Mb, y el arranque de tu aplicación de 10 a 0.055 segundos! y contaremos nuestra experiencia desarrollando con Quarkus.
¿Quién responde sobre seguridad en el cloud? Debería estar claro, pero la realidad es otra. Hay debate sobre qué es responsabilidad del proveedor del Cloud y qué es responsabilidad de los desarrolladores. Si a esta divergencia añadimos el hecho de que las técnicas de seguridad clásica no son válidas (o al menos, no eficaces) en entornos dockerizados, tenemos un coctel mortal, que los amigos de lo ajeno están explotando a diario y con mucho éxito. En esta charla debatiremos sobre la responsabilidad de cada uno de los actores. Veremos los nuevos ataques, y cómo podemos protegernos de ellos
Are you trying to change your company IT Department's persistence paradigm from OOP => RDBMS to OOP => NoSQLDb? Want to benefit of DDD+CQRS+EVS in your enterprise-class distributed application but don't know where to start?
Look at this...
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
This is a deep journey into the realm of "microservice architecture", and in that I will try to cover each inch of it, but with a fixed tech stack of Java with Spring Cloud. Hence in the end, you will be get know each and every aspect of this distributed design, and will develop an understanding of each and every concern regarding distributed system construct.
Ansible is tool for Configuration Management. The big difference to Chef and Puppet is, that Ansible doesn't need a Master and doesn't need a special client on the servers. It works completely via SSH and the configuration is done in Yaml.
These slides give a short introduction & motivation for Ansible.
Mariusz Richtscheid: Masz już dosyć swojego monolitu? Rozważasz rozbicie go na mikroserwisy? Nie tak prędko. Zanim zaczniesz zmieniać architekturę, warto dowiedzieć się jakie problemy się z tym wiążą. Na szczęście większość bolączek można rozwiązać stosując odpowiednie wzorce i techniki, których część zostanie omówiona w trakcie prezentacji.
SlideTeam presents Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide Templates. This PPT slideshow is an ideal virtual expression of the fundamentals of Kubernetes. The smart data-visualizations make this PowerPoint presentation easy-to-understand and perfect to introduce your audience to the container orchestration system. Use our PPT theme to communicate the definition and need for containers or virtual private servers. Communicate the container, and microservices architecture using cutting-edge graphics. Explain the need for and benefits of Kubernetes for an organization. Elucidate the features, architecture, use cases, installation roadmap, and the 30-60-90 day plan in Kubernetes. Use the neat tabular format to compare Kubernetes with docker swarm based on various parameters. Familiarize your viewers with the various components of Kubernetes. Elaborate on what is Kubelet, Kubectl, and Kubeadm with the help of labeled diagrams. This presentation acquaints your audience with the significance of Kubernetes in management, scaling, automating, and deploying computer applications. Hit the download icon and start personalization. https://bit.ly/2L0Ojdu
An introduction to docker; the concepts; how to use it and why. The presentation is mainly based on the following presentation by docker, but with added info about Docker Compose and Docker Swarm.
https://www.slideshare.net/Docker/docker-101-nov-2016
#container #docker #Trifork #TriforkSelected #GotoConf
Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of software development process, with continuous integration and facilitating technical aspects of continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat.
Introduction to Jenkins and how to effectively apply Jenkins to your projects.
Jenkins Growth , Companies using Jenkins , Most downloaded and Used Plugins.
Case Study: Migrating Hyperic from EJB to Spring from JBoss to Apache TomcatVMware Hyperic
Jennifer Hickey of SpringSource's Case Study of the results from Hyperic's recent migration from EJB to Spring. From the 2010 SpringOne 2GX conference.
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share best practices (including ones followed internally at Amazon) and how you can bring them to your company by using open source and AWS services.
Speaker: Raghuraman Balachandran, Solutions Architect, Amazon India
YouTube Link: https://youtu.be/xuH81XGWeGQ
** Microservices Architecture Training: https://www.edureka.co/microservices-architecture-training**
This Edureka's PPT on Microservices Design Patterns talks about the top design patterns you can use to build applications.
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
¿Estás cansado de que los noderos te culpen de que tu WAR ocupe 200Mb?
¿Sientes que para usar Docker y Kubernetes tienes que ir a morir a Node o Python, porque Java esta 'viejo'?
¿Crees que no puedes usar en cloud la plataforma que amas?
En esta charla introduciremos Quarkus.io, un nuevo framework pensado para trabajar directamente sobre Kubernetes y Java, que usa por debajo GraalVM. Tus empaquetados pasarán de 218 a 35Mb, y el arranque de tu aplicación de 10 a 0.055 segundos! y contaremos nuestra experiencia desarrollando con Quarkus.
¿Quién responde sobre seguridad en el cloud? Debería estar claro, pero la realidad es otra. Hay debate sobre qué es responsabilidad del proveedor del Cloud y qué es responsabilidad de los desarrolladores. Si a esta divergencia añadimos el hecho de que las técnicas de seguridad clásica no son válidas (o al menos, no eficaces) en entornos dockerizados, tenemos un coctel mortal, que los amigos de lo ajeno están explotando a diario y con mucho éxito. En esta charla debatiremos sobre la responsabilidad de cada uno de los actores. Veremos los nuevos ataques, y cómo podemos protegernos de ellos
El desarrollo de modelos basados en Machine Learning con Python son caros, temporal y computacionalmente hablando. Reducir el tiempo (y la CPU!) invertido en desarrollar un modelo de Machine Learning es importante, especialmente si usamos entornos cloud como AWS.
En esta charla introduciremos cómo funciona a alto un modelo de Machine Learning y las fases por las que pasa para llegar a ser un modelo en producción. Posteriormente, introduciremos GraalVM, la nueva máquina virtual del ecosistema Java que es capaz de ejecutar código en Python y R mejorando considerablemente su rendimiento.
No nos hagamos los locos, la seguridad no solo depende de los 'security-guys'. Desde luego, el equipo de seguridad es fundamental, pero su vida será menos infernal si el software que tienen que proteger es más seguro.
Los desarrolladores tenemos nuestra parte de responsabilidad en esto también. No podemos ponernos de lado. Tenemos que hacer lo que mejor se nos da, mejorar nuestros procesos para que nuestros desarrollos sean más seguros.
En esta charla veremos en qué consiste el ciclo de DevSecOps, sus herramientas y sus mejores prácticas.
¡Y es que nuestro código no puede ser el eslabón más débil!
Webinar: https://www.youtube.com/watch?v=0Fw-J2dIGfE
Blog post: https://www.iti.es/blog/ciberseguridad-en-el-cloud-y-es-que-eso-no-puede-hacerlo-otro/
Es posible que estés leyendo esto mientras piensas “¿es que la ciberseguridad en el Cloud no la hace ya otro?”. Si ese es el caso, te recomiendo que continúes leyendo este artículo, porque seguro que te van a sorprender muchas cosas.
La tierra prometida del Cloud nos ha hecho creer que no tenemos que preocuparnos de muchas cosas de las que antes si que nos preocupábamos, como por ejemplo “cosas de sistemas” o “cosas de redes” pero… ¿que hay de las “cosas de seguridad”?
Codemotion 2020 - Big Data en Ciberseguridad: mejor morir de pie que vivir ar...Francisco Javier Barrena
Todos los días despertamos con noticias sobre ataques que sufren las empresas. Este auge de ciberdelincuencia ha convertido a Internet en el Chicago de los años 30, en el Gotham de antes de que Bruce Wayne se convirtiera en Batman En esta charla veremos qué problemas nuevos enfrentamos los equipos de seguridad, y qué nuevas estrategias y herramientas podemos implantar para hacer frente a las amenazas, más reales que nunca, a las que nos enfrentamos. Y es que prefiero morir de pie, que vivir arrodillado.
Llevamos unos años de transición hacia el cloud. Esto significa un gran volumen de negocio en movimiento, que los grandes de internet (Amazon, Google, Microsoft, IBM…) quieren captar a casi cualquier precio. En esta batalla encarnizada por nuestro software, empezamos perdiendo los developers… si elegíamos un proveedor de Cloud y luego queríamos cambiar a otro era a costa de nuestro sudor y de nuestra sangre.
Afortunadamente para nosotros, uno de estos Big Players estaba perdiendo la guerra: Google. El mercado del Cloud estaba repartiéndose desigualmente a favor de Amazon (principalmente) y Azure (Microsoft). Google Cloud no terminaba de despegar, y eso hizo que Google se replanteara su estrategia. En lugar de competir como proveedor de Cloud, iba a hacer un movimiento que siempre le había dado resultado: pensar en los developers. Así surgió Kubernetes, un sistema Open Source para automatizar el despliegue automático de aplicaciones, su escalado y que nos ayuda a gestionar las aplicaciones basadas en contenedores.
Hoy en día, Kubernetes es el estándar de facto. Todos los proveedores Cloud (Amazon, Azure, Google Cloud, Bluemix…) implementan Kubernetes. Ahora los desarrolladores tienen el poder de cambiar de proveedor sin demasiado dolor. Además, Kubernetes ha favorecido la aparición de nuevos paradigmas y herramientas para la gestión automatizada de aplicaciones escalables basadas en Cloud, como por ejemplo el concepto de Infraestructure as a Code, implementado por Terraform.io
En este seminario introduciremos Kubernetes, veremos sus puntos más interesantes y guiaremos a los asistentes a través de un ejemplo basado en un proyecto real.
¿Te preocupa que tus datos personales los tenga la CIA, el FBI y Putin?
¿Te has cambiado tu Huawei por que le pasa la biometría de tu cara al gobierno Chino?
¿Pasas de Chrome en favor de Brave por que te preocupa tu privacidad?
¿Pagas 20 pavos al mes por usar una VPN privada que difumine tu rastro por la red?
¿Crees que Trump hace muy bien baneando TikTok de los USA?
Pues igual deberías empezar a preocuparte también por la privacidad de otras cosas que te interesan… como tus servidores, por ejemplo.
En esta charla repasaremos las técnicas de extracción de datos más bizarras que hemos encontrado, y veremos cómo ninguno de nosotros, ni de nuestros servidores, está a salvo de la automatización.
Cybercamp 2014. Tinfoleak: Analizando nuestras pautas y comportamientos a tr...Internet Security Auditors
Cybercamp: evento organizado por INCIBE (Instituto Nacional de CIberseguridad). Se presenta una nueva versión de la herramienta OSINT Tinfoleak, que permite extraer información detallada sobre la actividad de un usuario en Twitter, mostrando nuevas funcionalidades que permiten ampliar el análisis de la información disponible. Dicha información resulta de gran utilidad en distintos ámbitos: ingeniería social, pentesting y vigilancia digital. La ponencia tiene como objeto hacer visible, de forma práctica, el nivel de exposición de nuestras vidas en las redes sociales, y el abuso que puede realizarse de dicha exposición pública que, en la mayoría de casos, su alcance es totalmente desconocido por el usuario.
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioDavid Gil Sánchez
Para todos aquellos interesados en conocer la implantación de Drupal como Gestor de Contenidos en sectores críticos presentaremos la implantación de Drupal como gestor de contenidos del conjunto de portales de Banca Cívica, uno de los grandes grupos bancarios españoles.
Esta sesión se centrará en explicar el proceso seguido para realizar la construcción de los diferentes sites que componen la presencia online de Banca Cívica, centrándonos en los aspectos más técnicos del proyecto: Infraestructura utilizada, módulos utilizados, solución multi-idioma, procesos de paso entre entornos, buenas prácticas técnicas aprendidas, etc…
Mostraremos el porque de nuestras decisiones técnicas: panels o context, como usamos features, como usamos drush, cuando hemos requerido de paradas de autoría, etc…
La ética, la #privacidad digital y la #ciberseguridad, están cobrando gran relevancia, y son una de las principales #tendenciastecnológicas de hoy y del futuro, asegurando un entorno confiable para gobiernos, empresas y personas.
Aparentemente, de la nada aparece Rust. Toda persona que lo toca, lo ama, y se convierte en un acólita y férrea defensora, pero ¿porque? ¿Porqué Facebook, AWS, Microsoft y todos los grandes se han metido en la Rust Foundation? En esta charla veremos qué es Rust, que aporta nuevo respecto al resto de lenguajes, y cuales son sus casos de uso más interesantes. También os contaremos porqué hemos elegido Rust como lenguaje de referencia para los desarrollos de software complejos, os enseñaremos cómo lo usamos y qué utilidades nos funcionan mejor. Lo tenemos claro. Este es el camino.
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaAMADO SALVADOR
Descubra el catálogo completo de buzones BTV, una marca líder en la fabricación de buzones y cajas fuertes para los sectores de ferretería, bricolaje y seguridad. Como distribuidor oficial de BTV, Amado Salvador se enorgullece de presentar esta amplia selección de productos diseñados para satisfacer las necesidades de seguridad y funcionalidad en cualquier entorno.
Descubra una variedad de buzones residenciales, comerciales y corporativos, cada uno construido con los más altos estándares de calidad y durabilidad. Desde modelos clásicos hasta diseños modernos, los buzones BTV ofrecen una combinación perfecta de estilo y resistencia, garantizando la protección de su correspondencia en todo momento.
Amado Salvador, se compromete a ofrecer productos de primera clase respaldados por un servicio excepcional al cliente. Como distribuidor oficial de BTV, entendemos la importancia de la seguridad y la tranquilidad para nuestros clientes. Por eso, trabajamos en colaboración con BTV para brindarle acceso a los mejores productos del mercado.
Explore el catálogo de buzones ahora y encuentre la solución perfecta para sus necesidades de correo y seguridad. Confíe en Amado Salvador y BTV para proporcionarle buzones de calidad excepcional que cumplan y superen sus expectativas.
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaAMADO SALVADOR
Descubre el catálogo general de la gama de productos de refrigeración del fabricante de electrodomésticos Miele, presentado por Amado Salvador distribuidor oficial Miele en Valencia. Como distribuidor oficial de electrodomésticos Miele, Amado Salvador ofrece una amplia selección de refrigeradores, congeladores y soluciones de refrigeración de alta calidad, resistencia y diseño superior de esta marca.
La gama de productos de Miele se caracteriza por su innovación tecnológica y eficiencia energética, garantizando que cada electrodoméstico no solo cumpla con las expectativas, sino que las supere. Los refrigeradores Miele están diseñados para ofrecer un rendimiento óptimo y una conservación perfecta de los alimentos, con características avanzadas como la tecnología de enfriamiento Dynamic Cooling, sistemas de almacenamiento flexible y acabados premium.
En este catálogo, encontrarás detalles sobre los distintos modelos de refrigeradores y congeladores Miele, incluyendo sus especificaciones técnicas, características destacadas y beneficios para el usuario. Amado Salvador, como distribuidor oficial de electrodomésticos Miele, garantiza que todos los productos cumplen con los más altos estándares de calidad y durabilidad.
Explora el catálogo completo y encuentra el refrigerador Miele perfecto para tu hogar con Amado Salvador, el distribuidor oficial de electrodomésticos Miele.
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaAMADO SALVADOR
Distribuidor Oficial Ariston en Valencia: Amado Salvador distribuidor autorizado de Ariston, una marca líder en soluciones de calefacción y agua caliente sanitaria. Amado Salvador pone a tu disposición el catálogo completo de Ariston, encontrarás una amplia gama de productos diseñados para satisfacer las necesidades de hogares y empresas.
Calderas de condensación: Ofrecemos calderas de alta eficiencia energética que aprovechan al máximo el calor residual. Estas calderas Ariston son ideales para reducir el consumo de gas y minimizar las emisiones de CO2.
Bombas de calor: Las bombas de calor Ariston son una opción sostenible para la producción de agua caliente. Utilizan energía renovable del aire o el suelo para calentar el agua, lo que las convierte en una alternativa ecológica.
Termos eléctricos: Los termos eléctricos, como el modelo VELIS TECH DRY (sustito de los modelos Duo de Fleck), ofrecen diseño moderno y conectividad WIFI. Son ideales para hogares donde se necesita agua caliente de forma rápida y eficiente.
Aerotermia: Si buscas una solución aún más sostenible, considera la aerotermia. Esta tecnología extrae energía del aire exterior para calentar tu hogar y agua. Además, puede ser elegible para subvenciones locales.
Amado Salvador es el distribuidor oficial de Ariston en Valencia. Explora el catálogo y descubre cómo mejorar la comodidad y la eficiencia en tu hogar o negocio.
En este documento analizamos ciertos conceptos relacionados con la ficha 1 y 2. Y concluimos, dando el porque es importante desarrollar nuestras habilidades de pensamiento.
Sara Sofia Bedoya Montezuma.
9-1.
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...AMADO SALVADOR
El catálogo general de electrodomésticos Teka presenta una amplia gama de productos de alta calidad y diseño innovador. Como distribuidor oficial Teka, Amado Salvador ofrece soluciones en electrodomésticos Teka que destacan por su tecnología avanzada y durabilidad. Este catálogo incluye una selección exhaustiva de productos Teka que cumplen con los más altos estándares del mercado, consolidando a Amado Salvador como el distribuidor oficial Teka.
Explora las diversas categorías de electrodomésticos Teka en este catálogo, cada una diseñada para satisfacer las necesidades de cualquier hogar. Amado Salvador, como distribuidor oficial Teka, garantiza que cada producto de Teka se distingue por su excelente calidad y diseño moderno.
Amado Salvador, distribuidor oficial Teka en Valencia. La calidad y el diseño de los electrodomésticos Teka se reflejan en cada página del catálogo, ofreciendo opciones que van desde hornos, placas de cocina, campanas extractoras hasta frigoríficos y lavavajillas. Este catálogo es una herramienta esencial para inspirarse y encontrar electrodomésticos de alta calidad que se adaptan a cualquier proyecto de diseño.
En Amado Salvador somos distribuidor oficial Teka en Valencia y ponemos atu disposición acceso directo a los mejores productos de Teka. Explora este catálogo y encuentra la inspiración y los electrodomésticos necesarios para equipar tu hogar con la garantía y calidad que solo un distribuidor oficial Teka puede ofrecer.
NestJS: Backends en Node para Javeros y Puntoneteros
1. Backends en Node
para Javeros y
Puntoneteros
Francisco Javier Barrena Castillo - @DogDeveloper
2. Who’s that guy
Francisco Javier Barrena Castillo - @DogDeveloper
• Director de Innovación en Ingeniería del Software en
Instituto Tecnológico de Informática @ITI_TIC
• 7 años con proyectos comerciales
• Actualmente en proyectos de I+D
• Big Data, Machine Learning, Cloud Computing, Cyber Physical
Systems, Embedded Systems…
• Ex-CTO en www.onlyeco.com
• Buscador de viajes ecosostenibles
• Actualmente EcoDeveloper Advocate
• Formador y ponente (¡cuando me dejan! :D)
https://www.linkedin.com/in/fjbarrena
11. Y es que al ecosistema node le falta un ‘hervor’
• Node es una tecnología habilitadora
• La comunidad se dio pronto cuenta de que Node aportaba cosas nuevas
• Pero le faltan (¿faltaban?) años para conseguir el nivel de madurez de su
competencia
• ¿Dónde triunfó inicialmente Node?
• En prototipado rápido
• Los frameworks que surgieron mejoraron las cosas, pero seguían estando
demasiado cerca del ‘hierro’
• Express, Loopback, Sails
• Ninguno resolvía los grandes problemas…
Francisco Javier Barrena Castillo - @DogDeveloper
12.
13. Y es que al ecosistema node le falta un ‘hervor’
• Node es una tecnología habilitadora
• La comunidad se dio pronto cuenta de que Node aportaba cosas nuevas
• Pero le faltan (¿faltaban?) años para conseguir el nivel de madurez de su
competencia
• ¿Dónde triunfó inicialmente Node?
• En prototipado rápido
• Los frameworks que surgieron mejoraron las cosas, pero seguían estando
demasiado cerca del ‘hierro’
• Express, Loopback, Sails
• Ninguno resolvía los grandes problemas…
Francisco Javier Barrena Castillo - @DogDeveloper
17. Nest – una solución posible
• Nest es un framework de desarrollo en TypeScript con todo lo que nos
gusta
• ORMs
• ‘Razonablemente’ tipado
• Guiado por anotaciones
• Orientado a
• Objetos
• Funcional
• Reactiva
• Modular
• Testeable
• Dependency Injection
Francisco Javier Barrena Castillo - @DogDeveloper
19. Nest – una solución posible
• Está construido sobre Express
• Eso nos permite usar cualquier librería existente para Express
• Se centra en la arquitectura
• Que implementa buenos patrones de diseño
• Con una comunidad creciente
• Y nacido en libertad
Francisco Javier Barrena Castillo - @DogDeveloper
22. El origen del poder
•La industria es poderosa
•Pero no es el origen del poder
•El origen del poder es de los developers
•La industria tiene el dinero
•Nosotros y nosotras tenemos todo lo demás
•Loopback, Sails, Meteor o quien venga no son nadie
sin nuestra aprobación
Francisco Javier Barrena Castillo - @DogDeveloper
23.
24. Si los developers estornudamos…
• Si los developers estornudamos, la industria se resfría
• Y los developers teníamos un problema…
• Los frameworks de back-end en Node no fomentaban la mantenibilidad del código
• Ni la arquitectura
• Y aquellos que se acercaban, nos intentaban atrapar anclándonos a sus modelos de
funcionamiento
• Así que empezamos a buscar alternativas basadas en estándares
• La solución es siempre tender a los estándares
• Y ha surgido Nest, que permite a la comunidad desarrollar backends
basados en Node bien estructurados, basados en estándares y buenas
prácticas.
• Tanto es así, que algunos players han empezado a copiar a Nest
Francisco Javier Barrena Castillo - @DogDeveloper
25.
26. Breve introducción a nest
• Fuertemente influenciado por Angular
• Async by default
• Basado en módulos
• Inyección de dependencias (por constructor o a través de anotaciones)
• Fácilmente integrable con
• TypeORM
• Passport
• Mongoose
• GraphQL
• Websockets
• Microservices (Redis, MQTT, RabbitMQ…)
• Swagger
Francisco Javier Barrena Castillo - @DogDeveloper
27. Conceptos importantes
• Modules
• Equivalente a los packages de JAVA o a los namespaces de .NET
• Providers
• Servicios y DAOs. Equivalente a @Repository o a @Service en Spring
• Controllers
• Clase que maneja los endpoints, equivalente a JAX-RS en JAVA por ejemplo
• Guards
• Permiten aplicar reglas de seguridad a endpoints
• Interceptors
• Similar a Aspect Oriented Programming (AOP)
Francisco Javier Barrena Castillo - @DogDeveloper
30. module
Francisco Javier Barrena Castillo - @DogDeveloper
Servicios
Daos
importación de módulos de terceros
endpoints
Siguenelpatrónsingleton
31. Arranque del servidor – main.ts
• Quien ‘orquesta’ el startup del servidor es el fichero main.ts
• Esto es genial porque:
• Podemos hacer cosas antes de que arranque el servidor
• Y también después
• Pero sobre todo, nos facilita enormemente tareas como:
• Integración con Dockers
• Despliegues en Kubernetes, etc.
• Procesos de Integración Contínua
• Un main.ts básico podría ser el siguiente
Francisco Javier Barrena Castillo - @DogDeveloper
33. Y a partir de ahí…
Francisco Javier Barrena Castillo - @DogDeveloper
34. Feel like a mage…
12 de junio de 2018 www.vlcsofting.es
Nestcli – scaffolding
35. Los genéricos
• Algo muy interesante es el uso de genéricos
• Al estar basado enTypeScript, podemos utilizar toda la potencia de un
lenguaje orientado a objetos
• Podemos implementar controladores base, de los que extenderán los
controladores finales, con muy poco código
Francisco Javier Barrena Castillo - @DogDeveloper
36. Para los javeros: un dao genérico
Francisco Javier Barrena Castillo - @DogDeveloper
37. Para los javeros: un dao genérico
Francisco Javier Barrena Castillo - @DogDeveloper
38. Para los javeros: un dao genérico
Francisco Javier Barrena Castillo - @DogDeveloper
39. Para los javeros: un dao genérico
Francisco Javier Barrena Castillo - @DogDeveloper
40. Y ahora la clase que lo extiende
Francisco Javier Barrena Castillo - @DogDeveloper
41. Feel like a mage…
12 de junio de 2018 www.vlcsofting.es
42. Feel like a mage…
12 de junio de 2018 www.vlcsofting.es
45. “The good monolith”
• Los monolitos que nos complicaron la vida eran aquellos que acoplaban
backend de frontend
• Aprendimos que para escalar horizontalmente estas construcciones no eran
buenas
• Empezamos a separar y a desacoplar. Inicialmente, solo backend de
frontend
• Luego empezamos a partir al backend en trozos más pequeños
• Y más pequeños. En microservicios.
• Hasta que empezamos a tener decenas de microservicios
• Y empezaron a complicarnos la vida también
Francisco Javier Barrena Castillo - @DogDeveloper
46. Arquitectura promovida por la comunidad
Francisco Javier Barrena Castillo - @DogDeveloper
Módulo 1
(Auth)
Service
Controll
Model
Módulo 2
(Artículos)
Service
Controll
Model
Módulo 3
(Transactions)
Service
Controll
Model
Módulo N
(Clientes)
Service
Controll
Model
Módulo principal
48. HTTP SERVICE
El “microservicio”
Francisco Javier Barrena Castillo - @DogDeveloper
Módulo
Service
Controll
Model
Módulo
Service
Controll
Model
Módulo
Service
Controll
Model
Módulo
Service
Controll
Model
FRONT
USUARIOS PEDIDOS ARTÍCULOS PRECIOS
49. HTTP SERVICE
El “microservicio”
Francisco Javier Barrena Castillo - @DogDeveloper
Módulo
Service
Controll
Model
Módulo
Service
Controll
Model
Módulo
Service
Controll
Model
Módulo
Service
Controll
Model
FRONT
USUARIOS PEDIDOS ARTÍCULOS PRECIOS
50. i+d en el iti
Francisco Javier Barrena Castillo - @DogDeveloper
51. HTTP SERVICE
True microservice
Francisco Javier Barrena Castillo - @DogDeveloper
Módulo
Service
Controll
Model
Módulo
Service
Controll
Model
Módulo
Service
Controll
Model
Módulo
Service
Controll
Model
FRONT
USUARIOS PEDIDOS ARTÍCULOS PRECIOS
55. i+d en el iti
Francisco Javier Barrena Castillo - @DogDeveloper
Notas del editor
¿Esta arquitectura es buena o mala? Depende del problema que queramos resolver
Inicialmente, el concepto de modularizar y microservilizar parece bueno siempre. Y es especialmente bueno cuando hablamos de modularizar cosas que son independientes (como el logging por ejemplo)
Pero cuando microservilizamos cosas que están relacionadas entre ellas, estamos generando más problemas de los que estamos resolviendo.