A finales de junio en Nueva York, se celebró la conferencia QCon 2018, a la que tuve la suerte de asistir. Por esta oportunidad quiero agradecer a mi empleador. Konfa duró 3 días, hubo alrededor de 140 oradores y más de 900 participantes.

Descargo de responsabilidad: por supuesto, este artículo expresa mi opinión personal.
Organizacion
Dado que la conferencia es grande y ha tenido lugar durante mucho tiempo, todo está organizado a un alto nivel. Audiencias, sonido, transmisión, grabación, presentaciones: todo está resuelto, claramente. Aunque no, el primer día en la primera chatarra de clicker. :-) Este, quizás, fue el único problema en 3 días.

Temas
Durante 3 días, los organizadores cubrieron 15 temas diferentes. Es decir todos los días hubo 5 transmisiones principales (+ presentaciones de patrocinio y audiencia Ask Me Anything), todos los días hubo nuevas transmisiones. En mi opinión, una cobertura tan amplia es buena en términos de cantidad, pero la calidad la sufre. Resultó que de 6 informes al día que asistí, 1-2 fueron realmente útiles e interesantes para mí. Algunos informes simplemente no coincidían con su nombre, lo cual fue una pena por el tiempo dedicado.

Tenía expectativas ligeramente diferentes para la cantidad de información nueva para mí. Algo nuevo, interesante y desconocido fue menos de lo que nos gustaría.
Notas clave
Antes del comienzo de cada día, todos se reunieron en el salón más grande, y algunas personas de la famosa compañía dijeron algo general, pero interesante. Estas historias trataban sobre el desarrollo de software de una forma u otra. Me gustaron las 3 notas clave.
Desarrolladores como un vehículo de distribución de malware (Guy Podjarny, SnykSec)
Guy trabaja para una empresa que examina los productos de código abierto en busca de vulnerabilidades. Habló sobre cómo las vulnerabilidades están integradas en diferentes herramientas de desarrollo y cómo se propaga entre los usuarios finales. Raramente pensaba en esto y, además, no pensaba que este fenómeno fuera a gran escala. Guy mostró cómo podría ser esto con algunos ejemplos interesantes. Resulta que el malware puede integrarse en el IDE (XCodeGhost sirvió como ejemplo) e inyectarse en el archivo ejecutable durante el ensamblaje. También puede colocar malware en la biblioteca de complementos.
Los principales pensamientos de la presentación que destacaría:
- con gran poder viene una gran responsabilidad;
- No puede confiar en el código que usted mismo no escribió desde cero.
- Sea cuidadoso y atento a las herramientas con las que trabaja.
Una historia de opinión de la API (Joshua Bloch, Carnegie Mellon)
Joshua Bloch dijo cuándo y quién ideó por primera vez la API (interfaz del programa de aplicación) y cómo este término evolucionó hasta nuestros días.
¡Resulta que la API fue inventada antes de la construcción de la primera computadora! Poco uso, pero muy interesante!
La facilidad de uso, sin errores y una buena descripción son lo que debe pensar al desarrollar una nueva API.
La historia de las salidas de incendios (Tanya Reilly, Squarespace)
Tanya contó la historia del surgimiento y desarrollo de la salida de incendios en Nueva York desde 1838. La causa de la aparición y el desarrollo de este fenómeno, por supuesto, fueron los incendios. Desde una perspectiva histórica, mostró por qué sucedieron y qué pasos se tomaron para tratar con ellos en el futuro. También ocurren "incendios" en el mundo del software, pero en base a la experiencia existente, podemos minimizar sus consecuencias.
Minimice en principio la posibilidad de incendio. Proporcionar herramientas de detección temprana de incendios. Aísle las áreas de incendio potencialmente peligrosas para que el fuego no se propague. Tener una brigada de bomberos y planes de evacuación actualizados.
En realidad informa
Quizás escriba solo sobre esos informes que personalmente me gustaron, de los cuales pude aprender algo nuevo y beneficiarme.
Patrones sin servidor y antipatrones (Joe Emison, Branch)

La última vez que me sumergí en el tema sin servidor, se rumoreaba que Backendless y ahora fallecidos en Bose Parse. Pero pasaron varios años, y cuando escuché a Joe, me sorprendió la cantidad de servicios que ahora han aparecido en esta área y cuán famoso es posible combinarlos para lograr una variedad de objetivos. Joe contó cómo en sin servidor (sin servidor significa un conjunto de servicios externos para lograr el objetivo de un producto) escribieron software para recopilar estadísticas y monitorear la calidad del combustible, así como una aplicación para seleccionar bienes inmuebles para alquilar. Estas aplicaciones pueden realizar autenticación, validar datos, moderar imágenes, trabajar con un mapa, leer en las nubes y mucho más. ¡Y todo esto a través de servicios externos! Su tarea principal es monitorear la disponibilidad de estos mismos servicios externos.

De este informe, aprendí sobre muchos servicios nuevos que quería "tocar" y obtener más información. Y aquí, por cierto, y ellos:
- Segmento : una plataforma única para recopilar, almacenar, analizar y enrutar los datos de sus usuarios.
- DocRaptor : genera PDF / Excel a partir de HTML
- Cloudinary : una plataforma para administrar contenido multimedia (imágenes, videos).
- Auth0 : la plataforma proporciona capacidades avanzadas de identificación de usuarios.
- Webtask es una plataforma FaaS que ejecuta su código en la nube.
- Netlify : alojamiento en la nube con implementación en pocos minutos. Capaz de conectarse a su repositorio en un github e implementar sitios a partir de él a medida que se actualiza. Bueno, todo tipo de chips de moda.
- Algolia : un motor de búsqueda para su sitio, según tengo entendido
- AWS Cognito : gestión de usuarios, identificación, diferenciación de derechos
- AWS Lambda : la plataforma FaaS de Amazon
- AWS AppSync : sincronización de datos en tiempo real entre dispositivos

