Infrastructure as data with Ansible: systems and cloud
deployment and management for the lazy developer
Abstract: Great programmers and sysadmins are lazy people: rightly,
they prefer avoiding manual, time consuming and error-prone tasks such
as installing and configuring a Linux/Apache/Tomcat cluster for the
tenth time.
Ansible, an infrastructure (server, cloud) deployment automation &
configuration both powerful AND simple (in most cases simpler than
shell scripts and maven poms!), will make developers and it staff more
productive and effective.
http://www.ansible.cc
Testing cloud and kubernetes applications - ElasTestMicael Gallego
Kubernetes applications are complex distributed systems composed by several microservices. When some end to end test is failing in these kind of applications, root cause is difficult without good observability tools. In this presentation, several tools are presented to make easier root cause analysis of cloud and kubernetes applications. One of the most interesting ones is ElasTest, a platform that integrates several open source tools to provide observability to e2e testing of complex distributed systems.
CubeJS is a Node.js based application development platform at eBay. In this presentation, we will share our journey to build and launch this new platform at the eBay Marketplaces. We will discuss CubeJS’ overall architecture, versatile functionalities, robust operationalization, and streamlined development lifecycle process, as well as its customer adoption momentum in the company. We will also share a number of high-profile projects, powered on CubeJS, to be debuted by eBay Inc. ranging from Web to Mobile.
Create ReactJS Component & publish as npm packageAndrii Lundiak
How to prepare your (provider) ReactJS component and let your friends (consumer) to use it.
What issues you may face with Babel, Webpack, Eslint, Node, npm.
When to use “npm link” approach and “npm publish” approach.
What else to read and to try.
Testing cloud and kubernetes applications - ElasTestMicael Gallego
Kubernetes applications are complex distributed systems composed by several microservices. When some end to end test is failing in these kind of applications, root cause is difficult without good observability tools. In this presentation, several tools are presented to make easier root cause analysis of cloud and kubernetes applications. One of the most interesting ones is ElasTest, a platform that integrates several open source tools to provide observability to e2e testing of complex distributed systems.
CubeJS is a Node.js based application development platform at eBay. In this presentation, we will share our journey to build and launch this new platform at the eBay Marketplaces. We will discuss CubeJS’ overall architecture, versatile functionalities, robust operationalization, and streamlined development lifecycle process, as well as its customer adoption momentum in the company. We will also share a number of high-profile projects, powered on CubeJS, to be debuted by eBay Inc. ranging from Web to Mobile.
Create ReactJS Component & publish as npm packageAndrii Lundiak
How to prepare your (provider) ReactJS component and let your friends (consumer) to use it.
What issues you may face with Babel, Webpack, Eslint, Node, npm.
When to use “npm link” approach and “npm publish” approach.
What else to read and to try.
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.
1. Isomorphic JavaScript is the pattern of running JavaScript code on both server & client.
2. People are using it for production today. Ask Facebook, Yahoo, Asana, Airbnb, Rising Stack, …
3. This is not another talk about NodeJS!
Do you want your customers and/or employees to have a speedy, no-hassle end-user experience when they use your website or server, respectively? Of course you do – because an unsatisfied end-user means lost business – as in the case of a customer – or a really annoyed employee.
That’s why Monitis — the 100% Cloud-based, complete, and flexible IT monitoring solution that consolidates back-end monitoring, application monitoring, website monitoring, and cloud monitoring in an all-lin-one, central monitoring service (that was a mouthful) — has put together this collection of tips for optimizing HTML/CSS (Cascading Style Sheets) and images.
Testing fácil con Docker: Gestiona dependencias y unifica entornosMicael Gallego
Docker es una tecnología que permite empaquetar el software de forma que se pueda ejecutar de forma sencilla y rápida, sin instalación y en cualquier sistema operativo. Es como tener cualquier programa instalado en su propia máquina virtual, pero arranca mucho más rápido y consume menos recursos. Docker está cambiando la forma en la que desplegamos software, pero también está afectando al propio proceso de desarrollo y particularmente al testing.
En este taller pondremos en práctica cómo usar Docker para facilitar la implementación de diferentes tipos de tests y su ejecución tanto en el portátil como en el entorno de integración continua. Aunque las técnicas que veremos se podrán aplicar en cualquier lenguaje de programación, los ejemplos estarán basados en Java y en JavaScript.
High Productivity Web Development WorkflowVũ Nguyễn
We are all familiar with these web technologies: Angular, NodeJS, Grunt, Karma, ... However, how to put them together to make a seamless, high productivity workflow for building prototypes quickly and delivering products frequently?
The curious Life of JavaScript - Talk at SI-SE 2015jbandi
My talk about the life of JavaScript, from birth to today.
I went trough the demos and code examples very quickly, rather as a teaser to show how modern JavaScript development might look.
If you are interested in a deep dive into the topic of modern JavaScript development, HTML5, ES6, AngularJS, React, Gulp, Grunt etc, please consider my courses: http://www.ivorycode.com/#schulung
Micronaut: A new way to build microservicesLuram Archanjo
Over the years microservices architecture has been widely adopted in conjunction with Spring Boot. But recently, we are witnessing the rise of microframeworks such as Micronaut, which has innovated the way we build microservices by providing low memory consumption, fast startup, non-blocking, and other important features that I will demonstrate and conceptualize in this talk.
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.
Introduction to Continuous integration and the differences with continuous delivery and deployment. It shows the main benefits you should expect by incorporating CI practices to your project and how to do it with Drone.
Java and in particular OSGi are now very important parts of the Notes/Domino app dev model. In this session, you will learn what techniques can be utilized to process background jobs for XPages applications. Whether you want to replace your existing agents with Domino OSGi Tasklet Services (DOTS) or use Eclipse Jobs to run time-consuming routines without interrupting the use of your application - we will show you real life examples of why and how. You should also consider attending this session to hear about some suprises you don't want to miss...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
BP106 From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries. From IBM ConnectED 2015, delivered jointly with Christian Guedemann
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
Bootstrapping a simple enterprise application with Java EE successor, Jakarta...Buhake Sindi
This slide illustrates the simplicity in bootstrapping a simple enterprise application with Java EE successor, Jakarta EE 8.
The code can be found on GitHub: https://github.com/TheEliteGentleman/jakartaee8-demo
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.
1. Isomorphic JavaScript is the pattern of running JavaScript code on both server & client.
2. People are using it for production today. Ask Facebook, Yahoo, Asana, Airbnb, Rising Stack, …
3. This is not another talk about NodeJS!
Do you want your customers and/or employees to have a speedy, no-hassle end-user experience when they use your website or server, respectively? Of course you do – because an unsatisfied end-user means lost business – as in the case of a customer – or a really annoyed employee.
That’s why Monitis — the 100% Cloud-based, complete, and flexible IT monitoring solution that consolidates back-end monitoring, application monitoring, website monitoring, and cloud monitoring in an all-lin-one, central monitoring service (that was a mouthful) — has put together this collection of tips for optimizing HTML/CSS (Cascading Style Sheets) and images.
Testing fácil con Docker: Gestiona dependencias y unifica entornosMicael Gallego
Docker es una tecnología que permite empaquetar el software de forma que se pueda ejecutar de forma sencilla y rápida, sin instalación y en cualquier sistema operativo. Es como tener cualquier programa instalado en su propia máquina virtual, pero arranca mucho más rápido y consume menos recursos. Docker está cambiando la forma en la que desplegamos software, pero también está afectando al propio proceso de desarrollo y particularmente al testing.
En este taller pondremos en práctica cómo usar Docker para facilitar la implementación de diferentes tipos de tests y su ejecución tanto en el portátil como en el entorno de integración continua. Aunque las técnicas que veremos se podrán aplicar en cualquier lenguaje de programación, los ejemplos estarán basados en Java y en JavaScript.
High Productivity Web Development WorkflowVũ Nguyễn
We are all familiar with these web technologies: Angular, NodeJS, Grunt, Karma, ... However, how to put them together to make a seamless, high productivity workflow for building prototypes quickly and delivering products frequently?
The curious Life of JavaScript - Talk at SI-SE 2015jbandi
My talk about the life of JavaScript, from birth to today.
I went trough the demos and code examples very quickly, rather as a teaser to show how modern JavaScript development might look.
If you are interested in a deep dive into the topic of modern JavaScript development, HTML5, ES6, AngularJS, React, Gulp, Grunt etc, please consider my courses: http://www.ivorycode.com/#schulung
Micronaut: A new way to build microservicesLuram Archanjo
Over the years microservices architecture has been widely adopted in conjunction with Spring Boot. But recently, we are witnessing the rise of microframeworks such as Micronaut, which has innovated the way we build microservices by providing low memory consumption, fast startup, non-blocking, and other important features that I will demonstrate and conceptualize in this talk.
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.
Introduction to Continuous integration and the differences with continuous delivery and deployment. It shows the main benefits you should expect by incorporating CI practices to your project and how to do it with Drone.
Java and in particular OSGi are now very important parts of the Notes/Domino app dev model. In this session, you will learn what techniques can be utilized to process background jobs for XPages applications. Whether you want to replace your existing agents with Domino OSGi Tasklet Services (DOTS) or use Eclipse Jobs to run time-consuming routines without interrupting the use of your application - we will show you real life examples of why and how. You should also consider attending this session to hear about some suprises you don't want to miss...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
BP106 From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries. From IBM ConnectED 2015, delivered jointly with Christian Guedemann
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
Bootstrapping a simple enterprise application with Java EE successor, Jakarta...Buhake Sindi
This slide illustrates the simplicity in bootstrapping a simple enterprise application with Java EE successor, Jakarta EE 8.
The code can be found on GitHub: https://github.com/TheEliteGentleman/jakartaee8-demo
Sydney Film Base Weekend MasterClass 'online distribution' by Nick BoltonTen Alphas
Date: Sunday 30th November 2014
Locations: Sydney Film Base - Parramatta, Sydney 2014
Info: http://www.sydneyfilmbase.com.au/weekend-film-makers-masterclass
Presenter: Nick Bolton
Title: Distributing Content Online
The impact the internet has had on the film industry the challenges and opportunities for filmmakers an overview of the platforms available to filmmakers to distribute content commercialisation and monetisation strategies
Websites:
Personal: www.nickbolton.com.au
Production company: www.tenalphas.com.au
PLUS ULTRA: DEL PUERTO DE PALOS A BUENOS AIRES-Enrique F. Widmann-Miguel-4ta....Carlos Cueto
PLUS ULTRA. DEL PUERTO DE PALOS A BUENOS AIRES-Enrique F. Widmann Miguel-4ta. ed. 2014
El 10 de febrero de 1926, poco después del mediodía, a las 12.27, acuatizaba en aguas del Río de la Plata, en el puerto de Buenos Aires, el hidroavión Dornier Wal, Plus Ultra, que había realizado la hazaña de unir en un vuelo transatlántico la unubense ciudad portuaria de Palos de la Frontera, con la capital argentina. Los 10.270 kilómetros fueron recorridos entonces por el comandante Ramón Franco Bahamonde, el capitán Julio Ruiz de Alda, el teniente de navío Juan Manuel Durán y el mecánico Pablo Rada. El vuelo del Plus Ultra relanzó la vocación hispanoamericana de España, por la enorme importancia de la aproximación americanista que de él se derivara.
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
Slides for the talk with Sonia Pini @Codemotion Milan 2018
So you want to build your (Angular) Component Library? We can help
https://milan2018.codemotionworld.com/conference/
Most modern Front-End frameworks are Component-Oriented, taking advantage of encapsulation and separation of responsibilities to improve developer productivity and application robustness. However, to fully exploit the power of components, you need to aggregate them in a consistent and modular set. In this talk we share our experience in building several component libraries, from API Design concepts to advanced component interaction patterns, from packaging and documentation to refactoring & interoperability. Examples are Angular-based, but most concepts apply to all Front-End dev approaches.
Attracted by AngularJS power and simplicity, you have chosen it for your next project. Getting started with DataBinding, Scopes and Controllers was relatively quick and easy...
But what do you need to effectively bring a complex application to Production?
We discuss
the new Component API,
lifecycle callbacks - $onChanges
selecting different ways for components to collaborate
choosing between Two-Way Binding and One-Way Data Flow,
"smart" vs "dumb" components,
We ‘ll share recipes from our real world experience so that you can productively & reliably build a complex application out of reusable Components.
Web Application Security Reloaded for the HTML5 eraCarlo Bonamico
Web Application Security Reloaded for the HTML5 era - Designing and implementing secure Single Page Applications - Devoxx UK
Ten years after the first OWASP Top Ten list of Web Application Security risks has been published, the basics of protecting a typical JEE/Rails/PHP/.NET, webapp are becoming mainstream knowledge (although never enough, as the endless series of high profile vulerabilities demonstates).
But the industry-wide move towards HTML5 and Single Page Applications, motivated by the opportunity for more sophisticated interaction and UX, is again upsetting the balance between Hackers and Developers. A wave of new-generation front-end technologies such as Web Components, AngularJS and Ember is Developers are attracting Developers with their combination of productivity and innovative UX, but at the same time opens the door to new vulnerabilities and security challenges.
This talk will summarize the main principles of Secure Coding, and will discuss their application to HTML5 applications that interact with REST or WebSocket backends to prevent major risks (including OWASP Top Ten).
A concrete example will demonstrate the use of tools and libraries, from RBAC to JWT, from Spring Security to AngularJS modules for implementing secure HTML5/JS apps.
Angular 1.x reloaded: improve your app now! and get ready for 2.0Carlo Bonamico
The buzz about the upcoming major reincarnation of AngularJS, with its hot mix of excitement and critics, has somehow shadowed the immediate gains enabled by the recent 1.3 and 1.4 releases.
This code-based talk will introduce concepts such as the "Controller As" syntax, component-based directives, the new router and bind once, to demonstrate how mixing these currently available Angular features with good design patterns (and a bit of ES6) provides concrete improvements in performance, modularity, testability and developer productivity to our apps now.
Furthermore, it will show how the main ideas at the basis of Angular 2.0 (API simplification, consistency, even more componentization and interoperability with ES6 and Web Components) can be applied to the design and implementation of 1.x applications, helping us both being more productive now & simplifying the upgrade to the "new" Angular.
Real World AngularJS recipes: beyond TodoMVCCarlo Bonamico
Codemotion Rome 2015 Talk with Sonia Pini
You got captured by Angular power and simplicity, and have chosen it for your next project (or you are thinking about it). Creating a prototype with Data Binding, scopes and MVVM was relatively quick and easy. But what do you need to effectively complete and bring a complex application in Production? We will discuss practical recipes from our real world experiences for choosing between ES5, ES6 and TypeScript, designing a modular, event-driven application structure, creating or selecting components and directives, implementing authentication, managing errors and logging, testing and packaging.
Mobile HTML5 websites and Hybrid Apps with AngularJSCarlo Bonamico
AngularJS lets you use today the features of next-generation web standards, making front-end development more productive and fun.
What's better, it provides its "magic" tools to both web AND mobile apps: databinding, dependency injection, modularity, composable and event-driven architecture
This code-based interactive talk will share some lessons learned: how to structure applications, tune bandwidth and performance, interact with mobile-specific elements such as touch, sensors and finally native-looking UX with Ionic Framework
AngularJS: How to code today with tomorrow tools - Codemotion Milan 2013Carlo Bonamico
Many popular online services have demonstrated the power of javascript, html5 and mobile technologies. However, designing, implementing & maintaining a rich application for both web and mobile browsers is a challenging task given the characteristics of javascript. We will share our real-world experience with AngularJS – an open source, robust and brilliantly usable tool which will make your app mobile and designer-friendly, extremely modular and reusable (with Dependency Injection!), and even easily testable (in javascript!), in less than half the code. Expect few slides and lots of code samples and tips from our project experiences.
References:
http://mozilla.github.io/brick/docs.html
http://www.polymer-project.org/
If the hundred year language (from 2113) were available today, would we want to program in it?
Paul Graham http://paulgraham.com/hundred.html
Enter AngularJS
http://www.angularjs.org
And almost transparently upgrade as soon as they are available
http://www.2ality.com/2013/05/web-components-angular-ember.html
Play with AngularJS online
Thanks http://plnkr.co
So get your training!
Codemotion training (4-5 february and 4-5 march 2014)
http://training.codemotion.it/
To learn more
Online tutorials and video trainings:
http://www.yearofmoo.com/
http://egghead.io
All links and reference from my Codemotion Workshop
https://github.com/carlobonamico/angularjs-quickstart
https://github.com/carlobonamico/angularjs-quickstart/blob/master/references.md
Full lab from my Codemotion Workshop
https://github.com/carlobonamico/angularjs-quickstart
Web Components
http://www.w3.org/TR/components-intro
Youtube video "Web Components in Action"
http://css-tricks.com/modular-future-web-components
Books
http://www.ng-book.com
AngularJS and .NET http://henriquat.re
My current plans
integrate AngularJS with my favourite Open Source server-side dev platform
http://www.manydesigns.com/en/portofino
Thank you!
Explore these slides
https://github.com/carlobonamico/angularjs-future-web-development-slides
My presentations
http://slideshare.net/carlo.bonamico
https://twitter.com/carlobonamico
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
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.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
When stars align: studies in data quality, knowledge graphs, and machine lear...
Infrastructure as Data with Ansible
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