thought experiment about how to find objects in the home quicky using technology (while tidying up and putting the objects in the right place is obviously the correct solution)
This document discusses challenges with configuring and managing third-party applications like SIPXecs using existing tools. It explores options like screen scraping, test frameworks like Cucumber and Selenium, but notes issues with reliability as GUIs change. The document concludes that no good solution exists yet and suggests talking to vendors, being patient, and setting a good example. It asks how the reader would solve the problem of needing an API or reliable way to configure applications without extensive manual effort.
This document discusses DevOps and the movement towards closer collaboration between development and operations teams. It advocates that operations work should start early in the development process, with developers and operations communicating about non-functional requirements, security, backups, monitoring and more. Both developers and operations staff should aim to automate infrastructure and deployments. The goal is reproducible, reliable deployments of applications and their supporting systems.
1) Devops aims to break down barriers between development and operations teams through a culture of collaboration, automation of processes, and using metrics to improve performance.
2) Automating builds, testing, deployments, and infrastructure management is key to ensure quality and allow teams to deploy changes quickly.
3) Collecting various metrics about code, deployments, systems, applications and business helps teams understand performance, identify issues, and continuously improve.
4) Sharing metrics, experiences, and code openly helps spread best practices and prevents teams from being locked into proprietary solutions.
This document discusses challenges with configuring and managing third-party applications like SIPXecs using existing tools. It explores options like screen scraping, test frameworks like Cucumber and Selenium, but notes issues with reliability as GUIs change. The document concludes that no good solution exists yet and suggests talking to vendors, being patient, and setting a good example. It asks how the reader would solve the problem of needing an API or reliable way to configure applications without extensive manual effort.
This document discusses DevOps and the movement towards closer collaboration between development and operations teams. It advocates that operations work should start early in the development process, with developers and operations communicating about non-functional requirements, security, backups, monitoring and more. Both developers and operations staff should aim to automate infrastructure and deployments. The goal is reproducible, reliable deployments of applications and their supporting systems.
1) Devops aims to break down barriers between development and operations teams through a culture of collaboration, automation of processes, and using metrics to improve performance.
2) Automating builds, testing, deployments, and infrastructure management is key to ensure quality and allow teams to deploy changes quickly.
3) Collecting various metrics about code, deployments, systems, applications and business helps teams understand performance, identify issues, and continuously improve.
4) Sharing metrics, experiences, and code openly helps spread best practices and prevents teams from being locked into proprietary solutions.
1) The document discusses the concepts of virtualization, virtualization security (VirtSec), open source virtualization, and cloud security (CloudSec).
2) It notes that virtualization changes the network stack and security approaches by putting the network inside machines and allowing live migration across VLANs.
3) It argues that security must focus on automation, configuration management, and avoiding proprietary lock-in to address challenges from virtualization like image sprawl and rapid redeployment.
Devops aims to break down barriers between development and operations teams through cultural and technical changes. This includes adopting continuous delivery practices like automating infrastructure, implementing monitoring, and integrating development and operations workflows. Devops also emphasizes collaboration between teams through standardizing environments, sharing code and experiences, and measuring both successes and failures. The goal is to build trust between teams and allow for more frequent and reliable deployments through cultural alignment and automation.
The document discusses various open source monitoring tools including Nagios, Zenoss, Zabbix, HypericHQ and GroundWorks. It provides an overview of each tool's features, supported platforms, configuration, monitoring methods and the author's experiences with installing and using the tools. It concludes that while no single tool is best for all situations, Nagios, Zenoss and Zabbix emerged as top contenders based on their ease of use, features and performance.
My DrupalCon 2014 Amsterdam talk, introducing the audience to #devops and the current state of #devops and Drupal based on the 2014 Drupal and Devops Survey
Looking back at 6.5 years of #devopsdaysKris Buytaert
Kris Buytaert reflected on 6.5 years of organizing DevOpsDays conferences. The first conferences in 2009 had no manifesto and focused on culture change. Over 100 events have since been held worldwide, with nearly 300 organizers. While vendors initially struggled to see value, sub-communities around monitoring and configuration management emerged. Enterprise adoption of DevOps principles has grown beyond startups. The future includes more collaboration and a return to emphasizing empathy and common sense.
Kris Buytaert gave a talk on DevOps at DrupalCon Munich in 2012. He discussed how the silos between development and operations created problems, and how the DevOps movement aims to break down those barriers through automation, collaboration, and continuous delivery. DevOps is not defined by specific tools but by cultural and process changes like integrating operations work into the entire software lifecycle from early on. The talk covered challenges like managing data and environments across different stages and how tools like Vagrant and configuration management can help address them.
Monitoring Drupal In an Infrastructure as Code AgeKris Buytaert
Kris Buytaert discusses monitoring Drupal applications in an infrastructure as code (IAC) environment. He advocates modeling infrastructure, treating it as code in a version control system, and automating testing and continuous integration/delivery. This allows infrastructure to be reproduced reliably and changes to be discovered early. Buytaert also discusses collecting metrics on application usage, deployments, and specific features to understand user behavior and improve performance. Automating monitoring and making it self-service helps share knowledge across teams.
Devops, The future is here, it's just not evenly distributedKris Buytaert
Devops aims to break down barriers between development and operations teams through principles like continuous integration, automation, shared infrastructure access, and cross-functional teams. It advocates automating processes from building to deploying to testing in order to enable continuous delivery of new features in a secure and reliable manner. This helps improve communication between teams and allows organizations to get features to users faster while increasing stability, security, and customer satisfaction. Achieving devops culture and practices requires patience, improving collaboration, building trust between teams, and automating as many processes as possible.
Package all the things, from #ihatepackaging to #packagingloveKris Buytaert
Slides as presented at LinuxCon 2014 in Dusseldorf
Automated Software Delivery on Linux,
Continuous Delivery of software on Linux ,
As operations persons we like to have software installed from apt or yum repositories in clean packages.
We want to be able to trace the origin of a file and have smooth upgrade paths.
But distributions make it hard on us, then languages reinvent the wheel, then developers want to ship software in different ways ..
fpm, fpmcookery, omnibus, specfiles to the rescue, or chaos and hairpulls.
This talk will guid you trough the maze of how to deploy software, from different sources in a sane way.
How and when to use different packaging tools that will make your life easier, and how this approach will help you in growing towards a #devops approach
On the Importance of Infrastructure as CodeKris Buytaert
Kris Buytaert discusses the importance of treating infrastructure as code using automation tools like Puppet, Chef, and Salt. This allows organizations to deploy and manage infrastructure in a reproducible, versioned manner. Manual infrastructure management is prone to errors, difficult to audit, and does not scale. Infrastructure as code helps solve problems like security, monitoring, backups and speeds up deployment times by treating infrastructure like application code.
Continous Delivery of your InfrastructureKris Buytaert
This document discusses continuous delivery of infrastructure through automation. It promotes automating builds, testing, deployment, and infrastructure configuration to allow for frequent, reliable releases. Continuous delivery aims to allow features to be released in hours rather than years through practices like infrastructure as code and treating configuration like code. Automating builds, testing, and deploying infrastructure in a pipeline allows for consistent, low-risk releases.
This document discusses using Puppet to configure and manage cloud monitoring infrastructure at scale. Puppet allows defining reusable modules and parameterized classes to configure tools like Graphite, Collectd, Nagios, and JMXTrans in a repeatable way across environments. Metrics can be collected and exported to Graphite for long-term storage and visualization of trends. Triggers can be created on graphs to detect anomalies and configure monitoring checks. The full Puppet code used is available online for reference.
7 Tools for your Puppetized Devops stackKris Buytaert
7 Tools for your puppetized devops stack discusses Puppet, Jenkins, fpm, Logstash, Graphite, the Marionette Collective, and Vagrant as tools for a DevOps stack. Puppet is used for configuration management. Jenkins is used for continuous integration. fpm creates packages. Logstash handles log collection and analysis. Graphite provides metrics graphing. The Marionette Collective provides distributed SSH commands. And Vagrant allows consistent environments. The talk emphasizes culture, automation, measurement, and sharing as key DevOps principles.
The influence of "Distributed platforms" on #devopsKris Buytaert
The document discusses the evolution of devops practices from the early 2000s to present day. It describes how early tools like openMosix helped distribute processes across nodes but had limitations that prevented widespread adoption. Linux-HA helped make high availability services more common by defining resources and constraints. This highlighted the need for applications to be adaptable and share state in a distributed manner. Private clouds initially failed to adopt configuration management, monitoring, and other devops practices. Today, containers are more widely used but often resemble virtual machines with multiple services and no standard way to connect or monitor them. Adopting microservices and devops fully requires changes across software, infrastructure, mindsets and organizations.
Kris Buytaert reflects on 7 years of organizing DevOpsDays conferences. He started as a developer and became an operations person. DevOpsDays began in 2009 with conferences in Gent and Hamburg that had no manifesto. The conference format then spread to over a dozen cities worldwide. Definitions of devops evolved to focus on culture and job performance. Critics argued devops only works for startups, but the roots are in enterprise systems not startups. Vendors struggled to sell "devops" as it is hard to sell culture and change. Related submovements in devops emerged like DOD, Monitorama, and CfgMgmtCamp. The future includes over 130 events in many cities and starting your
This document discusses puppetizing complex applications like sipXecs, an open source voice over IP telephony server. It provides an overview of Puppet and how it can be used to deploy and configure sipXecs in a repeatable, automated way. Challenges with the existing sipXecs installation and configuration are discussed. The document explores potential approaches like using test frameworks and APIs but concludes there is no perfect solution yet and engagement with upstream suppliers may be needed.
CloudSec , don't forget Security in the Cloud !Kris Buytaert
Cloud computing refers to using internet-based computer resources and relies on trends like software as a service and web 2.0. There are different types of cloud including software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). Deploying in an untrusted cloud domain presents security challenges that are different from traditional IT environments due to the dynamic scaling and virtualization of resources. Security in the cloud requires approaches like encryption, firewalls, access control, and not storing critical data in the cloud.
This document summarizes a presentation on Clojure data science tools. It discusses basic tooling for data analysis in Clojure, including data structures, Clojure spec for data validation, and libraries for statistics and machine learning. It also provides two examples: analyzing a survey on universal basic income and building a neural network for digit recognition. The presentation outlines plans to continue improving notebooks, adding features to existing libraries, and integrating more Java libraries.
The document discusses concurrency and the actor model in Ruby. It describes several Ruby libraries that implement the actor model, including Rubinius Actors, Revactor, and Celluloid. Celluloid code is provided as an example of how to model a barber shop simulation using actors, with Barber and Shop classes that inherit from Celluloid::Actor. Erlang and Elixir code for similar barber shop simulations using the actor model is also shown for comparison. The document notes advantages of the actor model like avoiding shared mutable state and its decentralized nature, but also potential issues like livelocks and deadlocks. It concludes by questioning if better concurrency primitives could be added to Ruby's standard library.
1) The document discusses the concepts of virtualization, virtualization security (VirtSec), open source virtualization, and cloud security (CloudSec).
2) It notes that virtualization changes the network stack and security approaches by putting the network inside machines and allowing live migration across VLANs.
3) It argues that security must focus on automation, configuration management, and avoiding proprietary lock-in to address challenges from virtualization like image sprawl and rapid redeployment.
Devops aims to break down barriers between development and operations teams through cultural and technical changes. This includes adopting continuous delivery practices like automating infrastructure, implementing monitoring, and integrating development and operations workflows. Devops also emphasizes collaboration between teams through standardizing environments, sharing code and experiences, and measuring both successes and failures. The goal is to build trust between teams and allow for more frequent and reliable deployments through cultural alignment and automation.
The document discusses various open source monitoring tools including Nagios, Zenoss, Zabbix, HypericHQ and GroundWorks. It provides an overview of each tool's features, supported platforms, configuration, monitoring methods and the author's experiences with installing and using the tools. It concludes that while no single tool is best for all situations, Nagios, Zenoss and Zabbix emerged as top contenders based on their ease of use, features and performance.
My DrupalCon 2014 Amsterdam talk, introducing the audience to #devops and the current state of #devops and Drupal based on the 2014 Drupal and Devops Survey
Looking back at 6.5 years of #devopsdaysKris Buytaert
Kris Buytaert reflected on 6.5 years of organizing DevOpsDays conferences. The first conferences in 2009 had no manifesto and focused on culture change. Over 100 events have since been held worldwide, with nearly 300 organizers. While vendors initially struggled to see value, sub-communities around monitoring and configuration management emerged. Enterprise adoption of DevOps principles has grown beyond startups. The future includes more collaboration and a return to emphasizing empathy and common sense.
Kris Buytaert gave a talk on DevOps at DrupalCon Munich in 2012. He discussed how the silos between development and operations created problems, and how the DevOps movement aims to break down those barriers through automation, collaboration, and continuous delivery. DevOps is not defined by specific tools but by cultural and process changes like integrating operations work into the entire software lifecycle from early on. The talk covered challenges like managing data and environments across different stages and how tools like Vagrant and configuration management can help address them.
Monitoring Drupal In an Infrastructure as Code AgeKris Buytaert
Kris Buytaert discusses monitoring Drupal applications in an infrastructure as code (IAC) environment. He advocates modeling infrastructure, treating it as code in a version control system, and automating testing and continuous integration/delivery. This allows infrastructure to be reproduced reliably and changes to be discovered early. Buytaert also discusses collecting metrics on application usage, deployments, and specific features to understand user behavior and improve performance. Automating monitoring and making it self-service helps share knowledge across teams.
Devops, The future is here, it's just not evenly distributedKris Buytaert
Devops aims to break down barriers between development and operations teams through principles like continuous integration, automation, shared infrastructure access, and cross-functional teams. It advocates automating processes from building to deploying to testing in order to enable continuous delivery of new features in a secure and reliable manner. This helps improve communication between teams and allows organizations to get features to users faster while increasing stability, security, and customer satisfaction. Achieving devops culture and practices requires patience, improving collaboration, building trust between teams, and automating as many processes as possible.
Package all the things, from #ihatepackaging to #packagingloveKris Buytaert
Slides as presented at LinuxCon 2014 in Dusseldorf
Automated Software Delivery on Linux,
Continuous Delivery of software on Linux ,
As operations persons we like to have software installed from apt or yum repositories in clean packages.
We want to be able to trace the origin of a file and have smooth upgrade paths.
But distributions make it hard on us, then languages reinvent the wheel, then developers want to ship software in different ways ..
fpm, fpmcookery, omnibus, specfiles to the rescue, or chaos and hairpulls.
This talk will guid you trough the maze of how to deploy software, from different sources in a sane way.
How and when to use different packaging tools that will make your life easier, and how this approach will help you in growing towards a #devops approach
On the Importance of Infrastructure as CodeKris Buytaert
Kris Buytaert discusses the importance of treating infrastructure as code using automation tools like Puppet, Chef, and Salt. This allows organizations to deploy and manage infrastructure in a reproducible, versioned manner. Manual infrastructure management is prone to errors, difficult to audit, and does not scale. Infrastructure as code helps solve problems like security, monitoring, backups and speeds up deployment times by treating infrastructure like application code.
Continous Delivery of your InfrastructureKris Buytaert
This document discusses continuous delivery of infrastructure through automation. It promotes automating builds, testing, deployment, and infrastructure configuration to allow for frequent, reliable releases. Continuous delivery aims to allow features to be released in hours rather than years through practices like infrastructure as code and treating configuration like code. Automating builds, testing, and deploying infrastructure in a pipeline allows for consistent, low-risk releases.
This document discusses using Puppet to configure and manage cloud monitoring infrastructure at scale. Puppet allows defining reusable modules and parameterized classes to configure tools like Graphite, Collectd, Nagios, and JMXTrans in a repeatable way across environments. Metrics can be collected and exported to Graphite for long-term storage and visualization of trends. Triggers can be created on graphs to detect anomalies and configure monitoring checks. The full Puppet code used is available online for reference.
7 Tools for your Puppetized Devops stackKris Buytaert
7 Tools for your puppetized devops stack discusses Puppet, Jenkins, fpm, Logstash, Graphite, the Marionette Collective, and Vagrant as tools for a DevOps stack. Puppet is used for configuration management. Jenkins is used for continuous integration. fpm creates packages. Logstash handles log collection and analysis. Graphite provides metrics graphing. The Marionette Collective provides distributed SSH commands. And Vagrant allows consistent environments. The talk emphasizes culture, automation, measurement, and sharing as key DevOps principles.
The influence of "Distributed platforms" on #devopsKris Buytaert
The document discusses the evolution of devops practices from the early 2000s to present day. It describes how early tools like openMosix helped distribute processes across nodes but had limitations that prevented widespread adoption. Linux-HA helped make high availability services more common by defining resources and constraints. This highlighted the need for applications to be adaptable and share state in a distributed manner. Private clouds initially failed to adopt configuration management, monitoring, and other devops practices. Today, containers are more widely used but often resemble virtual machines with multiple services and no standard way to connect or monitor them. Adopting microservices and devops fully requires changes across software, infrastructure, mindsets and organizations.
Kris Buytaert reflects on 7 years of organizing DevOpsDays conferences. He started as a developer and became an operations person. DevOpsDays began in 2009 with conferences in Gent and Hamburg that had no manifesto. The conference format then spread to over a dozen cities worldwide. Definitions of devops evolved to focus on culture and job performance. Critics argued devops only works for startups, but the roots are in enterprise systems not startups. Vendors struggled to sell "devops" as it is hard to sell culture and change. Related submovements in devops emerged like DOD, Monitorama, and CfgMgmtCamp. The future includes over 130 events in many cities and starting your
This document discusses puppetizing complex applications like sipXecs, an open source voice over IP telephony server. It provides an overview of Puppet and how it can be used to deploy and configure sipXecs in a repeatable, automated way. Challenges with the existing sipXecs installation and configuration are discussed. The document explores potential approaches like using test frameworks and APIs but concludes there is no perfect solution yet and engagement with upstream suppliers may be needed.
CloudSec , don't forget Security in the Cloud !Kris Buytaert
Cloud computing refers to using internet-based computer resources and relies on trends like software as a service and web 2.0. There are different types of cloud including software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). Deploying in an untrusted cloud domain presents security challenges that are different from traditional IT environments due to the dynamic scaling and virtualization of resources. Security in the cloud requires approaches like encryption, firewalls, access control, and not storing critical data in the cloud.
This document summarizes a presentation on Clojure data science tools. It discusses basic tooling for data analysis in Clojure, including data structures, Clojure spec for data validation, and libraries for statistics and machine learning. It also provides two examples: analyzing a survey on universal basic income and building a neural network for digit recognition. The presentation outlines plans to continue improving notebooks, adding features to existing libraries, and integrating more Java libraries.
The document discusses concurrency and the actor model in Ruby. It describes several Ruby libraries that implement the actor model, including Rubinius Actors, Revactor, and Celluloid. Celluloid code is provided as an example of how to model a barber shop simulation using actors, with Barber and Shop classes that inherit from Celluloid::Actor. Erlang and Elixir code for similar barber shop simulations using the actor model is also shown for comparison. The document notes advantages of the actor model like avoiding shared mutable state and its decentralized nature, but also potential issues like livelocks and deadlocks. It concludes by questioning if better concurrency primitives could be added to Ruby's standard library.
This document discusses actors and concurrency in programming. It introduces the actor model from 1973 which uses actors as the primitive unit of concurrency with no shared mutable state and a partial order of execution. It then discusses different implementations of the actor model in Ruby including Rubinius Actors and Celluloid, as well as other languages like Erlang, Scala, and Clojure. It concludes by questioning if better concurrency primitives could be added to programming language standard libraries.
The document discusses concurrency and the actor model. It notes that as processors are no longer getting significantly faster, programs need to be parallelized to run faster. The actor model is introduced as a way to build concurrent programs where actors communicate asynchronously by message passing and have no shared state, avoiding issues like race conditions. Several Ruby libraries and frameworks for implementing the actor model are described, including Celluloid and Akka. The advantages of the actor model like encapsulation and decentralization are highlighted, though issues like potential for livelocks are also noted.
This document discusses concurrency and the actor model. It introduces actors as a way to handle concurrency without shared state. Various Ruby libraries and frameworks that implement the actor model are presented, including Rubinius Actors, Revactor, Concurrent Ruby, Erlectricity for communicating with Erlang processes, and RubyOnAkka for interacting with Akka actors from Ruby. The document concludes by considering changes to make concurrency easier in Ruby itself, such as controlling shared state through keywords.
The document discusses various approaches to concurrency in Ruby including fibers, coroutines, processes, threads, and shared state. It covers topics like cooperative vs preemptive scheduling, context switching performance of different approaches, synchronizing access to shared resources using techniques like semaphores, and how languages like Clojure handle concurrency using software transactional memory. Examples are provided showing implementations of coroutines, processes, and threads in Ruby.
This document discusses concurrency in Ruby and other languages. It covers concepts like processes, threads, fibers, actors, and shared state. For Ruby, it describes how MRI uses green threads due to the GIL, while other implementations like JRuby use native threads. It also discusses approaches to concurrency like message passing in Erlang's actor model, channels in Go, and software transactional memory in Clojure. The challenges of shared state and potential solutions like immutable data and message passing are also covered.
This document discusses concurrency in Ruby. It begins by explaining that most modern computer architectures use multiple processors or cores, requiring programs to be parallelized to take advantage of this. It then discusses different approaches to concurrency in Ruby including processes, threads, fibers, and actors. It also covers challenges with shared state and different languages that take functional or message-passing approaches to make concurrency easier.
In some situations, it's useful to be able to evaluate a Rails application quickly.
I talk about how I work to get the most data as possible to get a good picture of whether an application is well-maintained, and will be easy to maintain later.
Tokyo Cabinet is a high-performance embedded database that provides key-value, B-tree, and table data storage. It has APIs for Perl, Java, Lua, and Ruby. Tokyo Cabinet Hash and Btree databases allow fast storage and retrieval of data. Tokyo Tyrant adds network functionality, allowing remote access via its own protocol or HTTP. It also enables features like replication and Lua scripting. Tokyo Dystopia provides full-text search capabilities. Ruby libraries exist to interface with Tokyo Cabinet and Tokyo Tyrant from Ruby applications.
The document discusses real-time web technologies like webhooks, callbacks, and notifications. It provides examples of how these techniques enable data synchronization between services, chaining of server-to-server event processing, and opportunities for users and developers to modify and extend functionality. It also questions whether HTTP is the best protocol and how servers will handle high loads of event-driven processes.
The internet of thing is hot. This talk describes the trends that led to this phenomenon.
Augmented reality links online content to physical object - i talk about the different ways this can happen.
Then i talk about physical computing: making things talk, using Arduino, mainly.
This document summarizes OAuth, an open standard for authorization that allows websites or applications to access user information from another website but limits the scope of information received. The summary covers:
- A brief history of OAuth and its development starting in 2007.
- How OAuth works by having a consumer site request access from a service provider to access limited, read-only resources for a user after the user authorizes access.
- Current implementations of OAuth by companies like Google, AOL, Yahoo and Amazon for their APIs.
- Resources for learning more about OAuth specifications and related data portability standards.