Vert.x is a toolkit or platform for implementing reactive applications on the JVM.
Vert.x is an open-source project at the Eclipse Foundation. Vert.x was initiated in 2012 by Tim Fox.
General Purpose Application Framework, Polyglot (Java, Groovy, Scala, Kotlin, JavaScript, Ruby and Ceylon), Event Driven, non-blocking, Lightweight & fast, Reusable modules.
Vert.x is a toolkit or platform for implementing reactive applications on the JVM.
Vert.x is an open-source project at the Eclipse Foundation. Vert.x was initiated in 2012 by Tim Fox.
General Purpose Application Framework, Polyglot (Java, Groovy, Scala, Kotlin, JavaScript, Ruby and Ceylon), Event Driven, non-blocking, Lightweight & fast, Reusable modules.
In this talk Ben will walk you through running Cassandra in a docker environment to give you a flexible development environment that uses only a very small set of resources, both locally and with your favorite cloud provider. Lessons learned running Cassandra with a very small set of resources are applicable to both your local development environment and larger, less constrained production deployments.
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...Jérôme Petazzoni
Docker is two years old. While security has always been at the core of the questions revolving around Docker, the nature of those questions has changed. Last year, the main concern was "can I safely colocate containers on the same machine?" and it elicited various responses. Dan Walsh, SELinux expert, notoriously said: "containers do not contain!", and at last year's LinuxCon, Jérôme delivered a presentation detailing how to harden Docker and containers to isolate them better.
Today, people have new concerns. They include image transport, vulnerability mitigation, and more.
After a recap about the current state of container security, Jérôme will explain why those new questions showed up, and most importantly, how to address them and safely deploy containers in general, and Docker in particular.
[FOSDEM 2020] Lazy distribution of container imagesAkihiro Suda
https://fosdem.org/2020/schedule/event/containers_lazy_image_distribution/
The biggest problem of the OCI Image Spec is that a container cannot be started until all the tarball layers are downloaded, even though more than 90% of the tarball contents are often unneeded for the actual workload.
This session will show state-of-the-art alternative image formats, which allow runtime implementations to start a container without waiting for all its image contents to be locally available.
Especially, this session will put focus on CRFS/stargz and its implementation status in containerd (https://github.com/containerd/containerd/issues/3731). The plan for BuildKit integration will be shown as well.
This deep dive will address the questions on how to install, deploy and operate OpenStack by providing informative slides which will help users get ahead start with this awesome project
In this presentation, Alex Brett will show how Citrix has constructed a Test-as-a-Service environment which is used by the wider XenServer engineering team, highlighting the benefits the approach provides, together with an introduction to the (recently open sourced) XenRT automation framework which powers it, and discuss how this could be applied within the Xen Project community.
High level introduction to Linux Containers. Presented at Interop Las Vegas 2015. Frames the discussion with an introduction to intermodal shipping containers, the innovation around logistics and purpose built infrastructure and the impact. Walk through features of the Linux kernel which provide isolation and limitation and packaging applications as filesystem images. Finish talking about the emerging purpose built infrastructure for managing container deployments.
Running Cassandra in a docker environment to give you a flexible development environment that uses only a very small set of resources, both locally and with your favorite cloud provider. Lessons learned running Cassandra with a very small set of resources are applicable to both your local development environment and larger, less constrained production deployments.
From http://www.meetup.com/Docker-Santa-Clara/events/232789407/
Stephen Nguyen a Developer Evangelist for ClusterHQ reviews how volumes work and overviews the benefits of allowing Flocker to orchestrate your Volumes. (video coming soon)
Ceph is a open source , software defined storage excellent and the only ( i would say ) storage backend as a cloud storage. Ceph is the Future of Storage. In this presentation i am explaining ceph and openstack briefly , you would definitely enjoy it.
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)Mirantis
Mirantis, the Global Engineering Services leader for OpenStack™ presents 2-day Bootcamp for OpenStack
www.mirantis.com/training
This two-day intensive course provides hands-on technical training for OpenStack aimed at system administrators and IT professionals looking to get started on an OpenStack Cloud deployment. Each of the two days will consist of lecture, demos and group exercises. Topics include:
• OpenStack Overview & Architecture: Project goals and use cases, basic operating and deployment principles
• Cloud Usage Patterns: OpenStack codebase overview; creating networks, tenants, roles, troubleshooting; Nexenta Volume Driver
• In Production: Deploying OpenStack for real-world use, and practice of OpenStack operation on multiple nodes
• Swift Object Storage: use cases, architecture, capabilities, configuration, security and deployment
• Advanced Topics: Software Defined Networking, deployment and issues workshop, VMWare/OpenStack comparison
PRE-REQUISITES: Comfortable with Linux CLI, understanding of virtualization & hypervisors, Some experience with Linux networking
All course materials will be provided by Mirantis, including access to shared compute resources for labs. A light breakfast and lunch will be available to all course participants.
Mirantis instructors are active code committers to the OpenStack project, with proven experience building OpenStack clouds in the real world. In parallel to delivering expert training, they also consult for some of the notable global companies using OpenStack – including Cisco, NASA, Dell and Internap.
Netflix Container Scheduling and Execution - QCon New York 2016aspyker
Scheduling a Fuller House: Container Management At Netflix
Customers from over all over the world streamed Forty Two Billion hours of Netflix content last year. Various Netflix batch jobs and an increasing number of service applications use containers for their processing. In this talk Netflix will present a deep dive on the motivations and the technology powering container deployment on top of the AWS EC2 service. The talk will cover our approach to cloud resource management and scheduling with the open source Fenzo library, along with details on docker execution engine as a part of project Titus. As well, the talk will share some of the results so far, lessons learned, and end with a brief look at the developer experience for containers.
The State of Ceph, Manila, and Containers in OpenStackSage Weil
OpenStack users deploying Ceph for block (Cinder) and object (S3/Swift) are unsurprisingly looking at Manila and CephFS to round out a unified storage solution. Ceph is based on a low-level object storage layer call RADOS that serves as the foundation for its object, block, and file services. Manila's file as a service in OpenStack enables a range of container-based use-cases with Docker and Kubernetes, but a variety of deployment architectures are possible.
This talk will cover the current state of CephFS support in Manila, including upstream Manila support, Manila works in progress, a progress update on CephFS itself, including new multi-tenancy support to facilitate cloud deployments, and a discussion of how this impact container deployment scenarios in an OpenStack cloud.
[KubeCon NA 2020] containerd: Rootless Containers 2020Akihiro Suda
Rootless Containers means running the container runtimes (e.g. runc, containerd, and kubelet) as well as the containers without the host root privileges. The most significant advantage of Rootless Containers is that it can mitigate potential container-breakout vulnerability of the runtimes, but it is also useful for isolating multi-user environments on HPC hosts. This talk will contain the introduction to rootless containers and deep-dive topics about the recent updates such as Seccomp User Notification. The main focus will be on containerd (CNCF Graduated Project) and its consumer projects including Kubernetes and Docker/Moby, but topics about other runtimes will be discussed as well.
https://sched.co/fGWc
Alessandro Confetti - Learn how to build decentralized and serverless html5 a...Codemotion
Do you have an idea for a startup and don't want to pay for scaling it up? Forget about bandwidth problems, servers to install and pay for, with the power of IPFS and the blockchain. In this talk, we will explore how to build an HTML5 DAPP (distributed application) with EmbarkJS, and figure out how to rethink servers, storage, messaging, data and payments in a distributed and decentralised way with the help of Ethereum's smart contracts and IPFS distributed storage.
In this talk Ben will walk you through running Cassandra in a docker environment to give you a flexible development environment that uses only a very small set of resources, both locally and with your favorite cloud provider. Lessons learned running Cassandra with a very small set of resources are applicable to both your local development environment and larger, less constrained production deployments.
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...Jérôme Petazzoni
Docker is two years old. While security has always been at the core of the questions revolving around Docker, the nature of those questions has changed. Last year, the main concern was "can I safely colocate containers on the same machine?" and it elicited various responses. Dan Walsh, SELinux expert, notoriously said: "containers do not contain!", and at last year's LinuxCon, Jérôme delivered a presentation detailing how to harden Docker and containers to isolate them better.
Today, people have new concerns. They include image transport, vulnerability mitigation, and more.
After a recap about the current state of container security, Jérôme will explain why those new questions showed up, and most importantly, how to address them and safely deploy containers in general, and Docker in particular.
[FOSDEM 2020] Lazy distribution of container imagesAkihiro Suda
https://fosdem.org/2020/schedule/event/containers_lazy_image_distribution/
The biggest problem of the OCI Image Spec is that a container cannot be started until all the tarball layers are downloaded, even though more than 90% of the tarball contents are often unneeded for the actual workload.
This session will show state-of-the-art alternative image formats, which allow runtime implementations to start a container without waiting for all its image contents to be locally available.
Especially, this session will put focus on CRFS/stargz and its implementation status in containerd (https://github.com/containerd/containerd/issues/3731). The plan for BuildKit integration will be shown as well.
This deep dive will address the questions on how to install, deploy and operate OpenStack by providing informative slides which will help users get ahead start with this awesome project
In this presentation, Alex Brett will show how Citrix has constructed a Test-as-a-Service environment which is used by the wider XenServer engineering team, highlighting the benefits the approach provides, together with an introduction to the (recently open sourced) XenRT automation framework which powers it, and discuss how this could be applied within the Xen Project community.
High level introduction to Linux Containers. Presented at Interop Las Vegas 2015. Frames the discussion with an introduction to intermodal shipping containers, the innovation around logistics and purpose built infrastructure and the impact. Walk through features of the Linux kernel which provide isolation and limitation and packaging applications as filesystem images. Finish talking about the emerging purpose built infrastructure for managing container deployments.
Running Cassandra in a docker environment to give you a flexible development environment that uses only a very small set of resources, both locally and with your favorite cloud provider. Lessons learned running Cassandra with a very small set of resources are applicable to both your local development environment and larger, less constrained production deployments.
From http://www.meetup.com/Docker-Santa-Clara/events/232789407/
Stephen Nguyen a Developer Evangelist for ClusterHQ reviews how volumes work and overviews the benefits of allowing Flocker to orchestrate your Volumes. (video coming soon)
Ceph is a open source , software defined storage excellent and the only ( i would say ) storage backend as a cloud storage. Ceph is the Future of Storage. In this presentation i am explaining ceph and openstack briefly , you would definitely enjoy it.
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)Mirantis
Mirantis, the Global Engineering Services leader for OpenStack™ presents 2-day Bootcamp for OpenStack
www.mirantis.com/training
This two-day intensive course provides hands-on technical training for OpenStack aimed at system administrators and IT professionals looking to get started on an OpenStack Cloud deployment. Each of the two days will consist of lecture, demos and group exercises. Topics include:
• OpenStack Overview & Architecture: Project goals and use cases, basic operating and deployment principles
• Cloud Usage Patterns: OpenStack codebase overview; creating networks, tenants, roles, troubleshooting; Nexenta Volume Driver
• In Production: Deploying OpenStack for real-world use, and practice of OpenStack operation on multiple nodes
• Swift Object Storage: use cases, architecture, capabilities, configuration, security and deployment
• Advanced Topics: Software Defined Networking, deployment and issues workshop, VMWare/OpenStack comparison
PRE-REQUISITES: Comfortable with Linux CLI, understanding of virtualization & hypervisors, Some experience with Linux networking
All course materials will be provided by Mirantis, including access to shared compute resources for labs. A light breakfast and lunch will be available to all course participants.
Mirantis instructors are active code committers to the OpenStack project, with proven experience building OpenStack clouds in the real world. In parallel to delivering expert training, they also consult for some of the notable global companies using OpenStack – including Cisco, NASA, Dell and Internap.
Netflix Container Scheduling and Execution - QCon New York 2016aspyker
Scheduling a Fuller House: Container Management At Netflix
Customers from over all over the world streamed Forty Two Billion hours of Netflix content last year. Various Netflix batch jobs and an increasing number of service applications use containers for their processing. In this talk Netflix will present a deep dive on the motivations and the technology powering container deployment on top of the AWS EC2 service. The talk will cover our approach to cloud resource management and scheduling with the open source Fenzo library, along with details on docker execution engine as a part of project Titus. As well, the talk will share some of the results so far, lessons learned, and end with a brief look at the developer experience for containers.
The State of Ceph, Manila, and Containers in OpenStackSage Weil
OpenStack users deploying Ceph for block (Cinder) and object (S3/Swift) are unsurprisingly looking at Manila and CephFS to round out a unified storage solution. Ceph is based on a low-level object storage layer call RADOS that serves as the foundation for its object, block, and file services. Manila's file as a service in OpenStack enables a range of container-based use-cases with Docker and Kubernetes, but a variety of deployment architectures are possible.
This talk will cover the current state of CephFS support in Manila, including upstream Manila support, Manila works in progress, a progress update on CephFS itself, including new multi-tenancy support to facilitate cloud deployments, and a discussion of how this impact container deployment scenarios in an OpenStack cloud.
[KubeCon NA 2020] containerd: Rootless Containers 2020Akihiro Suda
Rootless Containers means running the container runtimes (e.g. runc, containerd, and kubelet) as well as the containers without the host root privileges. The most significant advantage of Rootless Containers is that it can mitigate potential container-breakout vulnerability of the runtimes, but it is also useful for isolating multi-user environments on HPC hosts. This talk will contain the introduction to rootless containers and deep-dive topics about the recent updates such as Seccomp User Notification. The main focus will be on containerd (CNCF Graduated Project) and its consumer projects including Kubernetes and Docker/Moby, but topics about other runtimes will be discussed as well.
https://sched.co/fGWc
Alessandro Confetti - Learn how to build decentralized and serverless html5 a...Codemotion
Do you have an idea for a startup and don't want to pay for scaling it up? Forget about bandwidth problems, servers to install and pay for, with the power of IPFS and the blockchain. In this talk, we will explore how to build an HTML5 DAPP (distributed application) with EmbarkJS, and figure out how to rethink servers, storage, messaging, data and payments in a distributed and decentralised way with the help of Ethereum's smart contracts and IPFS distributed storage.
Learn how to build decentralized and serverless html5 applications with embar...Alessandro Confetti
Codemotion, Amsterdam 09/05/2018
Do you have an idea for a startup and don't want to pay for scaling it up? Forget about bandwidth problems, servers to install and pay for, with the power of IPFS, DAT and the blockchain.
In this talk, we will explore how to build an HTML5 DAPP (distributed application) with EmbarkJS, and figure out how to rethink servers, storage, messaging, data and payments in a distributed and decentralised way with the help of Ethereum's smart contracts, IPFS and DAT distributed storage.
Discover more at http://blog.zigolab.it
Learn how to build decentralized and serverless html5 applications with Embar...Codemotion
Do you have an idea for a startup and don't want to pay for scaling it up? Forget about bandwidth problems, servers to install and pay for, with the power of IPFS, DAT and the blockchain. In this talk, we will explore how to build an HTML5 DAPP (distributed application) with EmbarkJS, and figure out how to rethink servers, storage, messaging, data and payments in a distributed and decentralised way with the help of Ethereum's smart contracts, IPFS and DAT distributed storage.
Mining Component Repositories for Installability IssuesRoberto Di Cosmo
Slides of the MSR 2015 presentation on the debcheck tool, that has been used to track installability issues in Debian for almost 10 years, and can be extended to many other repositories, like the Opam and Drupal ones.
Build your reactive web application with Vert.xCodemotion
by Samuele Dell'Angelo - Partiremo da Vert.x, un'alternativa poliglotta a Node.js. Esploreremo le feature e i concetti chiave e lo faremo in maniera pratica, costruendo una web application secondo i dettami del reactive programming. Impareremo a cambiare il nostro punto di vista, spostandoci dal paradigma classico request/response al mondo dei server non bloccanti. Tutto con un occhio all'architettura e al concetto di microservizi.
Learn how to build decentralized and serverless html5 applications with embar...Alessandro Confetti
Codemotion, Rome 13/04/2018
Do you have an idea for a startup and don't want to pay for scaling it up? Forget about bandwidth problems, servers to install and pay for, with the power of IPFS, DAT and the blockchain.
In this talk, we will explore how to build an HTML5 DAPP (distributed application) with EmbarkJS, and figure out how to rethink servers, storage, messaging, data and payments in a distributed and decentralised way with the help of Ethereum's smart contracts, IPFS and DAT distributed storage.
Discover more at http://blog.zigolab.it
Learn how to build decentralized and serverless html5 applications with Embar...Codemotion
Do you have an idea for a startup and don't want to pay for scaling it up? Forget about bandwidth problems, servers to install and pay for, with the power of IPFS, DAT and the blockchain. In this talk, we will explore how to build an HTML5 DAPP (distributed application) with EmbarkJS, and figure out how to rethink servers, storage, messaging, data and payments in a distributed and decentralised way with the help of Ethereum's smart contracts, IPFS and DAT distributed storage.
eZ publish 5[-alpha1] Introduction & ArchitectureAndré Rømcke
eZ publish 5 Introduction & Architecture presentation held during eZ Summer Camp 2012 in Bol, Croatia. Gives and introduction to eZ Publish 5 and orientation on where the different parts currently exists for alpha1.
Updated prestentions will be held during eZ Conferance Köln on October 17th 2012.
A presentation focused on the latest Storage API from Docker and integrating with an EMC {code} project called Rexray to provide container storage from EBS volumes.
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedLeon Anavi
After several years of development, VNC support has been introduced as a new feature in Weston 12, which was released on May 17, 2023. This release includes a VNC backend that enables remote control through graphical desktop sharing. Notably, this marks the second Weston backend for remote connections with a graphical interface, as previous versions already supported RDP (Remote Desktop Protocol).
The VNC backend in Weston 12 relies on two key libraries: Neat VNC and AML. It features TLS support and user authentication. Neat VNC is a VNC server library with a liberal license and a clean interface. AML, which stands for Andri's Main Loop, is a dependency for Neat VNC. Both of these projects were initiated by Andri Yngvason, and their source code is available on GitHub under the ISC License.
Shortly after the release of Weston 12, the recipe in openembedded-core was updated to accommodate it. This update is included in Yocto release Nanbield 4.3 and Poky, which is the Yocto Project's reference distribution. It's important to note that the VNC backend is available as an optional configuration for PACKAGECONFIG, but it is not enabled by default. To build it, you'll need the Neat VNC and AML recipes, which have already been submitted by Leon Anavi to the meta-oe layer. Additionally, remember that you must explicitly enable TLS in neatvnc's PACKAGECONFIG to utilize the TLS support and user authentication in Weston's VNC backend.
This presentation aims to demonstrate the practical use of the Yocto Project for building a core-image-weston with a VNC backend, enabling remote graphical desktop sharing. The demonstrations will showcase popular development boards, including the Raspberry Pi with the BSP layer meta-raspberrypi, Radxa ROCK 4 B with the BSP layer meta-rockchip, and Toradex Verdin i.MX8M Plus with Toradex and NXP BSPs. The presentation will provide a step-by-step walkthrough for generating certificates and establishing connections using Vinagre, an open-source VNC client for the GNOME Desktop.
The presentation is suitable for anyone interested in Wayland and Weston, and no prior experience with VNC is required. This talk will illustrate how to set up the VNC backend in Weston and simplify the initial setup process for those interested in using it.
Unleash software architecture leveraging on dockerAdrien Blind
The following talk first comes back on key aspects of microservices architectures. It then shifts to Docker, to explain in this context the benefits of containers and especially the new orchestration features appeared with version 1.12.
Lukas Macura - Employing Zabbix to monitor OpenWrt (Beesip) devices with UciprovZabbix
Beesip (Bright Efficient Embedded Solution for IP Telephony) is platform based on OpenWrt, primarily made for IP telephony purposes. The aim of the project is the development and implementation of embedded SIP communication server with an easy integration into the computer network based on open-source solutions. Beesip uses uciprov for remote management and provisioning. Next to this, it uses Zabbix for inventory and monitoring utilizing auto-discovery and auto-registration. Even if it is used primarily for IP telephony, it is common to use Beesip build system for other purposes like monitoring probes distribution or Eduroam AP management. Talk will be practically oriented showing possibilities of provisioning and auto inventory in OpenWrt world.
Zabbix Conference 2015
Vert.x is a tool-kit for building reactive application on the JVM. While Vert.x is a totally un opinionated framework/toolkit, vxms helps the developer to create REST and/or event-based (micro) services on top of Vert.x. With the power of the underlying Vert.x, vxms provides an easy to use, yet powerful fluent API to create resilient and easy to maintain services in your everyday work.
When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, C...Massimiliano Dessì
Turning Maven into a High Scalable, Resource Efficient, Cloud Ready Microservice
Embracing Microservice Architecture in a new project is something that most of developers want!
But how about the old and gold projects that are not designed and planned for it?
What about refactoring a real legacy piece of software that is stable and used by almost all Java developers out there?
Come to this talk to see how we transformed Maven builds in a Cloud Ready Microservice.
Some covered topics are:
-Live objects extracted from Maven Mojos and shared between different classloaders
-Cloud Native features, Configuration and in memory plugins
-Turn any Maven build into incremental ones
-Concurrent use of the same Maven compiler
-Turn into reusable Maven internal objects to decrease memory footprint and increase speed
-How fits in Drools and jBPM ecosystem
-Trade offs
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
2. 2
@desmax74
Massimiliano Dessì has more than 13 years of
experience in programming.
He’s a proud father of three, Manager of Google
Developer Group Sardegna, Founder of
SpringFramework IT, co-founder of JugSardegna.
Author of Spring 2.5 AOP.
He works and lives in Cagliari, Italy.
Speaker
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
3. 3
Vert.x
Vert.x is a
lightweight (IoT)
polyglot
application development framework
for the JVM
enabling you
to build
high performance/reactive applications
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
7. 7
Reactive
“readily responsive to a stimulus”
Component active and ready to respond to event
Event Driven
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
8. 8
React to events → Event Driven
React to failure → Resilient
React through a UI → Interactive
React to load → Scalable
Reactive
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
9. 9
Asyncronous and loosely coupled
+
Non blocking
=
lower latency and higher
throughput
React to event - Event driven
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
13. 13
The “traditional” applications/containers
reserve
one thread
for each I/O resource,
this mean
one thread per connection,
this is a blocking architecture
because rest of incoming connections must await
Blocking apps
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
15. 15
“The C10k problem is the problem of optimising network
sockets to handle a large number of clients at the same
time”
New Challenge
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
http://en.wikipedia.org/wiki/C10k_problem
16. 16
C10k solutions on jvm
- No shared mutable state (all solutions derived from this) -
Functional approach [Scala, JDK8]
Actors [Akka]
Reactor/EventLoop [Vertx]
Project Reactor
Jetty
Disruptor
...
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
21. 21
Non blocking – Netty approach
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
22. 22
Non blocking – Netty approach
An eventLoop is powered by exactly one Thread
that never change.
The Events and task are executed in a FIFO order
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
27. 27
EventLoop Vertx through Netty
The benefit of executing
the task in the event loop is
that you don’t need to worry
about any synchronization or
concurrency problems.
The runnable will get executed
in the same thread as all
other events that are related to the channel.
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
28. 28
When the data arrives from the outside or from inside,
the event loop thread wakes up,
executes any callback function registered for the
specific event type,
and returns to its wait state until a new event occurs
Vertx
creates as many event loop threads as the number of CPU cores
Event Loops
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
29. 29
The unit of execution is a Verticle
which reacts to event messages,
and communicates sending event messages.
Decoupling communication
with event handlers and messages
enables location transparency
Event Loops
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
30. 30
Never block the Event Loop
Never block the Event Loop
Never block the Event Loop
If you need a blocking or long time computation code
use a separate thread for this
Golden Rule
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
31. 31
Vertx provide an abstraction in which write code like a single-
thread, this abstraction is called Verticle.
In classic framework we have to write Controller or Service
Object, with Vertx all communications are async with events
through Verticles.
Direct calls does not exist in Vertx,
all calls are messages on Event Bus
Verticle
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
32. 32
Message to object (roots)
Sending Messages to Objects
all Smalltalk processing is accomplished by sending messages to
objects. An initial problem solving approach in Smalltalk is to try to reuse
the existing objects and message
http://en.wikipedia.org/wiki/Smalltalk
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
34. 34
Verticle
● Each Verticle instance is executed from only one thread
● Each Verticle instance assigned to thread/EventLoop
● Separate classloader for each Verticle
● Polyglot Verticles
● React to event with event handlers
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
35. 35
public class MyVerticle extends Verticle {
@Override
public void start() {
// register handlers
}
@Override
public void stop() {
...
}
}
Verticle
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
37. 37
Verticles packaging
(Module)
A module is a collection of verticles and other code and files
that is packaged as a unit,
and then referenced from other Vert.x modules or applications.
The module descriptor is a JSON file called mod.json
{
"main": "MyPersistor.java"
"worker": true //worker verticle
"preserve-cwd":true
...
}
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
38. 38
Deploy module runtime
var container = require('vertx/container');
var config = {
"web_root": ".",
"port": 8080
};
//downloaded form vertx repository
container.deployModule("io.vertx~mod-web-server~2.0.0-final", config);
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
39. 39
Vertx provide Worker verticles
that run on a separate thread
to perform blocking operations
without block the Eventloop
Worker Verticle
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
40. 40
Handlers
EventBus bus = vertx.eventBus();
Handler<Message> handler = new Handler<Message>() {
@Override
public void handle(Message message) {
//doSomething
}
}
bus.registerHandler("com.codemotion.firsthandler", handler);
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
41. 41
Pub Sub
EventBus bus = vertx.eventBus();
bus.publish(“com.codemotion.firsthandler”, “Hello world”);
publish mean broadcast to all subscribers
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
42. 42
P2P
EventBus bus = vertx.eventBus();
bus.send(“39.216667.Nord-9.116667.Est”, “Hello world”);
send mean point to point, only one subscriber
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
43. 43
Sender
bus.send("39.216667.Nord-9.116667.Est", "This is a message !",
new Handler<Message<String>>() {
@Override
public void handle(Message<String> message) {
String received = message.body();
}
});
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
44. 44
Receiver
Handler<Message> handler = new Handler<Message<String>>() {
@Override
public void handle(Message<String message) {
String received = message.body();
message.reply("This is a reply");
}
}
bus.registerHandler("39.216667.Nord-9.116667.Est", handler);
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
45. 45
Message from the UI
<script src="http://cdn.sockjs.org/sockjs-0.3.4.min.js"></script>
<script src='vertxbus.js'></script>
<script>
var eb = new vertx.EventBus('http://localhost:8080/eventbus');
eb.onopen = function() {
eb.registerHandler('some-address', function(message) {
console.log('received a message: ' + JSON.stringify(message);
});
eb.send('some-address', {name: 'tim', age: 587});
}
</script>
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
46. 46
Goodies
● HTTP/HTTPS servers/clients
● WebSockets support
● SockJS support
● Timers
● Buffers
● Streams and Pumps
● Routing
● Async File I/O
● Shared Data
● Embeddable
● Module Repo
(http://modulereg.vertx.io/)
● WebServer
● SessionManager
● Auth manager
● Persistors (Mongo, JDBC)
● Spring
● RxJava
● Many others
● Compile on the fly
(deploy .java verticle)
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
47. 47
Logger logger = container.logger();
getVertx().eventBus().sendWithTimeout("test.address", "This is a
message", 1000, new Handler<AsyncResult<Message<String>>>() {
public void handle(AsyncResult<Message<String>> result) {
if (result.succeeded()) {
Logger.info("I received a reply " + message.body);
} else {
ReplyException ex = (ReplyException)result.cause();
logger.error("Failure type: " + ex.failureType());
logger.error("Failure code: " + ex.failureCode());
logger.error("Failure message: " + ex.message());
// restart dead verticle
}
}
});
Notification of reply failure
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
48. 48
long timerID = vertx.setPeriodic(1000, new
Handler<Long>() {
public void handle(Long timerID) {
log.info("And every second this is printed");
}
});
log.info("First this is printed");
Timers
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
49. 49
Futures are Expensive to Compose
“Futures are straight-forward to use for a single level of
asynchronous execution but they start to add non-trivial
complexity when they're nested. “
RxJava
https://github.com/Netflix/RxJava/wiki
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
50. 50
RxJava
Reactive
Functional reactive offers efficient execution and composition by
providing a collection of operators capable of filtering, selecting,
transforming, combining and composing Observable's.
https://github.com/Netflix/RxJava/wiki
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
51. 51
“The Observable data type can be thought of as a "push"
equivalent to Iterable which is "pull". With an Iterable, the
consumer pulls values from the producer and the thread blocks
until those values arrive.
By contrast with the Observable type, the producer pushes
values to the consumer whenever values are available. This
approach is more flexible, because values can arrive
synchronously or asynchronously.”
RxJava
https://github.com/Netflix/RxJava/wiki
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
52. 52
RxJava
def simpleComposition() {
customObservableNonBlocking()
.skip(10)// skip the first 10
.take(5)// take the next 5
.map({ stringValue -> return stringValue+ "transf"})
.subscribe({ println "onNext => " + it})
}
https://github.com/Netflix/RxJava/wiki
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
53. 53
“The Observable type adds two missing semantics to the Gang
of Four's Observer pattern, which are available in the Iterable
type:
1) The ability for the producer to signal to the consumer that
there is no more data available.
2)The ability for the producer to signal to the consumer that an
error has occurred.”
RxJava
https://github.com/Netflix/RxJava/wiki
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
54. 54
RxJava a library (Java, Groovy, Scala, Clojure, JRuby)
for composing asynchronous and event-based programs by
using observable sequences .
It extends the observer pattern to support sequences of
data/events and adds operators that allow you to compose
sequences together declaratively while abstracting away
concerns about things like low-level threading, synchronization,
thread-safety, concurrent data structures, and non-blocking I/O.
RxJava
https://github.com/Netflix/RxJava/wiki
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
55. 55
RxJava
def Observable<T> getData(int id) {
if(availableInMemory) {// sync
return Observable.create({ observer ->
observer.onNext(valueFromMemory);
observer.onCompleted();
})
} else { //Async
return Observable.create({ observer ->
executor.submit({
try {
T value = getValueFromRemoteService(id);
observer.onNext(value);
observer.onCompleted();
}catch(Exception e) {
observer.onError(e);
}
})
});
}}
No differences from
the client perspective,
an Observable in both cases
http://netflix.github.io/RxJava/javadoc/rx/package-tree.html
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
56. 56
Mod-rxvertx (RxJava in Vertx)
RxEventBus rxEventBus = new RxEventBus(vertx.eventBus());
rxEventBus.<String>registerHandler("foo").subscribe(
new Action1<RxMessage<String>>() {
public void call(RxMessage<String> message) {
message.reply("pong!");// Send a single reply
}
});
Observable<RxMessage<String>> obs = rxEventBus.send("foo", "ping!");
obs.subscribe(
new Action1<RxMessage<String>>() {
public void call(RxMessage<String> message) {
// Handle response
}
},
new Action1<Throwable>() {
public void call(Throwable err) {
// Handle error
}
}
);
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx
57. 57
Automatic failover (resilient)
When a module is run with HA, if the Vert.x instance where it is
running fails, it will be re-started automatically on another node of
the cluster, this is module fail-over.
To run a module with HA, add the -ha switch when running it on
the command line:
vertx runmod com.acme~my-mod~2.1 -ha
See details in org.vertx.java.platform.impl.HAManager
ROME 11-12 april 2014 – Massimiliano Dessì - Vertx