Esto es lo que aprendí por mí mismo de la presentación:
- Multilingüismo, microservicios, DevOps es bueno.
- La generación de código para diferentes idiomas a partir de una descripción unificada de la API es buena.
- Automatiza todo lo que puedas alcanzar.
- Di qué hacer, no digas cómo. Y entonces todo estará bien contigo.
- Minimiza la resistencia a la innovación. El orador cita el ejemplo de "guardianes" que no permiten "innovaciones potencialmente peligrosas que no traen beneficios" al proyecto. Dichas personas construyen el trabajo según el principio de "trabajo, no tocar". Y ralentiza el desarrollo de productos
- Asegure la transparencia de la infraestructura para ver las debilidades y detectar problemas lo antes posible.
Más cerca del cable: alertas de noticias en tiempo real (Katerina Domenikou de, Bloomberg)

Para mí, hice un par de cosas interesantes que se discutieron en la presentación:
- Streaming de búsqueda. Buscar en el flujo de información entrante.
- Luwak: una herramienta que ayuda a cumplir el párrafo 1.
Y nuevamente estaba convencido de que a veces hay que mirar la tarea desde el ángulo más inesperado. Katerina contó cómo procesan muchas consultas de búsqueda o, más precisamente, filtros, a una gran variedad de datos. La matriz de datos también se puede reponer con bastante frecuencia. Entonces, en su decisión, los chicos no indexan los datos, sino las consultas. Por lo tanto, cuando aparecen nuevos datos, se verifica si los nuevos datos satisfacen las consultas existentes y, de ser así, los datos están asociados con el índice. La búsqueda se acelera significativamente. En general, para mí era nuevo para O_o.
Flujos de eventos complejos en sistemas distribuidos (Bernd Rücker, Camunda)

Las soluciones empresariales modernas para automatizar procesos comerciales (motor de flujo de trabajo, máquina de estado) son pesadas y aburridas. Por lo tanto, no debe usarlos, pero hay una alternativa ligera digna. Y de alguna manera resultó que la alternativa está siendo desarrollada por el equipo del orador y se llama Camunda. Pero si la solución es buena, ¿por qué no hablar de ello?
De esta presentación, saqué las siguientes cosas que quería "tocar" y estudiar más profundamente:
- UBER Cadence es una herramienta distribuida, escalable y confiable para orquestar procesos comerciales asincrónicos y de tiempo extendido.
- Netflix Conductor es una herramienta de automatización de negocios basada en microservicios.
- Camunda es una plataforma para automatizar procesos comerciales.
- Zeebee : una herramienta de automatización de negocios basada en microservicios con un diseñador gráfico.
- Activiti es una herramienta de automatización de negocios basada en microservicios basada en la nube.
Según tengo entendido, todas estas herramientas le permiten establecer un equilibrio y distribuir la responsabilidad de los microservicios y el motor de flujo de trabajo real. Esto se realiza realizando operaciones de rutina (manejo básico de errores, ciclos, ejecución programada) en el lado del motor de flujo de trabajo, y la lógica del dominio permanece completamente en los microservicios que conforman el proceso comercial.
Enviado de Lyft: Abrazando una malla de servicio (Matt Klein, Lyft)

Matt habló sobre Envoy , el producto que lidera. Un tipo de malla de servicios que permite que los microservicios interactúen sin pensar en la topología de la red. Entre otras cosas están presentes:
- balanceador de carga
- monitorear el estado de los microservicios,
- recolectando varios tipos de estadísticas,
- servicio de descubrimiento de servicio
- extensiones enchufables

Matt fue recordado por un momento más. Después de todas las presentaciones, los oradores se sentaron juntos en el escenario y comenzaron a responder preguntas sobre un tema común ("Arquitecturas de las que siempre te has preguntado"). Cuando surgió la pregunta sobre la disponibilidad de las pruebas de integración y los enfoques, se vio una media sonrisa en las caras de todos los oradores. Matt respondió primero, y todos los demás lo apoyaron en silencio. Su respuesta fue en este espíritu: "Por supuesto, tenemos pruebas de integración, pero ... Nada produce resultados tan buenos como las pruebas en producción". Matt ofrece pruebas automatizadas limitadas a pruebas unitarias, pruebas de carga. Y en menor grado, confíe en los resultados de las pruebas de integración.
Escalado de mensajes push para millones de dispositivos (Susheel Aroskar, Netflix)
Desafortunadamente, no pude visitar el informe en sí, pero hubo muchas críticas positivas sobre la presentación y sobre el orador. Así que creo que vale la pena echarle un vistazo.
Palabras de moda QCon Nueva York 2018

También había toda una pista sobre blockchain. Pero no pude llegar allí.
Post scriptum
En la primavera, asistí a CodeFest 2018 en Novosibirsk. Y para ser sincero, allí me gustó más. Pero, como dicen, a cada uno lo suyo.
Todas las presentaciones ya están disponibles aquí .
El video estará disponible públicamente en 3-4 meses. Para los participantes, el acceso al video ya está abierto. Y este video se puede enviar a 30 personas diferentes por correo electrónico.
Post post scriptum
No escribí sobre comida, alojamiento y transporte dentro del artículo, porque parece que no se aplica al tema de Habr, pero si alguien está interesado, puedo responder en PM o en los comentarios.