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.
With Ansible, an infrastructure (server, cloud) deployment automation & configuration both powerful AND simple (in most cases simpler than shell scripts and maven poms!), you can enjoy your coffee while it does all the work.
The talk is very practical: I will set up a whole cluster in real time before the talk ends.
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12Puppet
Julien Rottenberg, CityGrid. Presentation of the tools and workflow for our puppet setup. How puppet helps us managing 500+ servers in a hybrid environment O&O Datacenter and EC2, hands free. Watch the video at http://youtu.be/FPwga7HwomM
PuppetCamp LA, May '12.
Puppet at DemonWare - Ruaidhri Power - Puppetcamp Dublin '12Puppet
This talk will describe the evolution of how we've used Puppet at Demonware, a subsidiary of Activision Blizzard, to run the infrastructure of some of the world's biggest games, supporting millions of concurrent users for titles such as Call of Duty.
Ruaidhri Power of DemonWare at PuppetCamp Dublin '12. http://www.puppetlabs.com
CloudOpen North America 2013: Vagrant & CFEngineNick Anderson
During this hands-on tutorial you will learn how to quickly provision local test/development/demo environments using Vagrant and Virtualbox. We will cover provisioning and configuring machines quickly using Vagrant and CFEngine. You will learn how Vagrant and Virtualbox can be used to bring up local development/test/demo environments. You will also learn how CFEngine can be leveraged to automate configuration of the environment after it has been initialized. You will take away a multi-vm test environment managed by CFEngine.
This tutorial targets technical people who need repeatable test environments and are comfortable using the Linux command-line. These environments can speed developer on-boarding, play a role in continuous integration, or just provide quick sandboxes for experimentation. No previous knowledge of Vagrant or CFEngine is required.
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12Puppet
Julien Rottenberg, CityGrid. Presentation of the tools and workflow for our puppet setup. How puppet helps us managing 500+ servers in a hybrid environment O&O Datacenter and EC2, hands free. Watch the video at http://youtu.be/FPwga7HwomM
PuppetCamp LA, May '12.
Puppet at DemonWare - Ruaidhri Power - Puppetcamp Dublin '12Puppet
This talk will describe the evolution of how we've used Puppet at Demonware, a subsidiary of Activision Blizzard, to run the infrastructure of some of the world's biggest games, supporting millions of concurrent users for titles such as Call of Duty.
Ruaidhri Power of DemonWare at PuppetCamp Dublin '12. http://www.puppetlabs.com
CloudOpen North America 2013: Vagrant & CFEngineNick Anderson
During this hands-on tutorial you will learn how to quickly provision local test/development/demo environments using Vagrant and Virtualbox. We will cover provisioning and configuring machines quickly using Vagrant and CFEngine. You will learn how Vagrant and Virtualbox can be used to bring up local development/test/demo environments. You will also learn how CFEngine can be leveraged to automate configuration of the environment after it has been initialized. You will take away a multi-vm test environment managed by CFEngine.
This tutorial targets technical people who need repeatable test environments and are comfortable using the Linux command-line. These environments can speed developer on-boarding, play a role in continuous integration, or just provide quick sandboxes for experimentation. No previous knowledge of Vagrant or CFEngine is required.
Pragmatic Monolith-First, easy to decompose, clean architecturePiotr Pelczar
Designing systems architecture corresponding to business needs in long future is like a reading tea leaves. There is no common way to design systems. Making decision to start project with microservices may make refactoring much harder and introduce too much complexity in the infrastructure layer and finally slow down development. However maintaining a monolith is a tough nut to crack.
Let’s see how to build a system starting from well organized monolith with well marked technical and business scopes that enables to make a decision in with way it should be decomposed and how to deliver it. Strategic and tactical techniques from Domain-Driven Design and Hexagonal Architecture will be used. I will show you how to monitor accidential complexity using different tools during CI.
I invite you if you are interested in building systems with complex business domains.
It Works On My Machine: Vagrant for Software DevelopmentCarlos Perez
Vagrant is a command-line interface for simplifying the use of virtual machines (VM's). Vagrant allows teams to standardize their software development workflows by offering a uniform and portable interface to provision and run VM's on different operating platforms such as Mac OS X, Windows, and Linux and achieve identical results. It supports all the major virtualization solutions such as VirtualBox, VMWare, and Hyper-V and supports configuration tools that range from simple shell scripts to powerful Chef and Puppet recipes. Developers simply invoke “vagrant up” and immediately enjoy a standard, consistent, and reproducible VM for software development and testing.
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...Pablo Godel
Un programador PHP/web no está completo sin conocimientos de administración de servidores. Cuando buscas un trabajo, seguramente te encontrarás con el requerimiento de conocimientos para configurar un servidor (Linux, Apache, MySQL and PHP). Las posibilidades de que consigas ese trabajo son mayores si conoces sobre servidores.
OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam RuzickaNETWAYS
When we talk about the cloud, we usually hear of Paas, Saas, and Iaas. This talk introduces Maas i.e Metal as a Service to the audience. Foreman is an open source project that helps system administrators manage server throughout their life-cycle, from provisioning and configuration to orchestration and monitoring. This talk consists of a brief introduction to the Foreman Project and Foreman Discovery, followed by a deep understanding of Maas and how it is implemented in Foreman Discovery. Lastly, the aim of this talk would be to encourage newbies to contribute to the Foreman Project and Foreman Discovery.
Introduction to Bare-metal Provisioning
• Discovery as MaaS.
• IPMI.
• PXE.
• IPXE
.
Discovering a host using Foreman Discovery
• Demo for discovering a host.
• Fact parsing in Discovery.
Discovery functioning and Deep Dive
• Auto-provisioning.
• Reboot Feature.
• Post provisioners (Puppet/Ansible)
Continuous delivery model sounds great to almost everyone, but is not that easy to implement when real life comes into play. On the one hand, AEM architecture feels like a good fit for this strategy (everything is content after all, right?), but on the other hand we all know how challenging even individual deployment can get. Content management system itself is often just a fraction of your concern - you have to build it first, test it, stitch all the elements up and then figure out how to deliver your code in a repeatable and controlled way to production.
Throughout the last couple of years we’ve been trying really hard at Cognifide to make continuous release and delivery possible for AEM. It was a bumpy and twisty road, but we finally made it. During my talk I’d like to show you how we build AEM platforms these days using open source tools, including:
- Terraform to define and manage infrastructure as code
- Chef to describe deployments in an approachable way, which enforces consistency & repeatability across environments
- Consul that helps us discover services around and mitigate failures
- Jenkins & GoCD to orchestrate delivery model
This presentation was held at the DevOps Meetup Frankfurt on 2014/12/08. It describes some tools and practices for testing your infrastructure provisioned with Chef.
Learn to leverage the power of server-side Javascript with this Node.js introductory tutorial. We’ll dive into Node’s architecture and understand the build and dependency management systems involved. Several modules for Node will be demoed, and we’ll learn how to debug Node applications within an IDE. You’ll come away with an understanding of what sets Node apart from traditional Javascript, it’s inherently asynchronous and event-driven architecture, and take a look at some real world applications built on Node.
The CFEngine Roadshow @ITGilde.
Live and interactive demonstration of the configuration and deployment of Webservices like Jenkins and Hudson on real VM's.
The attendees will deploy their own Webservices on their prepared VM's.
At Qt Day 2019 in Florence, Italy, I gave a presentation about "Using Qt under LGPLv3".
In the first part, I go through Section "4. Combined Works" and explain the obligations of LGPLv3 in detail.
When you combine your application with the Qt libraries, you can keep closed the source code of the application and publish the application and the Qt libraries under your license terms. You must satisfy the following conditions.
On a physical medium like a USB drive or DVD, you must provide the source code of the Qt libraries, the text of the LGPLv3 and GPLv3, the Copyright notices of the Qt libraries, a description of your modification of the Qt libraries and the installation information. If your application has a user interface, you must display the license texts of the LGPLv3 and GPLv3 and the Copyright notices in this user interface.
The installation information - a.k.a. the anti-tivoisation clause - describes how the user can build a modified version of Qt, how to install this version on the device, and how to run the application with the modified Qt version on the device. If you build a B2B product, you need not provide the installation information.
In the second part, I compare the costs of Qt Commercial and Qt LGPLv3. You must check the licenses for all packages of the (embedded) Linux system, no matter whether you use Qt Commercial or Qt LGPLv3. Qt commercial adds per-developer fees and per-unit fees (royalties). If you use Boot2Qt, Qt for Automation, Qt Safe Renderer or other commercial add-ons, Qt Commercial may well be worth the additional costs.
In the third part, I show how Yocto (bitbake) and Fossology help with the compliance checks. Fossology is a license and copyright scanner.
These are the slides of the talk given at London Selenium Meetup on 29 may 2012. This talk was on Behat, MinkExtension and Selenium. http://www.meetup.com/seleniumlondon/events/61732192/
Pic : http://www.meetup.com/seleniumlondon/photos/8638912/#124419342
Micro-frameworks and routing frameworks are nothing new to the PHP ecosystem, but with the advent of PSR7 and the rise of middleware new doors have opened up. Zend Expressive, built using components of various libraries both of Zend and third party, is a new middleware-based framework that takes PSR-7 to heart. We’ll go through what PSR-7 and middleware are, how Zend Expressive is leveraging them, and how you can quickly build not only APIs but full micro-framework-based application.
В продолжение темы непрерывной интеграции, Макс расскажет о своем подходе организации непрерывной интеграции и деплоймента в Symfony проектах. Рассказ включает следующие темы:
- Управления зависимостями
- Процесс и инструменты для сборки
- Сервера непрерывной интеграции и в частности Jenkins, плагины к нему, jobs
- Процесс разработки в git
- Процесс выгрузки релиза
- Миграция БД
- Откат релиза
Pragmatic Monolith-First, easy to decompose, clean architecturePiotr Pelczar
Designing systems architecture corresponding to business needs in long future is like a reading tea leaves. There is no common way to design systems. Making decision to start project with microservices may make refactoring much harder and introduce too much complexity in the infrastructure layer and finally slow down development. However maintaining a monolith is a tough nut to crack.
Let’s see how to build a system starting from well organized monolith with well marked technical and business scopes that enables to make a decision in with way it should be decomposed and how to deliver it. Strategic and tactical techniques from Domain-Driven Design and Hexagonal Architecture will be used. I will show you how to monitor accidential complexity using different tools during CI.
I invite you if you are interested in building systems with complex business domains.
It Works On My Machine: Vagrant for Software DevelopmentCarlos Perez
Vagrant is a command-line interface for simplifying the use of virtual machines (VM's). Vagrant allows teams to standardize their software development workflows by offering a uniform and portable interface to provision and run VM's on different operating platforms such as Mac OS X, Windows, and Linux and achieve identical results. It supports all the major virtualization solutions such as VirtualBox, VMWare, and Hyper-V and supports configuration tools that range from simple shell scripts to powerful Chef and Puppet recipes. Developers simply invoke “vagrant up” and immediately enjoy a standard, consistent, and reproducible VM for software development and testing.
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...Pablo Godel
Un programador PHP/web no está completo sin conocimientos de administración de servidores. Cuando buscas un trabajo, seguramente te encontrarás con el requerimiento de conocimientos para configurar un servidor (Linux, Apache, MySQL and PHP). Las posibilidades de que consigas ese trabajo son mayores si conoces sobre servidores.
OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam RuzickaNETWAYS
When we talk about the cloud, we usually hear of Paas, Saas, and Iaas. This talk introduces Maas i.e Metal as a Service to the audience. Foreman is an open source project that helps system administrators manage server throughout their life-cycle, from provisioning and configuration to orchestration and monitoring. This talk consists of a brief introduction to the Foreman Project and Foreman Discovery, followed by a deep understanding of Maas and how it is implemented in Foreman Discovery. Lastly, the aim of this talk would be to encourage newbies to contribute to the Foreman Project and Foreman Discovery.
Introduction to Bare-metal Provisioning
• Discovery as MaaS.
• IPMI.
• PXE.
• IPXE
.
Discovering a host using Foreman Discovery
• Demo for discovering a host.
• Fact parsing in Discovery.
Discovery functioning and Deep Dive
• Auto-provisioning.
• Reboot Feature.
• Post provisioners (Puppet/Ansible)
Continuous delivery model sounds great to almost everyone, but is not that easy to implement when real life comes into play. On the one hand, AEM architecture feels like a good fit for this strategy (everything is content after all, right?), but on the other hand we all know how challenging even individual deployment can get. Content management system itself is often just a fraction of your concern - you have to build it first, test it, stitch all the elements up and then figure out how to deliver your code in a repeatable and controlled way to production.
Throughout the last couple of years we’ve been trying really hard at Cognifide to make continuous release and delivery possible for AEM. It was a bumpy and twisty road, but we finally made it. During my talk I’d like to show you how we build AEM platforms these days using open source tools, including:
- Terraform to define and manage infrastructure as code
- Chef to describe deployments in an approachable way, which enforces consistency & repeatability across environments
- Consul that helps us discover services around and mitigate failures
- Jenkins & GoCD to orchestrate delivery model
This presentation was held at the DevOps Meetup Frankfurt on 2014/12/08. It describes some tools and practices for testing your infrastructure provisioned with Chef.
Learn to leverage the power of server-side Javascript with this Node.js introductory tutorial. We’ll dive into Node’s architecture and understand the build and dependency management systems involved. Several modules for Node will be demoed, and we’ll learn how to debug Node applications within an IDE. You’ll come away with an understanding of what sets Node apart from traditional Javascript, it’s inherently asynchronous and event-driven architecture, and take a look at some real world applications built on Node.
The CFEngine Roadshow @ITGilde.
Live and interactive demonstration of the configuration and deployment of Webservices like Jenkins and Hudson on real VM's.
The attendees will deploy their own Webservices on their prepared VM's.
At Qt Day 2019 in Florence, Italy, I gave a presentation about "Using Qt under LGPLv3".
In the first part, I go through Section "4. Combined Works" and explain the obligations of LGPLv3 in detail.
When you combine your application with the Qt libraries, you can keep closed the source code of the application and publish the application and the Qt libraries under your license terms. You must satisfy the following conditions.
On a physical medium like a USB drive or DVD, you must provide the source code of the Qt libraries, the text of the LGPLv3 and GPLv3, the Copyright notices of the Qt libraries, a description of your modification of the Qt libraries and the installation information. If your application has a user interface, you must display the license texts of the LGPLv3 and GPLv3 and the Copyright notices in this user interface.
The installation information - a.k.a. the anti-tivoisation clause - describes how the user can build a modified version of Qt, how to install this version on the device, and how to run the application with the modified Qt version on the device. If you build a B2B product, you need not provide the installation information.
In the second part, I compare the costs of Qt Commercial and Qt LGPLv3. You must check the licenses for all packages of the (embedded) Linux system, no matter whether you use Qt Commercial or Qt LGPLv3. Qt commercial adds per-developer fees and per-unit fees (royalties). If you use Boot2Qt, Qt for Automation, Qt Safe Renderer or other commercial add-ons, Qt Commercial may well be worth the additional costs.
In the third part, I show how Yocto (bitbake) and Fossology help with the compliance checks. Fossology is a license and copyright scanner.
These are the slides of the talk given at London Selenium Meetup on 29 may 2012. This talk was on Behat, MinkExtension and Selenium. http://www.meetup.com/seleniumlondon/events/61732192/
Pic : http://www.meetup.com/seleniumlondon/photos/8638912/#124419342
Micro-frameworks and routing frameworks are nothing new to the PHP ecosystem, but with the advent of PSR7 and the rise of middleware new doors have opened up. Zend Expressive, built using components of various libraries both of Zend and third party, is a new middleware-based framework that takes PSR-7 to heart. We’ll go through what PSR-7 and middleware are, how Zend Expressive is leveraging them, and how you can quickly build not only APIs but full micro-framework-based application.
В продолжение темы непрерывной интеграции, Макс расскажет о своем подходе организации непрерывной интеграции и деплоймента в Symfony проектах. Рассказ включает следующие темы:
- Управления зависимостями
- Процесс и инструменты для сборки
- Сервера непрерывной интеграции и в частности Jenkins, плагины к нему, jobs
- Процесс разработки в git
- Процесс выгрузки релиза
- Миграция БД
- Откат релиза
PLNOG14: Automation at Brainly - Paweł RozlachPROIDEA
Paweł Rozlach - Brainly
Language: English
Ansible is an emerging automation system, which in comparison to Puppet is much simpler and easier to use and at the same time - more flexible and equally powerfull. We will try to describe how it can be used basing on our expirience gathered during last year.
Register to the next PLNOG edition today: krakow.plnog.pl
OSMC 2014: Naemon 1, 2, 3, N | Andreas EricssonNETWAYS
How monitoring should be automated without jeopardizing accuracy.
I will present a ready-to-use system that allows system admins to set up their servers to be automagically picked up by Naemon, and also allowing them to tweak their settings without requiring access to the monitoring system. Most notably, without even restarting or reloading the monitoring system.
I will also present a working (I hope) demo of dynamic thresholds in Naemon, using various helpers in a request/response system.
One Year of Porting - Post-mortem of two Linux/SteamOS launchesLeszek Godlewski
2013 was the year in which Linux finally got the attention of game developers; it was also the year in which my first two Linux/SteamOS ports were released. This talk will cover the learnings of one year of porting work from a programmer's point of view: DOs and DON'Ts and issues both expected and unexpected.
The Deck: a portable, low-power, full-on penetrating testing and forensics system. The Deck runs on the BeagleBoard-xM and BeagleBone. It provides hundreds of security tools
Towards Continuous Deployment with DjangoRoger Barnes
It's no secret that python is fantastic when it comes to rapid prototyping and development. When it comes to deploying a web application, the road to glory isn't as well paved and navigating the array of techniques and tools can be daunting.
This talk will address the advantages of continuous deployment, the success factors involved and the tools available, mainly focusing on experiences with Django web development.
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA SolutionsNagios
Andy Brist's presentation on High Availability and Failover Solutions for Nagios XI. The presentation was given during the Nagios World Conference North America held Oct 13th - Oct 16th, 2014 in Saint Paul, MN. For more information on the conference (including photos and videos), visit: http://go.nagios.com/conference
This talk will try to cover the most important techniques and best practices used when creating Django web application.
Overview of the topics covered:
- development general principles and goals
- python/django project initial setup - project layout, git&venv&pip&shell, settings
- central project shell command - contains all commands to manage project
- "IDE" - editor & shell
- edit/run/test cycle
- deploy/test-remotely cycle
Disclaimer: techniques and practices presented are current AUTHOR'S optimal choice used for usual django project.
Similar to Infrastructure as data with Ansible: systems and cloud deployment and management for the lazy developer by Carlo Bonamico (20)
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
Increased complexity makes it very hard and time-consuming to keep your software bug-free and secure. We introduce fuzz-testing as a method for automatically and continuously discovering vulnerabilities hidden in your code. The talk will explain how fuzzing works and how to integrate fuzz-testing into your Software Development Life Cycle to increase your code’s security.
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
It was 1993 when we decided to venture in a beat'em up game for Amiga. The Catalypse's success story pushed me and my comrade to create something astonishing for this incredible game machine... but things went harder, assumptions were slightly different, and italian competitors appeared out of nowhere... the project died in 1996. Story ended? Probably not...
Il Commodore 65 è un prototipo di personal computer che Commodore avrebbe dovuto mettere in commercio quale successore del Commodore 64. Purtroppo la sua realizzazione si fermò appunto allo stadio prototipale. Racconterò l'affascinante storia del suo sviluppo ed il perchè della soppressione del progetto ormai ad un passo dalla immissione in commercio.
Rivivere l'ebbrezza di progettare un vecchio computer o una consolle da bar è oggi possibile sfruttando le FPGA, ovvero logiche programmabili che consentono a chiunque di progettare il proprio hardware o di ricrearne uno del passato. In questa sessione si racconta come dal reverse engineering dell'hardware di vecchie glorie come il Commodore 64 e lo ZX Spectrum sia stato possibile farle rivivere attraverso tecnologie oggi alla portata di tutti.
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
There's a lot of talk about blockchain, but how does the technology behind it actually work? For developers, getting some hands-on experience is the fastest way to get familiair with new technologies. So let's build a blockchain, then! In this session, we're going to build one in plain old Java, and have it working in 40 minutes. We'll cover key concepts of a blockchain: transactions, blocks, mining, proof-of-work, and reaching consensus in the blockchain network. After this session, you'll have a better understanding of core aspects of blockchain technology.
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
When was the last time you were truly lost? Thanks to the maps and location technology in our phones, a whole generation has now grown up in a world where getting lost is truly a thing of the past. Location technology goes far beyond maps in the palm of our hand, however. In this talk, we will explore how a ridesharing app works. How do we discover our destination?How do we find the closest driver? How do we display this information on a map? How do we find the best route?To answer these questions,we will be learning about a variety of location APIs, including Maps, Positioning, Geocoding etc.
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
Eward Driehuis, SecureLink's research chief, will guide you through the bumpy ride we call the cyber threat landscape. As the industry has over a decade of experience of dealing with increasingly sophisticated attacks, you might be surprised to hear more attacks slip through the cracks than ever. From analyzing 20.000 of them in 2018, backed by a quarter of a million security events and over ten trillion data points, Eward will outline why this happens, how attacks are changing, and why it doesn't matter how neatly or securely you code.
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
IoT revolution is ended. Thanks to hardware improvement, building an intelligent ecosystem is easier than never before for both startups and large-scale enterprises. The real challenge is now to connect, process, store and analyze data: in the cloud, but also, at the edge. We’ll give a quick look on frameworks that aggregate dispersed devices data into a single global optimized system allowing to improve operational efficiency, to predict maintenance, to track asset in real-time, to secure cloud-connected devices and much more.
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
What if Virtual Reality glasses could transform your environment into a three-dimensional work of art in realtime in the style of a painting from Van Gogh? One of the many interesting developments in the field of Deep Learning is the so called "Style Transfer". It describes a possibility to create a patchwork (or pastiche) from two images. While one of these images defines the the artistic style of the result picture, the other one is used for extracting the image content. A team from TNG Technology Consulting managed to build an AI showcase using OpenCV and Tensorflow to realize such goggles.
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
Blockchain (and Cryptocurrency) is an evolution of 20-year old research from scientists like Chaum, Lamport, and Castro & Liskov. Due to the current hype, it's hard to distinguish beneficial aspects of the technology from a desire for a "silver bullet" for device security, verifiable logistics, or "saving democracy". The problem: blockchain introduces new security challenges - and blind adoption without understanding reduces overall security. In this talk, Melanie Rieback and Klaus Kursawe explain the pitfalls and limits of blockchain, so you can avoid making your applications LESS secure.
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
Networking is a core part of computing in the digital world we inhabit. But, how well do you know how it works? Do you understand all the moving parts of the OSI stack inside your computer, and how the network is actually put together? How can this ever work? This guided safari of layers, standards, protocols, and happenstance will bring us close to the copper wire, and up through the layers of CDMA/CD, ARP, routing and HTTP. We will make a few excursions through patchworks that still work forty years later, and cleverly designed mechanisms that show that simplicity is the only way to last.
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
Performance tests are not only an important instrument for understanding a system and its runtime environment. It is also essential in order to check stability and scalability – non-functional requirements that might be decisive for success. But won't my cloud hosting service scale for me as long as I can afford it? Yes, but… It only operates and scales resources. It won't automatically make your system fast, stable and scalable. This talk shows how such and comparable questions can be clarified with performance tests and how DevOps teams benefit from regular test practise.
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
Sascha will demonstrate the opportunities and challenges of Conversational AI learned from the practice. Both Technology and User Experience will be covered introducing a process finding micro-moments, writing happy paths, gathering intents, designing the conversational flow, and finally publishing on almost all channels including Voice Services and Chatbots. Valuable for enterprises, developers, and designers. All live on stage in just minutes and with almost no code.
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
A key challenge we face at Pacmed is quickly calibrating and deploying our tools for clinical decision support in different hospitals, where data formats may vary greatly. Using Intensive Care Units as a case study, I’ll delve into our scalable Python pipeline, which leverages Pandas’ split-apply-combine approach to perform complex feature engineering and automatic quality checks on large time-varying data, e.g. vital signs. I’ll show how we use the resulting flexible and interpretable dataframes to quickly (re)train our models to predict mortality, discharge, and medical complications.
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
Coolblue is a proud Dutch company, with a large internal development department; one that truly takes CI/CD to heart. Empowerment through automation is at the heart of these development teams, and with more than 1000 deployments a day, we think it's working out quite well. In this session, Pat Hermens (a Development Managers) will step you through what enables us to move so quickly, which tools we use, and most importantly, the mindset that is required to enable development teams to deliver at such a rapid pace.
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
Quantum computers can use all of the possible pathways generated by quantum decisions to solve problems that will forever remain intractable to classical compute power. As the mega players vie for quantum supremacy and Rigetti announces its $1M "quantum advantage" prize, we live in exciting times. IBM-Q and Microsoft Q# are two ways you can learn to program quantum computers so that you're ready when the quantum revolution comes. I'll demonstrate some quantum solutions to problems that will forever be out of reach of classical, including organic chemistry and large number factorisation.
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
Chinese food exploded across America in the early 20th century, rapidly adapting to local tastes while also spreading like wildfire. How was it able to spread so fast? The GY6 is a family of scooter engines that has achieved near total ubiquity in Europe. It is reliable and cheap to manufacture, and it's made in factories across China. How are these factories able to remain afloat? Chinese-American food and the GY6 are both riveting studies in product-market fit, and both are the product of a distributed open source-like development model. What lessons can we learn for open source software?
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
The design space has exploded in size within the last few years and Sketch is one of the most important milestones to represent the phenomenon. But behind the scenes of this growing reality there is a remote team that revolutionizes the design space all without leaving the home office. This talk will present how Sketch has grown to become a modern, product designer's tool.
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
Would you fly in a plane designed by a craftsman or would you prefer your aircraft to be designed by engineers? We are learning that science and empiricism works in software development, maybe now is the time to redefine what “Software Engineering” really means. Software isn't bridge-building, it is not car or aircraft development either, but then neither is Chemical Engineering. Engineering is different in different disciplines. Maybe it is time for us to begin thinking about retrieving the term "Software Engineering" maybe it is time to define what our "Engineering" discipline should be.
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
What is the job of a CTO and how does it change as a startup grows in size and scale? As a CTO, where should you spend your focus? As an engineer aspiring to be a CTO, what skills should you pursue? In this inspiring and personal talk, I describe my journey from early Red Hat engineer to CTO at Bloomon. I will share my view on what it means to be a CTO, and ultimately answer the question: Should the CTO be coding?
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
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.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Pushing the limits of ePRTC: 100ns holdover for 100 days
Infrastructure as data with Ansible: systems and cloud deployment and management for the lazy developer by Carlo Bonamico
1. ●
Cloudy
Infrastructure as data with Ansible:
systems / cloud deployment and management for
the lazy developer
Carlo Bonamico - carlo.bonamico@nispro.it
NIS s.r.l. / JUG Genova
http://www.nispro.it / http://juggenova.net
2. What is this all about?
Carlo Bonamico JUG Genova / NIS s.r.l.
● Do you like
– Staying up late to reconfigure a server that went out of sync?
– Being unable to deploy a critical fix because the upgrade process
is so fragile and long that “it is better not to touch the system”?
– Having to rely on a server that took a week to setup, and lose it
because of an HD failure?
– Be unable to quickly scale your application on multiple servers
because the IT administration becomes too complex and
time-consuming?
3. Ansible Hello World
Carlo Bonamico JUG Genova / NIS s.r.l.
If the answer to these question is
NO!
Then this talk is for you!
4. What do we want?
Carlo Bonamico JUG Genova / NIS s.r.l.
● An easy way of quickly installing and
configuring new and existing servers
● A way of “syncing” the configuration to a
baseline when it drifts
● A way of recreating a machine as many times
as you need
– Reliably and with no effort
● A way of managing complex deployments
– And orchestrating interconnected services
5. What do we want?
Carlo Bonamico JUG Genova / NIS s.r.l.
● A way of doing all of those things
– EASILY
– QUICKLY
– RELIABLY
● Doing things automatically
– Ideally with no additional effort vs doing things
manually (and with less mistakes!)
6. An Agile Approach
Carlo Bonamico JUG Genova / NIS s.r.l.
Our highest priority is to satisfy the customer
through early and continuous delivery of valuable software.
Simplicity
--the art of maximizing the amount of work not done--
is essential.
The Agile Manifesto
7. Enter Ansible
Carlo Bonamico JUG Genova / NIS s.r.l.
● Ansible is your friend!
– A tool for doing things automatically
●With LESS effort than doing them manually
● It provides
– Remote command execution across multiple machines
– File, package and configuration distribution
– Automated installations and deployments
9. Enter Ansible
Carlo Bonamico JUG Genova / NIS s.r.l.
● Created by Michael De Haan of Cobbler
fame
– Open Source @
https://github.com/ansible/ansible/
– now supported by AnsibleWorks
● Well documented
● Growing, active and supportive
community
–
10. Enter Ansible
Carlo Bonamico JUG Genova / NIS s.r.l.
● Minimal install
sudo add-apt-repository ppa:rquillo/ansible
●
● sudo apt-get update
● sudo apt-get install ansible -y
● Minimal requirements
– Python 2.6 on the commander
– Python 2.4 on the nodes
– Three phyton packages (autoinstall)
11. How does Ansible work?
Carlo Bonamico JUG Genova / NIS s.r.l.
● Work on all Unix/Linuxes
– And Windows with cygwin (currently
limited)
● Transport over SSH
– (and other protocols in the future)
● Inventory, configuration and playbooks in
YAML
● No DB is involved
12. Getting Started
Carlo Bonamico JUG Genova / NIS s.r.l.
● SSH Key Pair
– ssh-keygen -b 2048
enter pizzamatic_rsa as filename
●
● Configure /etc/hosts or DNS
● Configure ansible_hosts
– .ini format
– Hosts
– Groups, with []
14. Pizzamatic infrastructure
Carlo Bonamico JUG Genova / NIS s.r.l.
● Front-end server with Apache2 and mod_proxy
● Back-end application servers with Tomcat 7
● Postgresql DB
● Common features
– Ssh public key – passwordless login
– Ufw for firewall
15. First steps
Carlo Bonamico JUG Genova / NIS s.r.l.
● ansible -k -m ping -u pizzamatic
pizzamatic-fe-test-01
– -k means ask password
– -m means module (ping)
– -u connection user
– Target host
16. First steps
Carlo Bonamico JUG Genova / NIS s.r.l.
● ssh-agent
● ssh-add ~/.ssh/pizzamatic_rsa
● ansible -k -m ping -u pizzamatic
pizzamatic-fe-test-01
● If it hangs, either
– You forgot the -k, and a certificate was not
installed (or viceversa)
– You added the -K (sudo password), and
passwordless sudo is enabled
17. Move to Playbooks
Carlo Bonamico JUG Genova / NIS s.r.l.
● Efficient way of describing the desired
configuration of multiple hosts
– And then “apply” it
– Incrementally
Auto-resume
●
● Synchronization
● Versioning
● ansible-playbook pizzamatic.playbook
18. BDD with Infrastructure???
Carlo Bonamico JUG Genova / NIS s.r.l.
● First, descrive desired infrastructure
status as plain text
– #pizzamatic service requires
front-end
– #pizzamatic service requires
application servers
● Then translate it incrementally in
ansible “actions” → execute it!
19. Actions: an example
Carlo Bonamico JUG Genova / NIS s.r.l.
#Installing and configuring Apache 2
name: Ensure Apache2 is installed
action: apt pkg=apache2
name: Generate the virtual host configuration
action: template src=src/${service.name}ssl.j2
dest=/etc/apache2/sitesavailable
name: Ensure the site is up
action: command a2ensite ${service.name}ssl
action: service name=apache2 state=started
20. Ansible Actions
Carlo Bonamico JUG Genova / NIS s.r.l.
● Not ideal term! Very often “actions”
do nothing!
– Because the system is already in
the desired state
●action: file dest=/home
state=present
● They do something only if the system
is not in the desired state
21. Ansible Actions
Carlo Bonamico JUG Genova / NIS s.r.l.
● Most Ansible Actions are Idempotent
– “big word” meaning that you can
repeat them as many times as you
want and always get the same
result
● In practice, it's what makes ansible
useful
22. BDD with Infrastructure???
Carlo Bonamico JUG Genova / NIS s.r.l.
● Red
– Error
● Yellow
– Applied, changed
● Green
– Already in the desired state
23. Infrastructure as what?
Carlo Bonamico JUG Genova / NIS s.r.l.
Ansible = Infrastructure as Data
You describe your infrastructure
You version the description
“Applying” the description and actually
ensuring that the infrastructure exists and is
in the desired state is an implementation
detail (and up to ansible, not you)
24. Ansible Modules
Carlo Bonamico JUG Genova / NIS s.r.l.
● Clean and modular way of defining
actions
– Encapsulate best practices
– A single ansible action encapsulates
lines and lines of shell scripts
● Very strong emphasis on reuse
25. Ansible Modules
Carlo Bonamico JUG Genova / NIS s.r.l.
● Implemented in any language
– Python, java, bash...
– Core modules are in python
● Input: parameter string
● Output: json data
26. Ansible Modules
Carlo Bonamico JUG Genova / NIS s.r.l.
● add_host ● mount
● apt ● mysql_db
● apt_key ● mysql_user
● apt_repository ● pause
● authorized_key ● ping
● command ● postgresql_db
● copy ● postgresql_user
● cron ● s3
● ec2 ● script
● fetch ● service
● file ● shell
● get_url ● subversion
● git ● template And many more!
● group ● user
● hg ● virt
● lineinfile ● wait_for
● mail ● yum
27. Variables
Carlo Bonamico JUG Genova / NIS s.r.l.
● Declared
– In the ansible_hosts file
– individual YAML files relative to the
inventory file
● e.g. host_vars/pizzamatic-fe-test-01
---
ntp_server: acme.example.org
28. Facts
Carlo Bonamico JUG Genova / NIS s.r.l.
● Automatically collected facts about
systems involved in the playbook
– ${inventory_hostname}
– ${ansible_eth0.ipv4.address}
● Can be use as variables in playbook
and templates
29. Templates
Carlo Bonamico JUG Genova / NIS s.r.l.
● Jinja2 templates
– very similar to java ${property}
syntax
● Env.sh.j2
– export JAVA_HOME=/home/$
{service.user}/jdk1.7.0
– export PATH=$PATH:$JAVA_HOME/bin
30. Handlers
Carlo Bonamico JUG Genova / NIS s.r.l.
● Respond to asynchronous events
handlers:
name: restart ssh
action: service name=ssh
state=restarted
31. Playbooks
Carlo Bonamico JUG Genova / NIS s.r.l.
●
Structure
---
hosts: pizzamaticfetest01
gather_facts: yes
user: pizzamatic
sudo: yes
vars_files:
pizzamatic.yml
vars:
name: pizzamatic
tasks:
include: pizzamaticfe.playbook #child sees parent variables and params
32. File management and transfer
Carlo Bonamico JUG Genova / NIS s.r.l.
● To the nodes
– ansible atlanta m copy a "src=/etc/hosts
dest=/tmp/hosts"
– ansible webservers m file a "dest=/srv/foo/b.txt
mode=600 owner=mdehaan group=mdehaan"
– ansible webservers m file a "dest=/path/to/c
mode=644 owner=mdehaan group=mdehaan state=directory"
– ansible webservers m file a "dest=/path/to/c
state=absent"
● From the nodes
– Use the fetch module
33. Best Practices
Carlo Bonamico JUG Genova / NIS s.r.l.
● Good old Software Engineering Principles
still apply!
– Dont Repeat Yourself
– Good Names make the difference
– Be simple
– S.O.L.I.D.
● http://butunclebob.com/ArticleS.Uncl
eBob.PrinciplesOfOod
34. Useful Tools
Carlo Bonamico JUG Genova / NIS s.r.l.
● Yaml Editor for Eclipse
– https://code.google.com/p/yedit/
– https://code.google.com/p/yamledito
r/
● Git & Mercurial
35. References
Carlo Bonamico JUG Genova / NIS s.r.l.
And
● Ansible Home & Ansible Docs the very active
– http://www.ansible.cc google group
ansible-project
● Extras
– http://www.ansible.cc/docs/contrib.html
● Presentations
– https://speakerdeck.com/mpdehaan/ansible
● AnsibleWorks
– http://www.ansibleworks.com/
● This tutorial
– https://github.com/carlobonamico/ansible-tutorial
36. References
Carlo Bonamico JUG Genova / NIS s.r.l.
● My blog
– http://www.carlobonamico.com Thank you
● My Company
for your attention!
– http://www.nispro.it
● JUG Genova
– http://juggenova.net
● Attend a course
– Infrastructure Management with Ansible (2 days)
– http://www.nispro.it/education