Bringing Open-Source Practices to Your Day JobBen Coe
Ben Coe is an employee at npm and lead maintainer of several open source projects. He discusses how open source best practices like automating tests, enforcing coding styles, and keeping dependencies updated can be applied in large corporations. These practices were designed for large asynchronous teams and using them internally, through a concept called InnerSource, can make developing enterprise software easier. npm and GitHub are working together to better integrate their tools and spread the message that open source practices benefit both open source and enterprise development.
This document discusses the benefits of JUnit testing and test-driven development (TDD) for XPages applications. It encourages testing from both a user and developer perspective to ensure functionality and catch errors. The TDD mantra of writing a test first, making it fail, then fixing the code to pass the test is explained. An example of a test for currency conversion is provided. OpenNTF's JUnit plugin for XPages is recommended to allow testing. Benefits of TDD like catching errors quickly, understanding requirements, and relaxing because code is tested are outlined. The talk concludes by recommending a book on TDD by example.
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017DevOpsDays Tel Aviv
The document discusses strategies for running production services, including careful planning, extensive documentation, and good communication. It emphasizes establishing runbooks that document operational tasks and procedures. Over time, as teams grow and work expands, runbooks should be automated through scripts and tools to reduce manual effort and potential errors. Automating runbooks involves initially writing scripts for small tasks and evolving them through testing, bug fixing, and incorporating additional workflow steps. Fully automated runbooks improve reliability and allow work to be completed through execution of instructions rather than human judgement.
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...DevOpsDays Tel Aviv
The document discusses how to continuously innovate with software given the rapid pace of new technologies being introduced and the large research and development budgets of corporations. It emphasizes the need to build solutions that address business needs rather than adopting every new tool, and to develop an adaptive culture within teams that can respond to changing technologies and industry trends. Examples are provided of how open source technologies like Docker have evolved and best practices for evaluating and using new software.
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...DevOpsDays Tel Aviv
The document discusses design patterns for efficient DevOps processes including value stream mapping, release engineering, test automation, and change management. It provides recommendations such as collecting current state information directly, ensuring release engineers understand intended deployments, automating error-prone steps, centralizing test coordination, and making change management a priority integrated within the DevOps pipeline. Design patterns that increase efficiency include continuous delivery pipelines, testing all levels from unit to integration to functionality, and establishing different change modes to balance speed, quality, and risk.
Provisioning Environments, a simplistic approachWender Freese
This document discusses provisioning development environments using tools like Vagrant and Puppet. It begins with an agenda that includes DevOps, Vagrant, Puppet and providing a real example. It then defines DevOps as anything that improves interactions between development and operations. Vagrant is introduced as a simple tool for creating virtualized environments. Puppet is described as an automation tool that defines and enforces infrastructure state using a language and manifest files. The document concludes by providing a link to a real example GitHub project that demonstrates how to set up an application server cluster with load balancing using these tools.
The document discusses developing sustainable web projects with PHP. It emphasizes using light weight processes like automating tasks, communicating effectively with stakeholders, and focusing on delivering value through short iterative cycles. The document recommends using tools like Behat for testing, Trello for task management, and continuous integration to regularly deploy updates. It stresses having no assumptions about client needs and designing based on user stories to develop projects in a sustainable way.
The Panda Experiment - evolution of DevOps culture at HolidayCheckŁukasz Przybył
I was hired for a position called "DevOps Engineer". Over the years I tried to prove that DevOps is a culture, not person in product team. Few months ago we started an experiment and detached all DevOps Engineers from their teams to form a group of floating consultants. In this talk I would like to share with you why we wanted to change, what we have changed and how it turned out.
Bringing Open-Source Practices to Your Day JobBen Coe
Ben Coe is an employee at npm and lead maintainer of several open source projects. He discusses how open source best practices like automating tests, enforcing coding styles, and keeping dependencies updated can be applied in large corporations. These practices were designed for large asynchronous teams and using them internally, through a concept called InnerSource, can make developing enterprise software easier. npm and GitHub are working together to better integrate their tools and spread the message that open source practices benefit both open source and enterprise development.
This document discusses the benefits of JUnit testing and test-driven development (TDD) for XPages applications. It encourages testing from both a user and developer perspective to ensure functionality and catch errors. The TDD mantra of writing a test first, making it fail, then fixing the code to pass the test is explained. An example of a test for currency conversion is provided. OpenNTF's JUnit plugin for XPages is recommended to allow testing. Benefits of TDD like catching errors quickly, understanding requirements, and relaxing because code is tested are outlined. The talk concludes by recommending a book on TDD by example.
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017DevOpsDays Tel Aviv
The document discusses strategies for running production services, including careful planning, extensive documentation, and good communication. It emphasizes establishing runbooks that document operational tasks and procedures. Over time, as teams grow and work expands, runbooks should be automated through scripts and tools to reduce manual effort and potential errors. Automating runbooks involves initially writing scripts for small tasks and evolving them through testing, bug fixing, and incorporating additional workflow steps. Fully automated runbooks improve reliability and allow work to be completed through execution of instructions rather than human judgement.
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...DevOpsDays Tel Aviv
The document discusses how to continuously innovate with software given the rapid pace of new technologies being introduced and the large research and development budgets of corporations. It emphasizes the need to build solutions that address business needs rather than adopting every new tool, and to develop an adaptive culture within teams that can respond to changing technologies and industry trends. Examples are provided of how open source technologies like Docker have evolved and best practices for evaluating and using new software.
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...DevOpsDays Tel Aviv
The document discusses design patterns for efficient DevOps processes including value stream mapping, release engineering, test automation, and change management. It provides recommendations such as collecting current state information directly, ensuring release engineers understand intended deployments, automating error-prone steps, centralizing test coordination, and making change management a priority integrated within the DevOps pipeline. Design patterns that increase efficiency include continuous delivery pipelines, testing all levels from unit to integration to functionality, and establishing different change modes to balance speed, quality, and risk.
Provisioning Environments, a simplistic approachWender Freese
This document discusses provisioning development environments using tools like Vagrant and Puppet. It begins with an agenda that includes DevOps, Vagrant, Puppet and providing a real example. It then defines DevOps as anything that improves interactions between development and operations. Vagrant is introduced as a simple tool for creating virtualized environments. Puppet is described as an automation tool that defines and enforces infrastructure state using a language and manifest files. The document concludes by providing a link to a real example GitHub project that demonstrates how to set up an application server cluster with load balancing using these tools.
The document discusses developing sustainable web projects with PHP. It emphasizes using light weight processes like automating tasks, communicating effectively with stakeholders, and focusing on delivering value through short iterative cycles. The document recommends using tools like Behat for testing, Trello for task management, and continuous integration to regularly deploy updates. It stresses having no assumptions about client needs and designing based on user stories to develop projects in a sustainable way.
The Panda Experiment - evolution of DevOps culture at HolidayCheckŁukasz Przybył
I was hired for a position called "DevOps Engineer". Over the years I tried to prove that DevOps is a culture, not person in product team. Few months ago we started an experiment and detached all DevOps Engineers from their teams to form a group of floating consultants. In this talk I would like to share with you why we wanted to change, what we have changed and how it turned out.
Coordination and Productivity Issues in Free Software: The Role of Brooks' LawAndrea Capiluppi
This document analyzes how to measure open source communities. It discusses measuring various aspects like version control metadata, code, communication, and documentation. It examines how to identify core developers and measure their productivity. The document also explores measuring coordination and how well projects integrate new contributors over time, noting that adding developers can initially hurt productivity according to Brooks' Law. It analyzes several open source projects and finds they often face coordination challenges as size grows but can effectively onboard new members and convert them to core developers within 30 weeks.
This document outlines a structured approach to debugging distributed systems. It begins with observing and documenting the problem. The next steps involve creating a minimal reproducer, debugging the client and server sides, and checking DNS, routing, and network connections. Additional steps include inspecting traffic, attaching remote debuggers, and conducting a post-mortem analysis. Throughout the process, various tools can help with tasks like logging, testing, and network inspection. The document concludes by emphasizing the importance of understanding failure modes through experience debugging real issues with distributed systems.
Software development is hard! A common pattern in our field is project starting with the best of intentions and halfway through problems appear. Problems that slow us down, that will cause us to loose speed and flexibility. So, what is Test Driven Development and how it gives us back control over our projects?
This document discusses software testing strategies and techniques. It introduces testing pyramids that prioritize unit testing and outlines approaches for testing different parts of an application stack, including ColdFusion code, JavaScript, and databases. Specific testing methodologies like test-driven development (TDD) and behavior-driven development (BDD) are also covered. The document provides links to additional sessions at a software conference on testing JavaScript and ColdFusion applications.
just my experience after releasing a software and after that release i started to think how we can improve ourself more. thats what i share on this slide
JavaLand 2022 - Software architecture in a DevOps worldBert Jan Schrijver
The document discusses how software architects can work with DevOps teams by applying DevOps principles to software architecture. Some key points made are:
1) DevOps principles like gradual changes, customer orientation, automation, ownership, collaboration, experimentation and continuous improvement can be applied to software architecture practices.
2) Architects should focus on the business needs, involve developers as stakeholders, evolve architectures through feedback rather than upfront design, and embrace failure through experiments.
3) Flexible architectures that can change based on needs are preferable to rigid pre-defined architectures in a DevOps context.
Skills Matter DevSecOps eXchange Forum 2022 - Software architecture in a DevO...Bert Jan Schrijver
The document discusses how software architects can work with DevOps teams by applying DevOps principles to software architecture. Some key points made:
- DevOps principles like gradual changes, customer orientation, automation, ownership, collaboration, experimentation and continuous improvement should guide architectural decisions and processes.
- The architecture should start simply and evolve iteratively based on feedback from developers and customers.
- Automation, infrastructure as code, and measuring architectural decisions are important.
- The team should own the architecture collaboratively and the architect must be accountable and involved.
This document discusses test-driven development (TDD) and unit testing. It defines TDD as a process that involves writing a failing test first, then implementing code to pass that test, and refactoring if needed. Key benefits of TDD and unit testing include reduced bugs, lower maintenance costs, and improved code design. The document provides guidelines for writing good unit tests and emphasizes that tests should be quick, isolated, and answer what behavior was tested and what the expected and actual results were.
This document outlines a structured approach to debugging distributed systems. It begins with observing and documenting the problem. The next steps involve creating a minimal reproducer, debugging the client and server sides, and checking DNS, routing, and network connections. Traffic and messages should also be inspected. The process concludes by wrapping up findings and conducting a post-mortem analysis. Key challenges in distributed systems like concurrency, lack of a global clock, and independent failures are discussed.
The document discusses different approaches to software development like waterfall and test-driven development (TTD). Waterfall has issues like finishing all work before moving forward, low business details and user experience involvement. TTD provides benefits like parallel work, high business and user experience involvement, and faster feedback. It also discusses using kanban to visualize workflow, forecast delivery, address bugs, and scale teams as a whole system by adding roles like coaches and leads as more developers are added.
This presentation gives you the evidence as to why unit testing works and a process for how to bring it your team as soon as possible. There's a reason why the growth of unit testing, and automated unit testing in particular, has exploded over the past few years. It not only improves your code, it's faster than releasing code without tests. You'll learn: What, exactly, is a unit test?; The 7 reasons why managers love unit testing; and how to change mindset and processes to start unit testing now.
This presentation explains WHY Test Driven Development matters and what are some of the infinite advantages of this great technique for programming a cleaner and higher quality code.
From No Git to 3000 GitHub Users and How to Keep Them Happy - GitHub Universe...Dan Cundiff
A story and lessons we learned about how we went from not using Git, to not only introducing it but making it the default version control system along with GitHub Enterprise for 3000 users at Target.
This document outlines a structured approach for debugging distributed systems. It begins with observing and documenting what is known about the problem. The next steps involve creating a minimal reproducer, debugging the client and server sides, and checking DNS, routing, and network connections. Traffic and messages should be inspected, with a focus on eliminating potential issues on the client side first. The process concludes by wrapping up with documentation of findings, impacts, and lessons learned to prevent future issues. Several tools are recommended for each step to aid in debugging distributed systems effectively.
How fast can you onboard a new team member with VAGRANT ?Vivek Parihar
As the number of developers on a project, the number of projects in an Organization, or the complexity of a single project increases, it also becomes increasingly difficult to keep our development environments operational. From changing dependencies and differing server versions to running completely different operating systems specially windows machines of FrontEnd team, keeping the process of getting a running development environment sane and repeatable is non-trivial.
Getting the development environments identically setup can be a huge undertaking. On top of that, some people use Mac while others Use Linux or Windows. Before you know it, developers will be throwing computers through walls exhausted from constantly configuring and configuring. Windows machine devs yelling WTF is this Imagemagick , people using Mac asking which is better macports vs homebrew vs fink.
Vagrant solves all of this by introducing a common configuration format and workflow for describing and building development environments repeatably across Mac OS X, Windows, or Linux.
The team was not co-located and worked in silos with no communication. The QA team found hundreds of defects each build. Tests took 48 hours to run and weeks to analyze results. The team adopted agile practices like co-locating, continuous integration, pairing, and automation to improve collaboration, find issues earlier, speed up testing, and reduce defects.
No matter what language you use, developing code is the same ñ spec, code, deploy, maintain. The “Big Boys” have teams to manage each task, but what happens when you don’t? I’ll go over some different methods for maintaining internal and external programs that are cheap, open source, and make your life easier. PHP has a plethora of tools for us to use to effectively code and maintain our projects; and the best part is that they are generally inexpensive or even free. The trick is finding and using these tools effectively in a workflow that the developer can use.
The document discusses recent developments and plans for PostgreSQL over the next six months. It outlines a new development model of commit fests to increase transparency. It also discusses expanding non-profit infrastructures to support PostgreSQL communities internationally. Certification milestones are noted along with a new integrated replication offering for PostgreSQL. Plans are described to further engage with higher education and continue courting developers to expand PostgreSQL adoption.
Getting started with DevOps practices should not be that difficult or overwhelming. I hope to show a few ways that you can get started with the automation of some of your legacy applications to start following some DevOps practices.
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Doug Turnbull
Search & Big Data Architect for OpenSource Connections
Databases
Stop Worrying & Love the SQL - A Case Study
OpenStack: Everything You Need to Know To Get StartedAll Things Open
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Mark Voelker
Technical Leader with Cisco
Cloud/OpenStack
OpenStack: Everything You Need to Know To Get Started
Find more by Mark here: http://www.slideshare.net/markvoelker
Coordination and Productivity Issues in Free Software: The Role of Brooks' LawAndrea Capiluppi
This document analyzes how to measure open source communities. It discusses measuring various aspects like version control metadata, code, communication, and documentation. It examines how to identify core developers and measure their productivity. The document also explores measuring coordination and how well projects integrate new contributors over time, noting that adding developers can initially hurt productivity according to Brooks' Law. It analyzes several open source projects and finds they often face coordination challenges as size grows but can effectively onboard new members and convert them to core developers within 30 weeks.
This document outlines a structured approach to debugging distributed systems. It begins with observing and documenting the problem. The next steps involve creating a minimal reproducer, debugging the client and server sides, and checking DNS, routing, and network connections. Additional steps include inspecting traffic, attaching remote debuggers, and conducting a post-mortem analysis. Throughout the process, various tools can help with tasks like logging, testing, and network inspection. The document concludes by emphasizing the importance of understanding failure modes through experience debugging real issues with distributed systems.
Software development is hard! A common pattern in our field is project starting with the best of intentions and halfway through problems appear. Problems that slow us down, that will cause us to loose speed and flexibility. So, what is Test Driven Development and how it gives us back control over our projects?
This document discusses software testing strategies and techniques. It introduces testing pyramids that prioritize unit testing and outlines approaches for testing different parts of an application stack, including ColdFusion code, JavaScript, and databases. Specific testing methodologies like test-driven development (TDD) and behavior-driven development (BDD) are also covered. The document provides links to additional sessions at a software conference on testing JavaScript and ColdFusion applications.
just my experience after releasing a software and after that release i started to think how we can improve ourself more. thats what i share on this slide
JavaLand 2022 - Software architecture in a DevOps worldBert Jan Schrijver
The document discusses how software architects can work with DevOps teams by applying DevOps principles to software architecture. Some key points made are:
1) DevOps principles like gradual changes, customer orientation, automation, ownership, collaboration, experimentation and continuous improvement can be applied to software architecture practices.
2) Architects should focus on the business needs, involve developers as stakeholders, evolve architectures through feedback rather than upfront design, and embrace failure through experiments.
3) Flexible architectures that can change based on needs are preferable to rigid pre-defined architectures in a DevOps context.
Skills Matter DevSecOps eXchange Forum 2022 - Software architecture in a DevO...Bert Jan Schrijver
The document discusses how software architects can work with DevOps teams by applying DevOps principles to software architecture. Some key points made:
- DevOps principles like gradual changes, customer orientation, automation, ownership, collaboration, experimentation and continuous improvement should guide architectural decisions and processes.
- The architecture should start simply and evolve iteratively based on feedback from developers and customers.
- Automation, infrastructure as code, and measuring architectural decisions are important.
- The team should own the architecture collaboratively and the architect must be accountable and involved.
This document discusses test-driven development (TDD) and unit testing. It defines TDD as a process that involves writing a failing test first, then implementing code to pass that test, and refactoring if needed. Key benefits of TDD and unit testing include reduced bugs, lower maintenance costs, and improved code design. The document provides guidelines for writing good unit tests and emphasizes that tests should be quick, isolated, and answer what behavior was tested and what the expected and actual results were.
This document outlines a structured approach to debugging distributed systems. It begins with observing and documenting the problem. The next steps involve creating a minimal reproducer, debugging the client and server sides, and checking DNS, routing, and network connections. Traffic and messages should also be inspected. The process concludes by wrapping up findings and conducting a post-mortem analysis. Key challenges in distributed systems like concurrency, lack of a global clock, and independent failures are discussed.
The document discusses different approaches to software development like waterfall and test-driven development (TTD). Waterfall has issues like finishing all work before moving forward, low business details and user experience involvement. TTD provides benefits like parallel work, high business and user experience involvement, and faster feedback. It also discusses using kanban to visualize workflow, forecast delivery, address bugs, and scale teams as a whole system by adding roles like coaches and leads as more developers are added.
This presentation gives you the evidence as to why unit testing works and a process for how to bring it your team as soon as possible. There's a reason why the growth of unit testing, and automated unit testing in particular, has exploded over the past few years. It not only improves your code, it's faster than releasing code without tests. You'll learn: What, exactly, is a unit test?; The 7 reasons why managers love unit testing; and how to change mindset and processes to start unit testing now.
This presentation explains WHY Test Driven Development matters and what are some of the infinite advantages of this great technique for programming a cleaner and higher quality code.
From No Git to 3000 GitHub Users and How to Keep Them Happy - GitHub Universe...Dan Cundiff
A story and lessons we learned about how we went from not using Git, to not only introducing it but making it the default version control system along with GitHub Enterprise for 3000 users at Target.
This document outlines a structured approach for debugging distributed systems. It begins with observing and documenting what is known about the problem. The next steps involve creating a minimal reproducer, debugging the client and server sides, and checking DNS, routing, and network connections. Traffic and messages should be inspected, with a focus on eliminating potential issues on the client side first. The process concludes by wrapping up with documentation of findings, impacts, and lessons learned to prevent future issues. Several tools are recommended for each step to aid in debugging distributed systems effectively.
How fast can you onboard a new team member with VAGRANT ?Vivek Parihar
As the number of developers on a project, the number of projects in an Organization, or the complexity of a single project increases, it also becomes increasingly difficult to keep our development environments operational. From changing dependencies and differing server versions to running completely different operating systems specially windows machines of FrontEnd team, keeping the process of getting a running development environment sane and repeatable is non-trivial.
Getting the development environments identically setup can be a huge undertaking. On top of that, some people use Mac while others Use Linux or Windows. Before you know it, developers will be throwing computers through walls exhausted from constantly configuring and configuring. Windows machine devs yelling WTF is this Imagemagick , people using Mac asking which is better macports vs homebrew vs fink.
Vagrant solves all of this by introducing a common configuration format and workflow for describing and building development environments repeatably across Mac OS X, Windows, or Linux.
The team was not co-located and worked in silos with no communication. The QA team found hundreds of defects each build. Tests took 48 hours to run and weeks to analyze results. The team adopted agile practices like co-locating, continuous integration, pairing, and automation to improve collaboration, find issues earlier, speed up testing, and reduce defects.
No matter what language you use, developing code is the same ñ spec, code, deploy, maintain. The “Big Boys” have teams to manage each task, but what happens when you don’t? I’ll go over some different methods for maintaining internal and external programs that are cheap, open source, and make your life easier. PHP has a plethora of tools for us to use to effectively code and maintain our projects; and the best part is that they are generally inexpensive or even free. The trick is finding and using these tools effectively in a workflow that the developer can use.
The document discusses recent developments and plans for PostgreSQL over the next six months. It outlines a new development model of commit fests to increase transparency. It also discusses expanding non-profit infrastructures to support PostgreSQL communities internationally. Certification milestones are noted along with a new integrated replication offering for PostgreSQL. Plans are described to further engage with higher education and continue courting developers to expand PostgreSQL adoption.
Getting started with DevOps practices should not be that difficult or overwhelming. I hope to show a few ways that you can get started with the automation of some of your legacy applications to start following some DevOps practices.
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Doug Turnbull
Search & Big Data Architect for OpenSource Connections
Databases
Stop Worrying & Love the SQL - A Case Study
OpenStack: Everything You Need to Know To Get StartedAll Things Open
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Mark Voelker
Technical Leader with Cisco
Cloud/OpenStack
OpenStack: Everything You Need to Know To Get Started
Find more by Mark here: http://www.slideshare.net/markvoelker
While women make up around half the overall workforce, they account for significantly smaller percentages in computing jobs and open source contributors. Engaging more women in open source could help solve problems faster by drawing from a broader population. There are opportunities for open source involvement and things individuals can do to support greater diversity and inclusion.
Using Bootstrap to Create a Common UI Across ProductsAll Things Open
All Things Open 2014 - Day 1
Wednesday, October 22nd, 2014
Robb Hamilton & Greg Sheremeta
Web/UX Designers for Red Hat
Design
Using Bootstrap to Create a Common UI Across Products
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Ben Balter
Government Evangelist with GitHub
Open Government/Open Data
Software Development as a Civic Service
Find more by Ben here: https://speakerdeck.com/benbalter
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Mike McNeil
Founder & CTO at Balderdash and creator of Sails.js
Front Dev 2
Sails.js: Rags to...Open Source
Find more by Mike here: http://www.slideshare.net/michaelrmcneil
All Things Open 2014 - Day 1
Wednesday, October 22nd, 2014
Joseph Gagliari
Web Designer and Frontend Developer for University of West Georgia
Design
Great Artists (Designers) Steal
Streaming Way to Webscale: How We Scale Bitly via StreamingAll Things Open
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Peter Herndon
Senior Application Engineer for Bitly
DevOps
Streaming Way to Webscale: How We Scale Bitly via Streaming
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Michael DeHaan
CTO with Ansible
Greg DeKoenigsberg
VP Community with Eucalyptus Systems
DevOps
Ansible - 1,000,000 Downloads and Counting
Find more by Greg here: http://www.slideshare.net/gregdekoenigsberg
The Ember.js Framework - Everything You Need To KnowAll Things Open
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Yehuda Katz
Founder of Tilde
Front Dev 1
The Ember.js Framework - Everything You Need To Know
The Second Digital Revolution is Here. Are You Ready for Hyperconnectivity?All Things Open
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Ross Mason
Founder & VP Product Strategy Mulesoft
MidDay Keynote
The Second Digital Revolution is Here. Are You Ready for Hyperconnectivity?
Saving the World with Open Source and ScienceAll Things Open
All Things Open 2014 - Day 1
Wednesday, October 22nd, 2014
Marcus Hanwell
Technical Leader with Kitware, Inc
Trending/Hardware
Saving the World with Open Source and Science
I Know It Was MEAN, But I Cut the Cord to LAMP AnywayAll Things Open
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Brian Hyder
Co-Founder & CTO of PencilBlue, LLC
Back Dev
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
Architecture of the Upcoming OrangeFS v3 Distributed Parallel File SystemAll Things Open
OrangeFS is a parallel file system that provides distributed, shared-nothing metadata and data storage across multiple servers. It allows for high performance parallel I/O and a unified namespace. The document discusses OrangeFS's architecture, performance advantages, and areas for future improvement including enhanced availability, security, integrity checking, and administration. Upcoming versions will feature distributed primary object replication, geographic file replication, capability-based security, parallel background jobs for maintenance and verification, and improved metadata and scaling performance.
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Greg DeKoenigsberg
Vice President of Community with Ansible
Case Studies/Demo
Case Study: Ansible and NASA
Find more by Greg here: http://www.slideshare.net/gregdekoenigsberg
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Nic Rosental
Founder/Developer of Epic Labs and Developer with 352 Inc
DevOps
Battle of the Stacks
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...AgileNetwork
This document discusses marrying Agile and DevOps approaches to get phenomenal results. It begins with an introduction of the author and their experience. It then poses common questions around when to adopt Agile vs DevOps and how they relate. The document outlines differences between traditional and Agile/DevOps mindsets and practices. It provides examples of lessons learned and challenges overcome during one organization's transformation journey. Finally, it discusses steps to get started with a DevOps approach and lists examples of effective DevOps practices.
AppSec Pipelines and Event based SecurityMatt Tesauro
Matt Tesauro discusses moving application security (AppSec) beyond traditional security testing towards event-based security using continuous integration/continuous delivery (CI/CD) pipelines and automation. Key points include:
- Implementing AppSec pipelines that automate security tasks using tools like Docker to increase efficiency and consistency while reducing friction between AppSec and development teams.
- Treating individual security findings as tests that are run continuously via tools like Jenkins to quickly determine when issues are fixed.
- With increased automation and efficiency, one company increased the number of application assessments from 44 in 2014 to over 400 in 2016 while reducing AppSec staffing levels.
This document discusses continuous delivery and the missing parts of implementing it fully. It begins by defining continuous delivery as building, testing, and releasing software faster and more frequently. It outlines eight principles and four practices of continuous delivery. However, it notes that while developers may implement continuous delivery, the operations side is often missing parts like configuration management, immutable infrastructure, logging, metrics, monitoring, orchestration, and disaster recovery. A maturity model for continuous delivery is presented, and benefits like agility, faster recovery, more experimentation, and better products for customers are discussed.
Putting Devs On-Call: How to Empower Your TeamVictorOps
A main tenet of DevOps is bridging the gap between the Dev team and the Ops team. One way to accomplish this is to include devs in the on-call rotation. While this may sound difficult, it’s not impossible to do…as our guide demonstrates.
We profile four companies that have successfully transitioned their dev team to being on-call and their stories can provide examples for how you too can do it.
Devops, the future is here, it's just not evenly distributed yet.Kris Buytaert
This document discusses the DevOps movement and how operations and development teams can work more collaboratively. Some key points:
- DevOps aims to break down barriers between development and operations teams through better communication and automation.
- In the past, developers would deploy code without considering operational requirements, leading to problems once code was in production. DevOps promotes developing and deploying code as a team effort between devs and ops.
- Automating processes like configuration management, continuous integration, deployment and monitoring helps align dev and ops goals and allows more frequent, lower-risk deployments. Tools like Puppet, Chef, Jenkins and Nagios are mentioned.
- The document advocates for practices like test-driven
WDI 2021 - Pierwszy duży projekt w Pythonie i Selenium - Katarzyna Javaheri-S...Katarzyna Javaheri-Szpak
This document discusses best practices for a large first Python and Selenium automation project. It recommends determining the available documentation, scope of testing, tools and infrastructure, design patterns, and project workflow before beginning coding. It also stresses the importance of non-coding tasks like choosing tools, designing architecture, and collaborating with other teams. The document provides examples of good practices like following PEP style guides, adding a README file, managing dependencies, hiding credentials, using waits instead of sleeps, designing independent parallel tests, and customizing reports.
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.
The document describes a role playing game to simulate a DevOps transformation. Players take on roles like developer, operations, business owner, etc. The game is played over 3 sprints where the teams start with separate development and operations teams, then integrate operations into development teams, and finally work to continuously deliver value through smaller batches and automated deployments. Bottlenecks are addressed and teams work to improve collaboration and feedback loops. The purpose is to demonstrate how DevOps principles can help organizations increase speed, stability, and innovation.
Velocity Conference NYC 2014 - Real World DevOpsRodrigo Campos
Rodrigo Campos presented on the challenges faced and benefits of adopting a DevOps culture at Walmart's Latin American e-commerce division. The key challenges included deploying a new platform before Black Friday, expanding infrastructure for traffic spikes, developing an agile mindset, and rebuilding trust between teams. Adopting DevOps practices like improved communication, transparency and collaboration helped address these challenges. It resulted in the successful deployment of the new platform with 100% uptime on Black Friday and increased deployment frequency, success rates and adoption of agile methodologies.
Outpost24 webinar: Turning DevOps and security into DevSecOpsOutpost24
DevOps is a revolution starting to deliver. The “shift left” security approach is trying to catch up, but challenges remain. We will go over concrete security approaches and real data that overcome these challenges.
It takes more than adding “hard to find” security talent to your DevOps team to reach DevSecOps benefits. Our discussion focuses on the practical side and lessons-learned from helping organizations gear up for this paradigm shift.
Rails Operations involves both developing code that will go into production and managing the production environment to preserve potential revenue. Key lessons include:
- Using configuration management tools like Puppet or Chef to automate server configuration and reduce risk.
- Implementing staging servers to test changes in a pre-production environment before deploying to production.
- Following a development > staging > production workflow to deploy changes incrementally and limit risk.
- Monitoring application and server metrics continuously with tools like New Relic and Scout to identify performance issues.
The document discusses DevOps practices for real world companies. It defines DevOps as people, processes and tools working together to enable continuous delivery of value to end users faster. It provides advice on establishing baselines, starting simple with one codebase, automating tests and infrastructure, implementing feature flags, improving cycle times through automation and removing bottlenecks, and shifting to a no-silos culture with collaboration between teams. The overall message is that DevOps requires cultural and operational changes to break down barriers and deliver value to users faster.
Building an Open Source AppSec PipelineMatt Tesauro
Take the concepts of DevOps and apply them to AppSec and you have an AppSec Pipeline. Allow automation, orchestration and some ChatOps to expand the flow of your AppSec team since its not likely to get any bigger.
What a DevOps specialist has to know about static code analysisAndrey Karpov
Reasons of failed introductions.
Place of static analysis in the DevOps process.
Static analysis – friend or foe.
Notifications about analysis results.
What to do with 10 000 analyzer warnings after the first run?
How much time is needed for fixing all bugs?
Q&A or what’s next?
AATC - Gamifying DevOps with Lego and Chocolate GameDana Pylayeva
This document describes a game used to simulate a DevOps transformation. The game has players take on roles in either a development or operations team. In the first sprint, the teams are separate and follow a cyclical development process. Bottlenecks are observed. In the second sprint, operations is invited into the development teams to build cross-functional skills. Environment automation is started. The third sprint focuses on continuous delivery through reducing batch sizes and simplifying deployments. The game aims to illustrate DevOps concepts like collaboration, automation, and accelerated feedback loops.
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLoveNETWAYS
Kris Buytaert discussed the evolution of infrastructure deployment and configuration management over the past 20 years. Early methods involved manual installations and copying config files (1996) while later approaches included tools like Mondo Rescue for single instances (2001), SystemImager for reproducible infrastructures (2003), and Kickstart/FAI for OS installation (2005). The talk advocates treating infrastructure as code using tools like Puppet, Chef, and CFEngine, with best practices like versioning, testing, and separate environments. It acknowledges early challenges in getting operators to adopt new methods but argues they are now essential for managing modern, distributed systems.
DevOps is far more about culture and organization than it is about technology and tooling. This talk will discuss the speaker's experiences leading high-performing engineering teams at Google, eBay, and Stitch Fix, and will offer suggestions for other organizations to level up their DevOps game.
https://www.meetup.com/SV-ELC/events/240087808/
Modern software-service models take advantage of the great benefits in having the same team both build the software as well as operate it in production -- "You Build It; You Run It" is the Amazon mantra. What does this mean in practice?
Organizationally, it means small teams with well-defined areas of responsibility, directly aligned with the business. The teams are cross-functional, meaning that each team has all the skill sets it requires to do its job, while at the same time relying on other teams for supporting services, tools, and libraries.
Process-wise, it means doubling down on practices like test-driven development and continuous delivery. Using continuous delivery practices, high-performing teams can and do release their applications and services multiple times a day. This enables them to iterate rapidly, experiment courageously, and fail more quickly.
Culturally, it means end-to-end ownership. Each team owns its software end-to-end, from design to development to deployment to retirement. The same engineers who are responsible for the features are responsible for quality, performance, operations, and maintenance. This ownership puts incentives in the right place to encourage building maintainable, observable, and operable systems from the start.
All these techniques and approaches are available to everyone, and practical examples in this talk will help other organizations on their journey.
Similar to Bringing Open-Source Practices to Your Day Job (20)
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
DDS Security Version 1.2 was adopted in 2024. This revision strengthens support for long runnings systems adding new cryptographic algorithms, certificate revocation, and hardness against DoS attacks.
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...kalichargn70th171
A dynamic process unfolds in the intricate realm of software development, dedicated to crafting and sustaining products that effortlessly address user needs. Amidst vital stages like market analysis and requirement assessments, the heart of software development lies in the meticulous creation and upkeep of source code. Code alterations are inherent, challenging code quality, particularly under stringent deadlines.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
SOCRadar's Aviation Industry Q1 Incident Report is out now!
The aviation industry has always been a prime target for cybercriminals due to its critical infrastructure and high stakes. In the first quarter of 2024, the sector faced an alarming surge in cybersecurity threats, revealing its vulnerabilities and the relentless sophistication of cyber attackers.
SOCRadar’s Aviation Industry, Quarterly Incident Report, provides an in-depth analysis of these threats, detected and examined through our extensive monitoring of hacker forums, Telegram channels, and dark web platforms.
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
8. ▪ we use a variety of testing tools:
▫ mocha, lab, tap
▪ we’re not dogmatic about TDD
▫ we’re dogmatic about writing tests.
▪ everything runs with Travis CI
Unit Testing
9. ▪ eliminates the question, did you write a test
for that?
▪ we use the coverage tool nyc
▪ we use Coveralls
Test Coverage
10. var express = require('wombat')
var app = wombat()
app.get('/', function (req, res) {
res.send('Hello Log')
})
app.listen(3000) github.com/bcoe/nyc
tools should be so
simple they’re fun to
use
11. ▪ this one is controversial!
▪ ultimately, we decided:
▫ use whatever coding style you like, but
automate its enforcement.
▪ I ❤ github.com/feross/standard
Coding Style
12. ▪ the longer you wait to upgrade, the more
annoying it becomes
▪ use npm outdated
▪ greenkeeper.io rocks
keep dependencies
up-to-date
13. var express = require('wombat')
var app = wombat()
app.get('/', function (req, res) {
res.send('Hello Log')
})
app.listen(3000)
greenkeeper.io
one of my top five, all
time, favorite robots
14. ▪ npm publish --tag=alpha
▪ npm version patch -m “awesome new
feature”
▪ we run several internal npm On-Sites:
▫ private npm packages are a thing.
we’re npm power
users
15. “engineers are far more tolerable of a
pedantic robot than they are pedantic
people.”
— someone probably.
19. ▪ unit-testing is a great example:
▫ developers learned running large OSS
projects, the benefits of unit-testing.
▪ people emulate the projects they respect:
▫ this creates a feedback loop!
how do habits spread?
20. “What works best is studying the projects of
other maintainers already on this list,
interacting with the developers, learning
from them, and emulating their
methodologies.”
— blog.npmjs.org
22. developers converge on the tools that
facilitate these practices
4 Best Practices
Center Around
Great Tools
23. 9/10 Use Travis CI10/10 Use GitHub 3/10 Use Coveralls
top 10 npm packages
24. ▪ a pull request is opened on GitHub
▪ build kicks off on Travis:
▫ installing modules from public and private
registries.
▪ a conversation begins between developers.
the npm workflow
25. ▪ pull-request kept up-to-date by robots:
▫ Coveralls reporting coverage.
▫ Travis CI reporting build status
▪ once merged, module is published to npm
▪ greenkeeper.io notifies other projects o/
the npm workflow
26. ▪ tools work together elegantly.
▪ as many steps are automated as possible:
▫ let humans do what humans are good at.
▪ it feels (a little bit) like you command a robot
army.
what makes this
awesome?
28. ▪ restrictions on infrastructure.
▪ practices lag behind.
▪ process can be overwhelming.
developing enterprise
software is hard
29. OSS methodologies
can work!
▪ OSS practices were designed to help large
asynchronous teams work effectively:
▫ this is applicable in large corporations!
▪ InnerSource: Internal Open Source at PayPal
30. “The results were visible after 6 months. The
Checkout Platform team spends 0% of its
time rewriting code and just 10% reviewing
submissions. The team was able to do a
major refactoring and a 4x increase in
performance without planning for it. The
mindset moved from blocking change to
mentoring and coaching.”
31. ▪ InnerSource is about:
▫ developers taking ownership of repos.
▫ people taking on the role of a lead
maintainer.
▪ developers need tools that empower them.
education is important
32. ▪ good developer tools do more than deliver
an asset to a build server:
▫ there’s a real disconnect between devs
and ops folks here.
what are good
developer tools?
33. ▪ it’s about facilitating communication.
▪ it’s about discovery.
▪ it’s about automation.
▪ it’s about delivering an asset to a build
server.
what do I mean by
this?
36. how are we working
together?
▪ we’re keeping our roadmaps aligned
▪ we’re looking for tighter integration points
▪ we’re preaching a similar message about
OSS in the Enterprise
37. why this is awesome
▪ OSS software and Enterprise software can
learn a lot from each other.
▪ we can make a developer’s life more
awesome.