Kubernetes applications are complex distributed systems composed by several microservices. When some end to end test is failing in these kind of applications, root cause is difficult without good observability tools. In this presentation, several tools are presented to make easier root cause analysis of cloud and kubernetes applications. One of the most interesting ones is ElasTest, a platform that integrates several open source tools to provide observability to e2e testing of complex distributed systems.
Testing fácil con Docker: Gestiona dependencias y unifica entornosMicael Gallego
Docker es una tecnología que permite empaquetar el software de forma que se pueda ejecutar de forma sencilla y rápida, sin instalación y en cualquier sistema operativo. Es como tener cualquier programa instalado en su propia máquina virtual, pero arranca mucho más rápido y consume menos recursos. Docker está cambiando la forma en la que desplegamos software, pero también está afectando al propio proceso de desarrollo y particularmente al testing.
En este taller pondremos en práctica cómo usar Docker para facilitar la implementación de diferentes tipos de tests y su ejecución tanto en el portátil como en el entorno de integración continua. Aunque las técnicas que veremos se podrán aplicar en cualquier lenguaje de programación, los ejemplos estarán basados en Java y en JavaScript.
Native Client (NaCl) is an open-source technology that allows native code to run safely inside web browsers. It provides native code functionality and performance while maintaining security. NaCl code is sandboxed using a double sandbox model and only accesses system resources through a safe API. The Portable Native Client (PNaCl) variant compiles code into a portable format that can run on multiple platforms.
Infrastructure as data with Ansible: systems and cloud
deployment and management for the lazy developer
Abstract: Great programmers and sysadmins are lazy people: rightly,
they prefer avoiding manual, time consuming and error-prone tasks such
as installing and configuring a Linux/Apache/Tomcat cluster for the
tenth time.
Ansible, an infrastructure (server, cloud) deployment automation &
configuration both powerful AND simple (in most cases simpler than
shell scripts and maven poms!), will make developers and it staff more
productive and effective.
http://www.ansible.cc
This document summarizes Jirayut Nimsaeng's Docker workshop for beginners on March 20, 2016 at Odd-e Thailand. It introduces Docker concepts like images, containers, and the Dockerfile used to build images. It covers installing Docker, running basic Docker commands, building a simple image, exposing ports, and running containers in daemon mode. The workshop aims to help developers understand how Docker can help solve problems with inconsistent environments by providing a portable deployment mechanism.
Bgoug 2019.11 test your pl sql - not your patienceJacek Gebal
This document discusses unit testing in PL/SQL. It emphasizes that testing is important to prevent bugs, make code changeable, prove requirements are met, and document code. The document recommends testing all logic, exceptions, and data. Tests should be automated and run early and often using a test framework like utPLSQL. utPLSQL allows writing isolated tests using annotations and matchers to make assertions. Tests can be organized into suites with contexts and run as part of continuous integration pipelines.
Salt and pepper — native code in the browser Browser using Google native ClientMayflower GmbH
Native client (NaCl) allows running native code securely in the browser. It uses a sandboxed execution environment and static analysis to ensure safety. Portable native client (PNaCl) compiles code to an architecture-independent format. The Pepper API provides access to browser capabilities like filesystem and networking. While currently only supported in Chrome, NaCl enables efficient execution of existing C/C++ code in the browser for tasks like audio/video processing, games, and packaging desktop applications as Chrome apps.
original (better quality) on https://docs.google.com/presentation/d/1bnwj8CrFGo5KekONYSeIHySdkoXZiewJxkHcZjXnzkQ/
slides from OpenDaylight Summit Oct 2016 Seattle
ApacheCon Europe 2016 : CONTAINERS IN ACTION - Transform Application Delivery...Daniel Oh
The document discusses DevOps and the use of containers and Docker for building and deploying applications. It describes how traditionally infrastructure and applications were separate domains managed by different teams, but with DevOps these are combined. Docker allows building each component of an application as a separate containerized microservice that can be linked and deployed together. The document provides examples of using Docker commands to build and run containers for different tiers of an application and linking them together. It promotes trying OpenShift as a hosted container application platform for implementing DevOps.
Testing fácil con Docker: Gestiona dependencias y unifica entornosMicael Gallego
Docker es una tecnología que permite empaquetar el software de forma que se pueda ejecutar de forma sencilla y rápida, sin instalación y en cualquier sistema operativo. Es como tener cualquier programa instalado en su propia máquina virtual, pero arranca mucho más rápido y consume menos recursos. Docker está cambiando la forma en la que desplegamos software, pero también está afectando al propio proceso de desarrollo y particularmente al testing.
En este taller pondremos en práctica cómo usar Docker para facilitar la implementación de diferentes tipos de tests y su ejecución tanto en el portátil como en el entorno de integración continua. Aunque las técnicas que veremos se podrán aplicar en cualquier lenguaje de programación, los ejemplos estarán basados en Java y en JavaScript.
Native Client (NaCl) is an open-source technology that allows native code to run safely inside web browsers. It provides native code functionality and performance while maintaining security. NaCl code is sandboxed using a double sandbox model and only accesses system resources through a safe API. The Portable Native Client (PNaCl) variant compiles code into a portable format that can run on multiple platforms.
Infrastructure as data with Ansible: systems and cloud
deployment and management for the lazy developer
Abstract: Great programmers and sysadmins are lazy people: rightly,
they prefer avoiding manual, time consuming and error-prone tasks such
as installing and configuring a Linux/Apache/Tomcat cluster for the
tenth time.
Ansible, an infrastructure (server, cloud) deployment automation &
configuration both powerful AND simple (in most cases simpler than
shell scripts and maven poms!), will make developers and it staff more
productive and effective.
http://www.ansible.cc
This document summarizes Jirayut Nimsaeng's Docker workshop for beginners on March 20, 2016 at Odd-e Thailand. It introduces Docker concepts like images, containers, and the Dockerfile used to build images. It covers installing Docker, running basic Docker commands, building a simple image, exposing ports, and running containers in daemon mode. The workshop aims to help developers understand how Docker can help solve problems with inconsistent environments by providing a portable deployment mechanism.
Bgoug 2019.11 test your pl sql - not your patienceJacek Gebal
This document discusses unit testing in PL/SQL. It emphasizes that testing is important to prevent bugs, make code changeable, prove requirements are met, and document code. The document recommends testing all logic, exceptions, and data. Tests should be automated and run early and often using a test framework like utPLSQL. utPLSQL allows writing isolated tests using annotations and matchers to make assertions. Tests can be organized into suites with contexts and run as part of continuous integration pipelines.
Salt and pepper — native code in the browser Browser using Google native ClientMayflower GmbH
Native client (NaCl) allows running native code securely in the browser. It uses a sandboxed execution environment and static analysis to ensure safety. Portable native client (PNaCl) compiles code to an architecture-independent format. The Pepper API provides access to browser capabilities like filesystem and networking. While currently only supported in Chrome, NaCl enables efficient execution of existing C/C++ code in the browser for tasks like audio/video processing, games, and packaging desktop applications as Chrome apps.
original (better quality) on https://docs.google.com/presentation/d/1bnwj8CrFGo5KekONYSeIHySdkoXZiewJxkHcZjXnzkQ/
slides from OpenDaylight Summit Oct 2016 Seattle
ApacheCon Europe 2016 : CONTAINERS IN ACTION - Transform Application Delivery...Daniel Oh
The document discusses DevOps and the use of containers and Docker for building and deploying applications. It describes how traditionally infrastructure and applications were separate domains managed by different teams, but with DevOps these are combined. Docker allows building each component of an application as a separate containerized microservice that can be linked and deployed together. The document provides examples of using Docker commands to build and run containers for different tiers of an application and linking them together. It promotes trying OpenShift as a hosted container application platform for implementing DevOps.
Slides from my presentation to the Sydney Jenkins Meetup on Declarative Pipeline. Video of the presentation available at https://www.youtube.com/watch?v=3R5xh4oeDg0&feature=youtu.be
Introduction to Containers: From Docker to Kubernetes and everything in-betweenAll Things Open
This document provides an introduction to containers using Docker and Kubernetes. It begins with an overview of containers, images, and layers. It then discusses Docker, including how to build images with Dockerfiles and compose containers together. The document also introduces Kubernetes for managing container clusters. It outlines an agenda covering containers, Docker, Kubernetes, Helm, Istio, GitOps and monitoring tools.
This document discusses microservices architectures and provides an overview of related concepts and technologies. It describes microservices as independent, highly decoupled processes that communicate using APIs. The document then covers benefits of microservices like independent deployability and scalability. It also discusses challenges like service discovery and outlines technologies like Eureka, Ribbon and Spring Cloud that can help address these challenges.
GitLab CI/CD is a built-in continuous integration and delivery tool in GitLab. It allows for automated testing, building, and deploying of applications. It supports various languages and tools through configuration files. Pipelines can be triggered on code pushes or manually to run tests and deploy code. The tool aims to speed up development workflows through automation while providing visibility into builds.
Flash Camp Chennai - Build automation of Flex and AIR applicationsRIA RUI Society
Complete session on how to set up a continuous integration server for compiling and deploying Flex, Flash and AIR applications. The build process also include code quality check, code duplication check, compiler warning reporting, TODO and FIXME list reporting, and Unit testing.
Example Simple NodeJS Application for Docker demo
- https://gist.github.com/abtris/6aca9b2668b8b5af0208
Video
- https://www.youtube.com/watch?v=p6olO6NChno&feature=youtu.be
Hackathon - building and extending OpenJDKMichał Warecki
This document summarizes how to build and extend the OpenJDK reference implementation of Java. It outlines downloading the source code from Mercurial repositories, building the code using a simple make command, and extending it by following examples. It also introduces Jtreg for testing code and provides URLs for the Shenandoah garbage collector and Java 9 development codebases.
Kurento is a media server for real-time video communication that needed to test its software under many scenarios and environments. Its CI infrastructure originally used many virtual machines, each configured differently for testing. This led to high costs, configuration difficulties, and slow development cycles. By using Docker, Kurento was able to define environments as reusable images and run tests in isolated containers on fewer virtual machines. This simplified infrastructure management and sped up development.
Рассмотрим что же изменилось с технической части новой версии ReportPortal. Обсудим текущие проблемы, пути их решения и планы по развитию приложения на ближайшее будущее.
Building Good Containers for Python ApplicationsAll Things Open
This document discusses best practices for building Python applications in containers. It recommends containers be fast, small, secure, and usable. Specific strategies covered include using binary wheels to minimize build steps, building Python from source in a separate stage for caching, using multi-stage builds to optimize layers and size, and generating self-contained binary wheels. The conclusion emphasizes thinking through container strategies before implementation to achieve performance and portability.
Composer is a dependency manager for PHP that allows loading code packages from various locations into a PHP project. It resolves dependencies and allows updating packages easily. The document discusses how to use Composer to manage extensions in TYPO3 projects by defining extensions and versions in a composer.json file. It also covers creating custom Composer repositories and using PHPCI for continuous integration with Composer and TYPO3.
Bgoug 2019.11 building free, open-source, plsql products in cloudJacek Gebal
Jacek Gębal is a principal software engineer at Fidelity Investments in Ireland who has been working with Oracle databases since 2000. He is a key contributor and maintainer of the open-source utPLSQL testing framework. In his talk, he discusses how he has leveraged free tools like Git, GitHub, Docker, Travis CI, and SonarCloud to collaborate globally on open-source projects and ensure their long-term sustainability through continuous integration, testing, and code quality practices. He provides examples of how to set up these tools for an Oracle database project.
CubeJS is a Node.js based application development platform at eBay. In this presentation, we will share our journey to build and launch this new platform at the eBay Marketplaces. We will discuss CubeJS’ overall architecture, versatile functionalities, robust operationalization, and streamlined development lifecycle process, as well as its customer adoption momentum in the company. We will also share a number of high-profile projects, powered on CubeJS, to be debuted by eBay Inc. ranging from Web to Mobile.
Disco API - OpenJDK distributions as a serviceGerrit Grunwald
At foojay.io we've spent some time creating a little api that should help you to discover builds of OpenJDK from different distributions in a general way. In this session, I will give a short introduction to what the Disco API is and how it can help you find the JDK/JRE of your choice. At the moment Disco can help you getting builds from the following distributions: AdoptOpenJDK, Corretto, Dragonwell, GraalVM, Liberica, Liberica Native, Mandrel, Microsoft, OJDK Build, OpenLogic, Oracle, Oracle OpenJDK, RedHat, SAP Machine, Trava and Zulu. I will show examples on how to use the API and about plugins and tools that already use the API like browser extensions, ide plugins etc...
The document discusses managing dependencies in Gradle multi-module projects. It presents three problems: 1) managing shared dependencies across modules, 2) changing dependencies that impact repeatable builds, and 3) dependency conflicts when modules are updated separately. For problem 1, it recommends using a gradle.properties file to define shared versions. For problem 2, it introduces the nebula-dependency-lock plugin to lock dependencies until explicitly updated. For problem 3, it notes conflicts can occur if modules are updated independently and provides solutions like dependency locking or pinning versions.
This document provides an overview of Upwork's migration from a legacy PHP/Perl architecture to a new microservices-based architecture called Agora. It discusses the problems with the legacy stack and the goals of the new architecture. Specifically, it aimed to isolate risk, allow independent development teams, and enable advanced deployment techniques. It then describes how the presentation layer was refactored into a microservices-based framework called Agate using Symfony and Angular. Agate services communicate with Agora using Phystrix, an open source library based on Hystrix for circuit breaking and fallback handling. The document concludes with discussions around testing, visibility tools, and planned improvements.
https://github.com/vorburger/opendaylight-eclipse-setup
Watch https://www.youtube.com/watch?v=TU1zjytlwFE recording of this same presentation. Same slides are also available in better quality on https://docs.google.com/presentation/d/14yLzog3OhIlVsk7Clr0Tff1YayRcFnQCUZqxHMWxiNI/.
Watch https://www.youtube.com/watch?v=BLW8aOh6WeQ screencast video to see a step by step walk through for how to use what's introduced here.
Presentation given at the OpenDaylight Open Source Software Defined Networking Mini Summit on 2016.06-21 in Berlin at the Open Platform for NFV (OPNFV) summit, by Michael Vorburger.
GraalVM can be used as a drop-in replacement for the JDK to run Java programs. It includes the Graal just-in-time compiler which can provide better performance than the default HotSpot compiler. GraalVM also includes the native-image tool which can compile Java bytecode ahead-of-time to native executables without dependencies, improving startup time significantly. This enables using Java for more dynamic workloads like microservices that require fast startup. Reflection and dynamic proxies require additional configuration for native images. Docker images can also be built from native executables to distribute applications.
The document discusses DevOps practices for TYPO3 projects. It defines DevOps as the confluence of development and operations. It highlights the importance of communication between different roles like developers, system administrators, and integrators. It also provides examples of tools and techniques that can be used at different stages of a TYPO3 project to facilitate DevOps practices, such as automated testing, deployment automation, and content synchronization.
Slides from my presentation to the Sydney Jenkins Meetup on Declarative Pipeline. Video of the presentation available at https://www.youtube.com/watch?v=3R5xh4oeDg0&feature=youtu.be
Introduction to Containers: From Docker to Kubernetes and everything in-betweenAll Things Open
This document provides an introduction to containers using Docker and Kubernetes. It begins with an overview of containers, images, and layers. It then discusses Docker, including how to build images with Dockerfiles and compose containers together. The document also introduces Kubernetes for managing container clusters. It outlines an agenda covering containers, Docker, Kubernetes, Helm, Istio, GitOps and monitoring tools.
This document discusses microservices architectures and provides an overview of related concepts and technologies. It describes microservices as independent, highly decoupled processes that communicate using APIs. The document then covers benefits of microservices like independent deployability and scalability. It also discusses challenges like service discovery and outlines technologies like Eureka, Ribbon and Spring Cloud that can help address these challenges.
GitLab CI/CD is a built-in continuous integration and delivery tool in GitLab. It allows for automated testing, building, and deploying of applications. It supports various languages and tools through configuration files. Pipelines can be triggered on code pushes or manually to run tests and deploy code. The tool aims to speed up development workflows through automation while providing visibility into builds.
Flash Camp Chennai - Build automation of Flex and AIR applicationsRIA RUI Society
Complete session on how to set up a continuous integration server for compiling and deploying Flex, Flash and AIR applications. The build process also include code quality check, code duplication check, compiler warning reporting, TODO and FIXME list reporting, and Unit testing.
Example Simple NodeJS Application for Docker demo
- https://gist.github.com/abtris/6aca9b2668b8b5af0208
Video
- https://www.youtube.com/watch?v=p6olO6NChno&feature=youtu.be
Hackathon - building and extending OpenJDKMichał Warecki
This document summarizes how to build and extend the OpenJDK reference implementation of Java. It outlines downloading the source code from Mercurial repositories, building the code using a simple make command, and extending it by following examples. It also introduces Jtreg for testing code and provides URLs for the Shenandoah garbage collector and Java 9 development codebases.
Kurento is a media server for real-time video communication that needed to test its software under many scenarios and environments. Its CI infrastructure originally used many virtual machines, each configured differently for testing. This led to high costs, configuration difficulties, and slow development cycles. By using Docker, Kurento was able to define environments as reusable images and run tests in isolated containers on fewer virtual machines. This simplified infrastructure management and sped up development.
Рассмотрим что же изменилось с технической части новой версии ReportPortal. Обсудим текущие проблемы, пути их решения и планы по развитию приложения на ближайшее будущее.
Building Good Containers for Python ApplicationsAll Things Open
This document discusses best practices for building Python applications in containers. It recommends containers be fast, small, secure, and usable. Specific strategies covered include using binary wheels to minimize build steps, building Python from source in a separate stage for caching, using multi-stage builds to optimize layers and size, and generating self-contained binary wheels. The conclusion emphasizes thinking through container strategies before implementation to achieve performance and portability.
Composer is a dependency manager for PHP that allows loading code packages from various locations into a PHP project. It resolves dependencies and allows updating packages easily. The document discusses how to use Composer to manage extensions in TYPO3 projects by defining extensions and versions in a composer.json file. It also covers creating custom Composer repositories and using PHPCI for continuous integration with Composer and TYPO3.
Bgoug 2019.11 building free, open-source, plsql products in cloudJacek Gebal
Jacek Gębal is a principal software engineer at Fidelity Investments in Ireland who has been working with Oracle databases since 2000. He is a key contributor and maintainer of the open-source utPLSQL testing framework. In his talk, he discusses how he has leveraged free tools like Git, GitHub, Docker, Travis CI, and SonarCloud to collaborate globally on open-source projects and ensure their long-term sustainability through continuous integration, testing, and code quality practices. He provides examples of how to set up these tools for an Oracle database project.
CubeJS is a Node.js based application development platform at eBay. In this presentation, we will share our journey to build and launch this new platform at the eBay Marketplaces. We will discuss CubeJS’ overall architecture, versatile functionalities, robust operationalization, and streamlined development lifecycle process, as well as its customer adoption momentum in the company. We will also share a number of high-profile projects, powered on CubeJS, to be debuted by eBay Inc. ranging from Web to Mobile.
Disco API - OpenJDK distributions as a serviceGerrit Grunwald
At foojay.io we've spent some time creating a little api that should help you to discover builds of OpenJDK from different distributions in a general way. In this session, I will give a short introduction to what the Disco API is and how it can help you find the JDK/JRE of your choice. At the moment Disco can help you getting builds from the following distributions: AdoptOpenJDK, Corretto, Dragonwell, GraalVM, Liberica, Liberica Native, Mandrel, Microsoft, OJDK Build, OpenLogic, Oracle, Oracle OpenJDK, RedHat, SAP Machine, Trava and Zulu. I will show examples on how to use the API and about plugins and tools that already use the API like browser extensions, ide plugins etc...
The document discusses managing dependencies in Gradle multi-module projects. It presents three problems: 1) managing shared dependencies across modules, 2) changing dependencies that impact repeatable builds, and 3) dependency conflicts when modules are updated separately. For problem 1, it recommends using a gradle.properties file to define shared versions. For problem 2, it introduces the nebula-dependency-lock plugin to lock dependencies until explicitly updated. For problem 3, it notes conflicts can occur if modules are updated independently and provides solutions like dependency locking or pinning versions.
This document provides an overview of Upwork's migration from a legacy PHP/Perl architecture to a new microservices-based architecture called Agora. It discusses the problems with the legacy stack and the goals of the new architecture. Specifically, it aimed to isolate risk, allow independent development teams, and enable advanced deployment techniques. It then describes how the presentation layer was refactored into a microservices-based framework called Agate using Symfony and Angular. Agate services communicate with Agora using Phystrix, an open source library based on Hystrix for circuit breaking and fallback handling. The document concludes with discussions around testing, visibility tools, and planned improvements.
https://github.com/vorburger/opendaylight-eclipse-setup
Watch https://www.youtube.com/watch?v=TU1zjytlwFE recording of this same presentation. Same slides are also available in better quality on https://docs.google.com/presentation/d/14yLzog3OhIlVsk7Clr0Tff1YayRcFnQCUZqxHMWxiNI/.
Watch https://www.youtube.com/watch?v=BLW8aOh6WeQ screencast video to see a step by step walk through for how to use what's introduced here.
Presentation given at the OpenDaylight Open Source Software Defined Networking Mini Summit on 2016.06-21 in Berlin at the Open Platform for NFV (OPNFV) summit, by Michael Vorburger.
GraalVM can be used as a drop-in replacement for the JDK to run Java programs. It includes the Graal just-in-time compiler which can provide better performance than the default HotSpot compiler. GraalVM also includes the native-image tool which can compile Java bytecode ahead-of-time to native executables without dependencies, improving startup time significantly. This enables using Java for more dynamic workloads like microservices that require fast startup. Reflection and dynamic proxies require additional configuration for native images. Docker images can also be built from native executables to distribute applications.
The document discusses DevOps practices for TYPO3 projects. It defines DevOps as the confluence of development and operations. It highlights the importance of communication between different roles like developers, system administrators, and integrators. It also provides examples of tools and techniques that can be used at different stages of a TYPO3 project to facilitate DevOps practices, such as automated testing, deployment automation, and content synchronization.
Vitalii Tatarynov gave a presentation on efficient mobile automation. He discussed three parts of successful automation: writing good code, collaborating with the team, and making a robust infrastructure. For writing good code, he emphasized keeping it simple, reusing patterns and libraries, and leveraging new language features. For infrastructure, he described setting up a Jenkins pipeline for continuous integration and using Appium, Espresso, and OpenSTF for testing. He also demonstrated how to install Jenkins, OpenSTF, and set up a Docker environment for mobile testing automation.
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...Sauce Labs
As part of a recent replatforming exercise, Net-A-Porter has worked hard not only to refresh their technology, but to create a great testing culture. As a result, they have come a long way from “throwing tests over the wall.” Testing concerns are now part of their NFRs and technical decisions. Developers are responsible for unit and functional tests, working alongside test specialists who are part of every delivery team for guidance.
In this SauceCon 2018 session, Adela Mosincat and James Collins will walk attendees through how Sauce Labs has helped in this process. She will review how the “test-runner” was born to facilitate the consistent and seamless running of their tests on Sauce Labs across teams. The test-runner is a Docker image, whose purpose is to handle the running of the tests both locally and in their CI pipeline. It parallelizes the tests as much as possible, executes intelligent waiting for VMs and retrying for flaky tests, supports test tagging and quarantining and handles reporting to both Sauce Labs and Jenkins.
In addition to the test-runner, Adela and Jim will review how Net-A-Porter improved their dev/test culture and CI pipeline, and share what they learned along the way.
ElasTest presentation in MadridJUG (Madrid December 2017)ElasTest Project
ElasTest is an open source platform to execute e2e tests for web applications and complex distributed cloud native systems. It is based on docker and offers several services to ease testing implementation. These slides were used when presenting ElasTest to the local Java User Group in Madrid (MadridJUG) in December of 2017.
Slides of our Webinar, held on March 20th 2018, where the main features of ElasTest, at the time being, were presented. This included our ability to launch docker and docker-compose SuTs, and tests, gathering logs and metrics, and inspecting resulst with out Log Analyzer. All these features, including ElasTest capabilities for manual testing, were showcased at the end in a demo conducted by out Project Coodinator. The webinar was recorded and it's available at: https://youtu.be/OL4yktND6Uo.
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...GetInData
Did you like it? Check out our blog to stay up to date: https://getindata.com/blog
The talk is focused on administration, development and monitoring platform with Apache Spark, Apache Flink and Kubeflow in which the monitoring stack is based on Prometheus stack.
Author: Albert Lewandowski
Linkedin: https://www.linkedin.com/in/albert-lewandowski/
___
Getindata is a company founded in 2014 by ex-Spotify data engineers. From day one our focus has been on Big Data projects. We bring together a group of best and most experienced experts in Poland, working with cloud and open-source Big Data technologies to help companies build scalable data architectures and implement advanced analytics over large data sets.
Our experts have vast production experience in implementing Big Data projects for Polish as well as foreign companies including i.a. Spotify, Play, Truecaller, Kcell, Acast, Allegro, ING, Agora, Synerise, StepStone, iZettle and many others from the pharmaceutical, media, finance and FMCG industries.
https://getindata.com
See what pitfalls companies are facing when running Liferay portal. In the previous year, our company has audited 5 real-life projects based on Liferay Portal which are now running in production mode and serving many users. The audits were focused on architecture, infrastructure, technical design and implementation. During the presentation, we will show you common anti-patterns we have found during the audits and their impacts and consequences on the portal.
Devops with Python by Yaniv Cohen DevopShiftYaniv cohen
This document discusses implementing DevOps with Python using Ansible. It provides an agenda for the presentation including discussing DevOps hotspots, infrastructure as code with Ansible, continuous integration/continuous delivery (CI/CD) using TravisCI and CircleCI, and an open discussion on monitoring and automated tests. It then covers problems commonly faced, how DevOps solves these problems, and the expected benefits of adopting a DevOps culture including standardized environments, infrastructure as code, automated delivery, monitoring, and improved collaboration. It provides an overview of Ansible concepts like inventories, ad-hoc commands, modules, playbooks, roles, and templates. It also demonstrates writing a custom Python module for Ansible and using it in a playbook. Finally, it
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Kaxil Naik
Apache Airflow allows users to programmatically author, schedule, and monitor workflows or directed acyclic graphs (DAGs) using Python. It is an open-source workflow management platform developed by Airbnb that is used to orchestrate data pipelines. The document provides an overview of Airflow including what it is, its architecture, and concepts like DAGs, tasks, and operators. It also includes instructions on setting up Airflow and running tutorials on basic and dynamic workflows.
ElasTest presentation in Panel Sistemas company (Madrid December 2017)ElasTest Project
ElasTest is an open source platform to execute e2e tests for web applications and complex distributed cloud native systems. It is based on docker and offers several services to ease testing implementation. This slides were used when presenting ElasTest in Panel Sistemas company in Madrid.
OSMC 2022 | Unifying Observability Weaving Prometheus, Jaeger, and Open Sourc...NETWAYS
Observability is a hugely popular topic, however, for open-source users, significant challenges remain. For starters, related licensing is frequently problematic—and even when it works, there is no pure Apache 2.0 licensed technology to get data collection and visibility into your logs, metrics, and traces. Thankfully, this is gradually changing as the community builds new capabilities into OpenSearch Dashboards to unify the visualization of logs from OpenSearch, metrics from PromQL compatible systems, and traces from Jaeger. In this session, we’ll examine how this important project is evolving as a fork of the previously popular ELK stack. We’ll also take a closer look at the current state of OpenSearch and Jaeger and discuss how these efforts are going to provide a foundation for unified observability to the open-source communities. By using OpenTelemetry for data collection, this foundation provides a pure Apache 2.0 licensed open-source platform for unified observability. OpenSearch also includes features like Alerting and Machine Learning, which are not part of Jaeger today. The work on this foundational integration is well underway and will provide open-source users with a solid alternative to vendor controlled and provided solutions. This also opens up the marketplace for solutions to be created to host and manage these at scale, something we’ve seen with countless other CNCF projects. This talk will be presented by a contributor and maintainer of OpenSearch, Jaeger, and OpenTelemetry, which are all vibrant user communities. Join the conversation!
This document discusses ElasTest, an open source platform for end-to-end testing of cloud native applications. ElasTest captures relevant log and metric information during tests to provide observability. It allows for log and metric management, comparison, and analysis to help localize issues. A demo is given of using ElasTest to monitor and manage logs from a Jenkins job that starts a Docker application container and runs tests against it. ElasTest concludes observability is key for effective end-to-end testing of complex cloud native applications.
The document provides an introduction to DevOps. It explains that DevOps aims to integrate developers and operations teams to improve collaboration and productivity by automating infrastructure, workflows, and measuring application performance. This addresses issues where development teams faced delays deploying code and operations teams struggled with managing an increasing number of servers. DevOps adopts practices like automating infrastructure configuration and code deployment to enable continuous delivery and fast, reliable releases while allowing development and production environments to be identical.
One of the most boring thing in software development in large companies is following a bureaucracy. Tons of developers were melted down by that ruthless machine with its not always obvious rules. That’s why we decided to delegate all the boring work to machines instead of humans and the talk will cover the achieved results.
The document discusses static analysis tools for finding bugs in source code. It summarizes the Coverity Scan service, which allows open source projects to have their code scanned for defects free of charge. The document outlines how to integrate Coverity Scan into a project's workflow, including using the cov-build wrapper to package code for analysis and submitting builds through services like Travis CI. It also provides tips for fine-tuning scans and examples of how the Linux and EFL projects use Coverity Scan in their development.
This document discusses Angular (2), including its history, architecture, and use at Meshcloud. It notes that Angular has undergone significant changes through beta releases. Key aspects highlighted include its simplified component-based structure, TypeScript integration, and use of Observables and services. Meshcloud's single page application was built with Angular CLI and uses lazy loading, AOT compilation, and HATEOAS for its REST APIs. Challenges discussed include debugging, performance analysis, and CORS configuration complexities.
Serverless is great for web applications and APIs, but this does not mean it cannot be used successfully for other use cases. In this talk, we will discuss a successful application of serverless in the field of High Performance Computing. Specifically we will discuss how Lambda, Fargate, Kinesis and other serverless technologies are being used to run sophisticated financial models at one of the major reinsurance companies in the World. We we learn about the architecture, the tradeoffs, some challenges and some unresolved pain points. Most importantly, we'll find out if serverless can be a great fit for HPC and if we can finally stop managing those boring EC2 instances!
Similar to Testing cloud and kubernetes applications - ElasTest (20)
WebRTC permite la comunicación en tiempo real directamente entre navegadores sin pasar por un servidor mediante el marco ICE y el uso de servidores TURN. Existen numerosas aplicaciones y servicios de videoconferencia de código abierto basados en WebRTC como Jitsi Meet, BigBlueButton y otras. Para crear una aplicación de videoconferencia propia se puede utilizar directamente la API WebRTC, contribuir a proyectos existentes, hacer un fork o usar plataformas de videoconferencia de código abierto como OpenVidu, Kurento o Medooze.
La evaluación con realimentación y posibilidad de recuperación para evitar el...Micael Gallego
El documento discute los inconvenientes de la calificación numérica tradicional y propone una metodología de evaluación con realimentación y posibilidad de recuperación. Esta metodología involucra explicar los puntos mejorables, permitir preguntas de los estudiantes, y darles la oportunidad de volver a ser evaluados después de aplicar las sugerencias. Los autores aplicaron con éxito esta metodología mediante clases invertidas y proyectos por fases, lo que mejoró las calificaciones y satisfacción de los estudiantes.
Cómo incluir videoconferencia en tu web usando la tecnología WebRTC y servidores de media open source y comerciales. Se explora en más detalle OpenVidu, una plataforma de videoconferencias con ediciones open source y comerciales
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
Ciclo de vida del software, repositorios de código, análisis estático de código, pruebas software, integración continua, entrega continua, despliegue continuo, DevOps.
El documento presenta un curso sobre Angular. Incluye información sobre el temario que cubre conceptos básicos de Angular como componentes, servicios, rutas y librerías de componentes. También proporciona recursos como presentaciones y ejemplos de código para aprender Angular. El documento promociona los servicios de formación y consultoría sobre desarrollo de software de Micael Gallego.
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Micael Gallego
Una vista panorámica de la situación actual de la concurrencia y la asincronía. Comparando modelos de concurrencia y técnicas de programación asíncrona en lenguajes de programación como Java, C/C++ y JavaScript.
Dev Tools para Kubernetes - Codemotion 2019Micael Gallego
Charla impartida entre Pablo Chico y Micael Gallego en la que se muestran algunas herramientas para mejorar la experiencia de desarrollo de aplicaciones cloud native para Kubernetes. Concretamente, se presenta cómo okteto puede reducir el tiempo empleado en el ciclo de change, build, push, deploy de pods Java en Kubernetes usando la sincronización de ficheros.
Ejemplos de código en https://github.com/micaelgallego/k8s-dev-tools-codemo19
Este documento describe un Master en Desarrollo y Despliegue de Aplicaciones en la Nube. Explica conceptos clave como contenedores Docker, imágenes, registros y orquestadores de contenedores como Kubernetes. También cubre temas como despliegue de servicios, gestión de contenedores, redes y producción.
Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallosMicael Gallego
El documento habla sobre pruebas de escalabilidad y tolerancia a fallos en aplicaciones Kubernetes. Explica conceptos como escalado horizontal y vertical, así como mecanismos de autoescalado como HPA y Cluster Autoscaler. También cubre temas de observabilidad como monitorización, recopilación de logs y tracing entre servicios. Por último, introduce el concepto de ingeniería de caos para probar la resistencia a fallos de los sistemas.
OpenVidu es una plataforma para incorporar videoconferencia y video streaming en tus aplicaciones web. Es muy fácil de usar y tienes multitud de ejemplos con diferentes tecnologías. Además, es open source. Qué más se puede pedir?
Estas slides son una presentación a las pruebas de software. Para qué sirven, qué tipos de pruebas existen, qué librerías, frameworks y herramientas se pueden utilizar para implemenar pruebas automatizadas, etc.
Node.js es una tecnología cada vez más popular para el desarrollo de servicios web. Grandes abanderados de Java como Netflix están usando cada vez más JavaScript para implementar parte de su backend. Pese a esta realidad, muchos javeros como yo no quieren tocar JavaScript ni con un palo, y cuando hay que hacerlo, sólo en el browser.
Si eres javero y no te gusta JavaScript, en esta presentación tendrás una visión general sobre cómo desarrollar servicios web con Node.js. Verás cómo con TypeScript, async/await y frameworks como Nest y TypeORM no echarás de menos a Spring y JPA. Pero lo mismo pasa al revés, verás cómo en Java también puedes implementar apps con los mismos principios reactivos y funcionales tan comunes en Node.js.
Using Docker to build and test in your laptop and JenkinsMicael Gallego
Docker is changing the way we create and deploy software. This presentation is a hands-on introduction to how to use docker to build and test software, in your laptop and in your Jenkins CI server
Como ser mas productivo en el desarrollo de aplicacionesMicael Gallego
El documento describe varias técnicas para mejorar la productividad en el desarrollo de aplicaciones. Explica los patrones de diseño, incluyendo su definición, tipos principales y el patrón Singleton en detalle. También cubre temas como mapeo objeto-relacional, metodologías de desarrollo y herramientas que pueden ayudar a los desarrolladores.
TypeScript: Un lenguaje aburrido para programadores torpes y tristesMicael Gallego
Este documento presenta una introducción a TypeScript realizada por Micael Gallego. Explica qué es TypeScript y cómo extiende JavaScript para proporcionar tipos de datos y herramientas de desarrollo que ayudan a detectar errores. Muestra diversos ejemplos de cómo TypeScript verifica los tipos de datos y parámetros en funciones, variables y objetos.
Docker para Data Scientist - Master en Data Science URJCMicael Gallego
Presentación de Docker en el Master en Data Science de la URJC en la asignatura de Arquitecturas en la nube. En esta asignatura hablamos de AWS, Azure, Docker, Kubernetes, Mesos
El Aprendizaje Basado en Proyectos y la Clase Invertida para acercar el mundo...Micael Gallego
En este artículo se describe una metodología docente que pretende emular en el aula el trabajo que los alumnos realizarán cuando finalicen sus estudios. Esta metodología combina el Aprendizaje Basado en Proyectos y la Clase Invertida y está diseñada para la asignatura de Desarrollo Web del Grado en Ingeniería del Software de la URJC. La metodología propuesta se aplicará en el curso 2016/2017 y supone una evolución de una metodología previa, aplicada en el curso 2015/2016 en la misma asignatura. Se espera que los cambios introducidos en esta nueva metodología mejoren los resultados obtenidos en el curso pasado.
El mundo real en el aula, con la ayuda del profesorMicael Gallego
Presentación en las Jornadas de Innovación y TIC Educativas: JITICE 2016 de la Universidad Rey Juan Carlos.
Aplicación de Project Based Learning y Flipped Classroom en la asignatura de "Desarrollo Web" en el Grado de Ingeniería del Software
14 th Edition of International conference on computer visionShulagnaSarkar2
About the event
14th Edition of International conference on computer vision
Computer conferences organized by ScienceFather group. ScienceFather takes the privilege to invite speakers participants students delegates and exhibitors from across the globe to its International Conference on computer conferences to be held in the Various Beautiful cites of the world. computer conferences are a discussion of common Inventions-related issues and additionally trade information share proof thoughts and insight into advanced developments in the science inventions service system. New technology may create many materials and devices with a vast range of applications such as in Science medicine electronics biomaterials energy production and consumer products.
Nomination are Open!! Don't Miss it
Visit: computer.scifat.com
Award Nomination: https://x-i.me/ishnom
Conference Submission: https://x-i.me/anicon
For Enquiry: Computer@scifat.com
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
Consistent toolbox talks are critical for maintaining workplace safety, as they provide regular opportunities to address specific hazards and reinforce safe practices.
These brief, focused sessions ensure that safety is a continual conversation rather than a one-time event, which helps keep safety protocols fresh in employees' minds. Studies have shown that shorter, more frequent training sessions are more effective for retention and behavior change compared to longer, infrequent sessions.
Engaging workers regularly, toolbox talks promote a culture of safety, empower employees to voice concerns, and ultimately reduce the likelihood of accidents and injuries on site.
The traditional method of conducting safety talks with paper documents and lengthy meetings is not only time-consuming but also less effective. Manual tracking of attendance and compliance is prone to errors and inconsistencies, leading to gaps in safety communication and potential non-compliance with OSHA regulations. Switching to a digital solution like Safelyio offers significant advantages.
Safelyio automates the delivery and documentation of safety talks, ensuring consistency and accessibility. The microlearning approach breaks down complex safety protocols into manageable, bite-sized pieces, making it easier for employees to absorb and retain information.
This method minimizes disruptions to work schedules, eliminates the hassle of paperwork, and ensures that all safety communications are tracked and recorded accurately. Ultimately, using a digital platform like Safelyio enhances engagement, compliance, and overall safety performance on site. https://safelyio.com/
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
11. #expoQA19
Testing
activities
Automated or manual
testing activities.
Collect information about
the running components
during the test run.
Fixing
Fix the error on the
faulty component and
any other components
that might be affected
by these changes.
Submit the changes and
re-start the process.
Bug
localization
Find the faulty
component(s) out of the
information provided by
the failed test.
03
01 02
How’s the testing process?
12. #expoQA19
Testing
activities
Automated or manual
testing activities.
Collect information about
the running components
during the test run.
Fixing
Fix the error on the
faulty component and
any other components
that might be affected
by these changes.
Submit the changes and
re-start the process.
Bug
localization
Find the faulty
component(s) out of the
information provided by
the failed test.
03
01 02
How’s the testing process?
14. #expoQA19
“In control theory, observability is a
measure of how well internal states of a
system can be inferred from knowledge of
its external outputs.”
(Wikipedia)
23. #expoQA19
Limitations of logs in CI Servers
●
One huge log for all job
execution
– Dependencies downloading
– Compiling process
– Package process
– System deploying
– Finally…. test logs!
24. #expoQA19
Limitations of logs in CI Servers
●
Some test frameworks don’t
log when every individual test
starts and ends in the job log
– Is difficult to know the logs
belonging to failed test
– Developer has to include marks in
the code
– JUnit4 → @Rule
– JUnit5 → @ExtendWith
25. #expoQA19
Limitations of logs in CI Servers
Some testing
frameworks
add test log in
test report file
and it is show
in test page
26. #expoQA19
Limitations of logs in CI Servers
Some testing
frameworks
add test log in
test report file
and it is show
in test page
27. #expoQA19
Limitations of logs in CI Servers
Some testing
frameworks
add test log in
test report file
and it is show
in test page
28. #expoQA19
How do you analyze job log?
●
Using browser search tools (very limited)
30. #expoQA19
Very basic SUT with 2 services
Java
Web app
container
MySQL
container
Puerto
3306
Puerto
8080
Browser
http://localhost:8080
docker-compose
31. #expoQA19
●
Jenkinsfile
– 1) Clone repository
– 2) Build app
– 3) Start app
– 4) E2E tests
– 5) Shutdown app
Very basic SUT with 2 services
32. #expoQA19
Retrieving SUT Logs
●
Jenkins Job with Java SUT
– Clone repository
– Create SUT .jar
– Start .jar execution (gathering logs)
– Execute tests against SUT
– Sutdown SUT
– Archive logs
– If success, archive .jar
node {
try {
stage("Preparation") {
git(
url: 'https://github.com/codeurjc/expoqa19.git',
branch: "demo0"
)
}
stage("Create jar") {
sh "docker-compose build"
}
stage("Start app") {
sh "docker-compose up -d"
}
stage("Test") {
sh "mvn test"
}
} finally {
sh "docker-compose down"
junit "target/*-reports/TEST-*.xml"
}
}
Clone repository
Build app
Start app
E2E Tests
Shutdown app
https://github.com/codeurjc/expoqa19/blob/demo0/Jenkinsfile
34. #expoQA19
Limitations of logs in CI Servers
●
Where are the SUT logs?
– In e2e tests, usually Jenkins only
executes tests.
– SUT is executed elsewhere:
●
Cloud instances
●
Containers (Kubernetes,
docker-compose…)
●
Plain old .jars?
– This logs have to be retrieved,
stored...
41. #expoQA19
Logs management
●
We need tools to manage logs
– Put all logs in a single place
●
Test logs and SUT logs
●
Remote service to be used from SUT deployed
in any place
– Advanced log analysis capabilities
●
Filtering by test
●
Searching
●
Comparing executions (success vs fail)
44. #expoQA19
Logs management
●
Open source earch engine based on Lucene
●
Full text search of JSON documents
●
Http client
●
Usually used to parse and analyze software logs
https://www.elastic.co/products/elasticsearch
45. #expoQA19
Logs management
●
Data processing pipeline
●
Can ingest data from multiple sources
●
Parse and transform input data
●
Send results to ElasticSearch
https://www.elastic.co/products/logstash
61. #expoQA19
Logs management
●
Kibana is a generic tool to visualize and query
JSON documents
●
It is not designed specifically to log analysis
●
Example:
– You can filter results to only show ERROR log
entries
– But if you can take a look to previous log entries,
you have to search again to show all entries
63. #expoQA19
Logs management
●
OtrosLogViewer
– Is a tool that have to be installed locally
– Logs have to be opened from local text files
or connecting to servers using FTP
– Can’t process huge log files (it loads all file
in memory)
– It can not be used easily with CI systems
https://github.com/otros-systems/otroslogviewer
67. #expoQA19
If SUT is a web application,
the browser can help to know
root cause of the problem
when a system test fails
68. #expoQA19
●
Selenium is the most used tool to
manage browsers from tests
●
Tests can take screenshots of the
browser while executing and archive for
later inspection
Web Testing
73. #expoQA19
Also there are JUnit libraries with similiar
features
Browser recording
https://www.testcontainers.org/ https://bonigarcia.github.io/selenium-jupiter/
JUnit 4 JUnit 5
74. #expoQA19
●
Browser videos are not synchronized with logs
●
Browser console is not registered with other logs
(SUT logs, job logs...)
Limitations of browser recording
81. #expoQA19
What is ElasTest?
●
Open source platform for E2E testing of cloud
native applications
– Distributed and complex
– Containerized
https://elastest.io
82. #expoQA19
What is ElasTest?
●
Main features
– Log and metrics visualization, recording and
management
– Log/Metrics analysis and comparison
– Web browsers management
– Jenkins and TestLink integration
84. #expoQA19
Features
●
Works with your current tests & Jenkins jobs
– With any programming language
– With any testing framework
– With your usual tools like selenium
85. #expoQA19
Minimal code changes
●
Log test start and end
public class BaseTest {
protected static final Logger logger = LoggerFactory.getLogger(ElasTestBase.class);
@Rule
public TestName name = new TestName();
@Before
public void logStart() {
logger.info("##### Start test: " + name.getMethodName());
}
@After
public void logEnd() {
logger.info("##### Finish test: " + name.getMethodName());
}
}
86. #expoQA19
Minimal code changes
●
Create Selenium browsers with the remote URL
specified in an environment variable provided by ElasTest
public class BaseTest {
@Before
public void setupTest() throws MalformedURLException {
String eusURL = System.getenv("ET_EUS_API");
if (eusURL == null) {
// Local Google Chrome
driver = new ChromeDriver();
} else {
// Selenium Grid in ElasTest
driver = new RemoteWebDriver(new URL(eusURL), chrome());
}
}
}
108. #expoQA19
Conclusions
●
Cloud native apps are complex distributed
applications
●
More difficult to E2E test than monoliths
(distributed systems falacies)
●
Observability during E2E testing is key