When most people talk about automating infrastructure, they focus on things like consistency, scalability, and flexibility. While fine goals, we recently converted several projects to Chef for both systems AND application deployment, and found that, with a little work, these tools could also help you enable better software quality assurance, load modeling, and even improve resource allocation.
By sharing cookbooks across projects, we were able to standardize practices and eliminate arbitrary differences, while using parameterization to perfectly isolate the special needs of each project. This allowed us to transfer knowledge among staff much more quickly. Pulling in and parameterizing application state – database contents, website assets, uploaded content – allowed us to spin up new environments with as much or as little state as needed. Integrating with Vagrant and Jenkins, we were then able to use chef to treat the entire image – system and application – as a test fixture. As each engineer (ops or dev) has visibility into the whole stack, we can more easily move people between dev and ops, or between projects.
Puppet getting started will show the different components used in puppet environments, starting with facter and puppet to different webinterfaces like puppet enterprise console and foreman. It will also cover an exemplary design for scaling the puppet master and for development livecycle of modules. Furthermore an example for design of modules will be given.
James Turnbull, VP of Tech Operations at Puppetlabs, started off the day with a very interesting and informative talk about the past, current and future of Puppet. He showed they have a strong link to their community and plan to keep it that way. He explained that they grew from very small to 70+ people over the last year, and that brings some issues with it. They are very dedicated to fixing those issues though, and hope to improve things moving towards the future.
When most people talk about automating infrastructure, they focus on things like consistency, scalability, and flexibility. While fine goals, we recently converted several projects to Chef for both systems AND application deployment, and found that, with a little work, these tools could also help you enable better software quality assurance, load modeling, and even improve resource allocation.
By sharing cookbooks across projects, we were able to standardize practices and eliminate arbitrary differences, while using parameterization to perfectly isolate the special needs of each project. This allowed us to transfer knowledge among staff much more quickly. Pulling in and parameterizing application state – database contents, website assets, uploaded content – allowed us to spin up new environments with as much or as little state as needed. Integrating with Vagrant and Jenkins, we were then able to use chef to treat the entire image – system and application – as a test fixture. As each engineer (ops or dev) has visibility into the whole stack, we can more easily move people between dev and ops, or between projects.
Puppet getting started will show the different components used in puppet environments, starting with facter and puppet to different webinterfaces like puppet enterprise console and foreman. It will also cover an exemplary design for scaling the puppet master and for development livecycle of modules. Furthermore an example for design of modules will be given.
James Turnbull, VP of Tech Operations at Puppetlabs, started off the day with a very interesting and informative talk about the past, current and future of Puppet. He showed they have a strong link to their community and plan to keep it that way. He explained that they grew from very small to 70+ people over the last year, and that brings some issues with it. They are very dedicated to fixing those issues though, and hope to improve things moving towards the future.
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques. We will also look at tools that complement deployment with management, configuration and monitoring.
Chasing AMI - Building Amazon machine images with Puppet, Packer and JenkinsTomas Doran
Using puppet when configuring EC2 machines seems a natural fit. However bringing up new machines from a community image with puppet is not trivial and can be slow, and so not useful for auto-scaling.
The cloud also offers a solution to ongoing server maintenance, allowing you to launch fresh instances whenever you upgrade your applications (Immutable or Phoenix servers). However to predictably succeed, you need to freeze the puppet code alongside the application version for deployment.
The solution to these issues is generating custom machine images (AMIs) with your software inlined. This talk will cover Yelp's use of a Packer, Jenkins and Puppet for generating AMIs. This will include how we deal with issues like bootstrapping, getting canonical information about a machine's environment and cluster state at launch time, as well as supporting immutable/phoenix servers in combination with more traditional long lived servers inside our hybrid cloud infrastructure.
Dennis Matotek, Technical Lead Platforms at Experian Hitwise Australia, gave an excellent presentation on setting up puppet using vagrant, puppet and testing, including a full demo of rspec-puppet and Jenkins.
Common configuration with Data Bags - Fundamentals Webinar Series Part 4Chef
Part 4 of a 6 part series introducing you to the fundamentals of Chef.
This session includes an introducing Data Bags & Data Bag Items
After viewing this webinar you will be able to:
- Use Data Bags for data-driven recipes
- Use multiple recipes for a node's run list
Video of this webinar can be found at the following URL
https://www.youtube.com/watch?v=fS_yrFNSL9w&list=PL11cZfNdwNyPnZA9D1MbVqldGuOWqbumZ
Roman Shaposhnik of Cloudera and the Apache Software Foundation talks on "Delopying Hadoop-Based Bigdata Environments: [Tall] Tales from the Frontier" at Puppet Camp Silicon Valley 2012.
Slides from my presentation at #ChefConf 2013
Big Data meets Configuration Management. Edmunds.com's first foray into Hadoop is a tale of challenges, discovery, and ultimately triumph. This is the story of how Edmunds.com leveraged Chef - and its community - to build a fully automated Hadoop cluster in the face of looming project deadlines.
CakePHP is a nice way of using MVC architecture in you PHP environment. Looking through this presentation you'll get introduced to MVC and get some start up code examples for you to explore.
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques. We will also look at tools that complement deployment with management, configuration and monitoring.
Chasing AMI - Building Amazon machine images with Puppet, Packer and JenkinsTomas Doran
Using puppet when configuring EC2 machines seems a natural fit. However bringing up new machines from a community image with puppet is not trivial and can be slow, and so not useful for auto-scaling.
The cloud also offers a solution to ongoing server maintenance, allowing you to launch fresh instances whenever you upgrade your applications (Immutable or Phoenix servers). However to predictably succeed, you need to freeze the puppet code alongside the application version for deployment.
The solution to these issues is generating custom machine images (AMIs) with your software inlined. This talk will cover Yelp's use of a Packer, Jenkins and Puppet for generating AMIs. This will include how we deal with issues like bootstrapping, getting canonical information about a machine's environment and cluster state at launch time, as well as supporting immutable/phoenix servers in combination with more traditional long lived servers inside our hybrid cloud infrastructure.
Dennis Matotek, Technical Lead Platforms at Experian Hitwise Australia, gave an excellent presentation on setting up puppet using vagrant, puppet and testing, including a full demo of rspec-puppet and Jenkins.
Common configuration with Data Bags - Fundamentals Webinar Series Part 4Chef
Part 4 of a 6 part series introducing you to the fundamentals of Chef.
This session includes an introducing Data Bags & Data Bag Items
After viewing this webinar you will be able to:
- Use Data Bags for data-driven recipes
- Use multiple recipes for a node's run list
Video of this webinar can be found at the following URL
https://www.youtube.com/watch?v=fS_yrFNSL9w&list=PL11cZfNdwNyPnZA9D1MbVqldGuOWqbumZ
Roman Shaposhnik of Cloudera and the Apache Software Foundation talks on "Delopying Hadoop-Based Bigdata Environments: [Tall] Tales from the Frontier" at Puppet Camp Silicon Valley 2012.
Slides from my presentation at #ChefConf 2013
Big Data meets Configuration Management. Edmunds.com's first foray into Hadoop is a tale of challenges, discovery, and ultimately triumph. This is the story of how Edmunds.com leveraged Chef - and its community - to build a fully automated Hadoop cluster in the face of looming project deadlines.
CakePHP is a nice way of using MVC architecture in you PHP environment. Looking through this presentation you'll get introduced to MVC and get some start up code examples for you to explore.
CakePHP is one of the world’s most preferred open source PHP frameworks for website development. Here is a brief explaining of CakePHP presenting the various advantages to using this framework along with its technical aspects and features.
For more details, please visit: http://www.konstantinfo.com/cakephp-development.php
una breve introducción a cakephp 3 explicando acerca del framework y algunos de sus detalles. tratare de subir los ejemplos que hice después de terminar la presentación en un vídeo.
CakePHP 3 comes with a new ORM. This talk starts with a short history of how this library came to be and then walk through a series of examples from beginner to advanced for using the Querying features of the ORM.
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Michael Lihs
Presentation about open source tools to set up continuous integration and continuous deployment. Covers Git, Gitlab, Chef, Vagrant, Jenkins, Gatling, Dashing, TYPO3 Surf and some other tools. Shows some best practices for testing with Behat and Functional Testing.
Laravel Forge: Hello World to Hello ProductionJoe Ferguson
With the recent release of Laravel Forge, Envoyer and Homestead, it has never been easier to go from nothing to something with an easy to use PHP Framework. This talk will cover creating a basic Laravel application using the Laravel specific Vagrant box "Homestead", connecting to a server (Linode, Rackspace, Digital Ocean), and deploying the application via Forge. The talk will also cover tips and tricks on customizing Homestead to fit custom needs as well as how to use Forge & Envoyer to deploy new versions of our application.
DevOps for Humans - Ansible for Drupal Deployment Victory!Jeff Geerling
Everyone knows it's a Good Idea™ to use a configuration management system (e.g. Puppet, Chef) to manage your Drupal infrastructure. But many people (myself included) have run into a wall of #wtfmoments when trying to learn the vagaries of traditional CM systems and their vendor-specific syntaxes.
In 2012, Ansible was released, enabling normal human beings to manage their servers with an easy, but powerful, CM system that uses YAML (just like Drupal 8!) to define configuration and Jinja2 (very much like Twig!) for templates. Not only that, but Ansible is also an incredibly simple and very flexible Drupal deployment and continuous delivery tool.
Learn how you can use Ansible to manage your infrastructure—including local development environments—and stop letting servers and deployments get in the way of development.
DevOps as a culutre has proven to help you ship faster, creating a better feedback mechanism between developers, operations and the systems they work on. It has been around for a while, but it is still not something that teams have been able to adopt completely and practice on a day-to-day basis, despite of its proven results. There is a gap between developers and operations, which needs to be closed.
In this talk, we will see how Vagrant can help developers and operations individually, and then how it can be used to bridge that gap for developers and operations to work more closely with each other. We will see how Vagrant can prove to be an effective tool for developers as it can offer cheap throw away environments that closely resembles production. We will also see how operations can make use of Vagrant for quickly testing out configuration management changes. And finally, we will discuss some advanced use-cases of Vagrant.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
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.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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.
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.
4. ~WHOAMI
• Jose Diaz-Gonzalez
• Resident IRC Troll (savant)
• Rants at http://josediazgonzalez.com
➘
• Harasses as @savant
me
• Codes as josegonzalez on github
• EMPLOYED at @seatgeek
not me
➘
I’m also hot like sriracha sauce
5. WHO IS THIS TALK FOR?
• Devs/Sysadmins not afraid of Ruby
• Developers who don’t have time to waste with sysops
• Sysadmins who are looking to automate more of their
workflow
Also anyone who couldn’t get into Mark’s talk
6. WHY AM I SPEAKING ABOUT
THIS?
• I’m no Sysadmin; Sysadmining on half of the projects I’m on
• Devs do servers wrong; Perhaps I do too
• PHPNut Parole Policy (PPP)
My Crime: The Patriot Ale House
7. WHAT THE HELL IS THIS
• Being lazy
• Deploying a SERVAR
• CHARGING LAYSHURS
• What about the app?
¡¡¡SHOOP DA WOOP!!!
9. # Every policy must have a bundlesequence • Geared towards automated
body common control deployments of workstations, not
{ servers
bundlesequence => { "test" };
inputs => { "cfengine_stdlib.cf" }; • Convergence implies we may never
} be within compliance
bundle agent test
{ • Community maintained packages?
files:
# This is a throw‐away comment, below is a full‐bodied promise
"/tmp/testfile" # promiser
comment => "This is for keeps...", # Live comment
create => "true", # Constraint 1
perms => m("612"); # Constraint 2, rw‐‐‐x‐
w‐
}
I love it when an automation tool makes a promise
14. WHY CHEF?
• Uses a Ruby DSL; Doesn’t • All
the cool rails developers
re-invent the wheel are using it
• Officially-sanctioned • Awesome logo
Cookbooks
• Screams when things are
• Community-supported broken
Cookbooks
• Extensive Documentation
And the obvious Chef/CakePHP pun
15. HOW IS DEPLOYMENT FORMED?
• Each server can have one or more cookbooks
• Cookbooks are like plugins (nginx, apache, memcache) that
can depend upon/require one another
• Cookbooks have recipes, libraries, templates, definitions, files
• Recipes are sets of instructions
I vote we rename “plugins” to “recipes”
16. WHAT’S IN A RESOURCE CALL?
resource special node var name of resource
➘
➘
➘
git "#{node[:server][:production][:dir]}/#{hostname}/#{base}/public" do
repository info[:repository]
user "deploy"
group "deploy"
end ➘
options
http://wiki.opscode.com/display/chef/Resources
17. ROLL YOUR OWN
RESOURCES?
Yo dawg, I hurd u liek yo yos so I gave yo dawg
a yo yo so yo dawg can yo yo while yo dawg yo
yos yo dawg yo
18. Resources on the Cheap
# Definition
define :nginx_up, :enable => true do
template params[:name] do
source "html.erb"
owner "deploy" ➘
Just chain resources
group "deploy"
mode 0644
variables(params[:variables])
end
nginx_site params[:hostname] do
action :enable
Fire at will
end
➘
end
# Usage
nginx_up "#{node[:nginx][:dir]}/sites‐available/#{hostname}.#{base}" do
hostname "#{info[:hostname]}.#{info[:base]}"
variables(info[:variables])
end
“Fake” resources, for more info see http://wiki.opscode.com/display/chef/Providers
23. SERVER DNA
• An instance is defined as a JSON DNA file
• dna.json reference both recipes and configurations
• Modifying DNA should reconfigure server
• DNA can be versioned with the app
You too can be a Geneticist
24. BACK TO CAKE?
• Defineone set of • Automateserver
cookbooks, use everywhere deployment:
• Share, collaborate, grow • server new 127.0.0.1 lb.json
optimized server cookbooks
• CakePHP http://bit.ly/cakechef
• Define servers in terms of
DNA files: lb.json, db.json,
web.json, etc.
Contributions welcome, documentation being fleshed out
30. ANT
I’ll cut you
So I put some RDFA in your XML so you can SPARQL while you parse
31. 23 DEPLOYMENT TOOLS
LATER
It’s like deployment tools are project management software, sheesh
32. CAPISTRANO
• MOAR Ruby • Easy
to extend and
manipulate
• Similar
in concept to Chef -
has deployment strategies • Docs
are a bit hazy at the
moment
• Separates related tasks into
namespaces (deploy, • Geared towards SCM users
migration, etc.)
http://capistranorb.com
33. INSTALL
• Install Ruby/RubyGems
• gem install capistrano
• cd path/to/local/app/repository
• capify .
the other 8 steps of the process involve alcohol
34. CAPIFY?
• “capify .” creates a Capfile and a config/deploy.rb file
• deploy.rbis by convention; we can move the contents to the
Capfile if it bothers you
• Capfile is necessary and proper; loads capistrano plugins
35. deploy.rb
milliondollarapp.com
➘ <3 Perforce
➘
set :application, "set your application name here"
set :repository, "set your repository location here"
set :scm, :subversion
# Or: `accurev`, `bzr`, `cvs`, `darcs`, `git`, `mercurial`, `perforce`, `subversion` or `none`
role :web, “your web‐server here” # Your HTTP server, Apache/etc
role :app, “your app‐server here” # This may be the same as your `Web` server
role :db, “your primary db‐server here”, :primary => true # This is where Rails migrations will run
role :db, “your slave db‐server here”
➘
➘
CakePHP is cool too
Cause we’re all on failover servers, right?
36. CUSTOMIZABLE
• Set your own SCM, deploy paths, even callbacks
• Define custom namespaces and tasks
• Override core functionality
40. CAVEATS
• Path to Cake Core may be incorrect - use -app flag
• Takes some initial setup
• Behaves funky with multiple concurrent deploys
• Potentially slow with large deploys
• Will
murder your datacenter if deploying to hundreds of
servers
41. CLAP
Props to Michael D’Auria, Sysadmin extraordinaire