This document discusses deploying fully automated, highly available Django application stacks using Chef. Chef is an infrastructure automation tool that allows users to define infrastructure as code. It enables deploying and managing multi-tier Django application stacks across servers through recipes, which are collections of resources that define what software and configuration should exist on nodes. Chef recipes can be extended with Ruby code and configured dynamically based on node attributes and data from searches. Cookbooks package recipes for reuse across environments. Roles are used to describe nodes and assign recipes and attributes. Data bags store arbitrary configuration data.
Node object and roles - Fundamentals Webinar Series Part 3Chef
Part 3 of a 6 part series introducing you to the fundamentals of Chef.
This session includes:
* Node object
* Chef roles
After viewing this webinar you will be able to:
- Explain what the node object represents in Chef
- Show details about a node
- Describe what node attributes are
- Retrieve a node attribute
- Describe where and how attributes are set
- Explain the attribute merge order and precedence rules
- Declare an attribute with a recipe and set its value
- Explain what Roles are, and how they are used to provide -larity
- Discuss the Role JSON DSL
- Explain how merge order affects the precedence hierarchy
Video of this webinar can be found at the following URL
https://www.youtube.com/watch?v=nQogf89hgnM&list=PL11cZfNdwNyPnZA9D1MbVqldGuOWqbumZ
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
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2Chef
Part 2 of a 6 part series introducing you to the fundamentals of Chef.
This session includes:
* Node Setup
* Chef Resources and Recipes
After viewing this webinar you will be able to:
- Login to the node in your Chef Training Lab
- Install Chef nodes using "knife bootstrap"
- Explain how knife bootstrap configures a node to use the - Organization created in the previous section
- Explain the basic configuration needed to run chef-client
- Describe in detail what a cookbook is
- Create a new cookbook
- Explain what a recipe is
- Describe how to use the package, service, and template - resources
- Upload a cookbook to the Chef Server
- Explain what a run list is, and how to set it for a node - via knife
- Explain the output of a chef-client run
Video of this webinar can be found at the following URL
https://www.youtube.com/watch?v=S5lHUpzoCYo&list=PL11cZfNdwNyPnZA9D1MbVqldGuOWqbumZ
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.
Node object and roles - Fundamentals Webinar Series Part 3Chef
Part 3 of a 6 part series introducing you to the fundamentals of Chef.
This session includes:
* Node object
* Chef roles
After viewing this webinar you will be able to:
- Explain what the node object represents in Chef
- Show details about a node
- Describe what node attributes are
- Retrieve a node attribute
- Describe where and how attributes are set
- Explain the attribute merge order and precedence rules
- Declare an attribute with a recipe and set its value
- Explain what Roles are, and how they are used to provide -larity
- Discuss the Role JSON DSL
- Explain how merge order affects the precedence hierarchy
Video of this webinar can be found at the following URL
https://www.youtube.com/watch?v=nQogf89hgnM&list=PL11cZfNdwNyPnZA9D1MbVqldGuOWqbumZ
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
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2Chef
Part 2 of a 6 part series introducing you to the fundamentals of Chef.
This session includes:
* Node Setup
* Chef Resources and Recipes
After viewing this webinar you will be able to:
- Login to the node in your Chef Training Lab
- Install Chef nodes using "knife bootstrap"
- Explain how knife bootstrap configures a node to use the - Organization created in the previous section
- Explain the basic configuration needed to run chef-client
- Describe in detail what a cookbook is
- Create a new cookbook
- Explain what a recipe is
- Describe how to use the package, service, and template - resources
- Upload a cookbook to the Chef Server
- Explain what a run list is, and how to set it for a node - via knife
- Explain the output of a chef-client run
Video of this webinar can be found at the following URL
https://www.youtube.com/watch?v=S5lHUpzoCYo&list=PL11cZfNdwNyPnZA9D1MbVqldGuOWqbumZ
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.
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.
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6Chef
Part 6 of a 6 part series introducing you to the fundamentals of Chef.
This session includes an introducing Community Cookbooks and some additional resources.
After viewing this webinar you will be able to:
- Find, preview, and download cookbooks from the Chef Community site
- Use knife to work with the Community Site API
- Download, extract, examine and implement cookbooks from the Community site
Video of this webinar can be found at the following URL
https://www.youtube.com/watch?v=ovTIeS3kx4g&list=PL11cZfNdwNyPnZA9D1MbVqldGuOWqbumZ
Chef for OpenStack - OpenStack Fall 2012 SummitMatt Ray
Chef for OpenStack is a collaborative project for the deployment and management of OpenStack clouds. This is an overview of the status of the project at the OpenStack Fall 2012 Summit
Atmosphere 2014: Really large scale systems configuration - Phil DibowitzPROIDEA
For many years, Facebook managed its systems with cfengine2. With many individual clusters over 10k nodes in size, a slew of different constantly-changing system configurations, and small teams, this system was showing its age and the complexity was steadily increasing, limiting its effectiveness and usability. It was difficult to integrate with internal systems, testing was often impractical, and it provided no isolation of configurations, among many other problems. After an extensive evaluation of the tools and paradigms in modern systems configuration management – open source, proprietary, and a potential home-grown solution – we built a system based on the open-source project Chef. The evaluation process involved understanding the direction we wanted to take in managing the next many iterations of systems, clusters, and teams. More importantly, we evaluated the various paradigms behind effective configuration management and the different kinds of scale they provide. What we ended up with is an extremely flexible system that allows a tiny team to manage an incredibly large number of systems with a variety of unique configuration needs. In this talk we will look at the paradigms behind the system we built, the software we chose and why, and the system we built using that software. Further, we will look at how the philosophies we followed can apply to anyone wanting to scale their systems infrastructure.
Phil Dibowitz - Phil Dibowitz has been working in systems engineering for 12 years and is currently a production engineer at Facebook. Initially, he worked on the traffic infrastructure team, automating load balancer configuration management, as well as designing and building the production IPv6 infrastructure. He now leads the team responsible for rebuilding the configuration management system from the ground up. Prior to Facebook, he worked at Google, where he managed the large Gmail environment, and at Ticketmaster, where he co-authored and open sourced a configuration management tool called Spine. He also contributes to, and maintains, various open source projects and has spoken at conferences and LUG’s on a variety of topics from Path MTU Discovery to X509.
OSDC 2013 | Introduction into Chef by Andy HawkinsNETWAYS
This presentation will give an overview about what Chef is and how to access it. It will describe the typical use cases and architecture as well as Cookbooks, data bags and other concepts and will explain how to implement your CM solution. Finally it will show how to drive a successful Chef project.
Atlanta OpenStack 2014 Chef for OpenStack Deployment WorkshopMatt Ray
The session at the Atlanta 2014 OpenStack Summit is for those already familiar with Chef and interested in deploying and managing OpenStack. We cover the state of the deploying OpenStack with Chef and deploying infrastructure on top of OpenStack with Chef. The second half of the talk is a deep-dive walkthrough of the Vagrant deployment, the instructions are here: http://bit.ly/ATLChef
http://openstacksummitmay2014atlanta.sched.org/event/39587e0e47a20323c6389e136c954ecf
Debugging Hive with Hadoop-in-the-Cloud by David Chaiken of AltiscaleData Con LA
Anyone who has used Hadoop knows that jobs sometimes get stuck. Hadoop is powerful, and it’s experiencing a tremendous rate of innovation, but it also has many rough edges. As Hadoop practitioners we all spend a lot of effort dealing with these rough edges in order to keep Hadoop and Hadoop jobs running well for our customers and/or organizations. For this session, we will look at a typical problem encountered by a Hadoop user, and discuss its implications for the future of Hadoop development. We will also go through the solution to this kind of problem using step-by-step instructions and the specific code we used to identify the issue. As a community, we need to work together to improve this kind of experience for our industry. Now that Hadoop 2 has been shipped, we believe the Hadoop community will be able to focus its energies on rounding off rough edges like these, and this session should provide advanced users with some tools and strategies to identify issues with jobs and how to keep these running smoothly.
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.
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6Chef
Part 6 of a 6 part series introducing you to the fundamentals of Chef.
This session includes an introducing Community Cookbooks and some additional resources.
After viewing this webinar you will be able to:
- Find, preview, and download cookbooks from the Chef Community site
- Use knife to work with the Community Site API
- Download, extract, examine and implement cookbooks from the Community site
Video of this webinar can be found at the following URL
https://www.youtube.com/watch?v=ovTIeS3kx4g&list=PL11cZfNdwNyPnZA9D1MbVqldGuOWqbumZ
Chef for OpenStack - OpenStack Fall 2012 SummitMatt Ray
Chef for OpenStack is a collaborative project for the deployment and management of OpenStack clouds. This is an overview of the status of the project at the OpenStack Fall 2012 Summit
Atmosphere 2014: Really large scale systems configuration - Phil DibowitzPROIDEA
For many years, Facebook managed its systems with cfengine2. With many individual clusters over 10k nodes in size, a slew of different constantly-changing system configurations, and small teams, this system was showing its age and the complexity was steadily increasing, limiting its effectiveness and usability. It was difficult to integrate with internal systems, testing was often impractical, and it provided no isolation of configurations, among many other problems. After an extensive evaluation of the tools and paradigms in modern systems configuration management – open source, proprietary, and a potential home-grown solution – we built a system based on the open-source project Chef. The evaluation process involved understanding the direction we wanted to take in managing the next many iterations of systems, clusters, and teams. More importantly, we evaluated the various paradigms behind effective configuration management and the different kinds of scale they provide. What we ended up with is an extremely flexible system that allows a tiny team to manage an incredibly large number of systems with a variety of unique configuration needs. In this talk we will look at the paradigms behind the system we built, the software we chose and why, and the system we built using that software. Further, we will look at how the philosophies we followed can apply to anyone wanting to scale their systems infrastructure.
Phil Dibowitz - Phil Dibowitz has been working in systems engineering for 12 years and is currently a production engineer at Facebook. Initially, he worked on the traffic infrastructure team, automating load balancer configuration management, as well as designing and building the production IPv6 infrastructure. He now leads the team responsible for rebuilding the configuration management system from the ground up. Prior to Facebook, he worked at Google, where he managed the large Gmail environment, and at Ticketmaster, where he co-authored and open sourced a configuration management tool called Spine. He also contributes to, and maintains, various open source projects and has spoken at conferences and LUG’s on a variety of topics from Path MTU Discovery to X509.
OSDC 2013 | Introduction into Chef by Andy HawkinsNETWAYS
This presentation will give an overview about what Chef is and how to access it. It will describe the typical use cases and architecture as well as Cookbooks, data bags and other concepts and will explain how to implement your CM solution. Finally it will show how to drive a successful Chef project.
Atlanta OpenStack 2014 Chef for OpenStack Deployment WorkshopMatt Ray
The session at the Atlanta 2014 OpenStack Summit is for those already familiar with Chef and interested in deploying and managing OpenStack. We cover the state of the deploying OpenStack with Chef and deploying infrastructure on top of OpenStack with Chef. The second half of the talk is a deep-dive walkthrough of the Vagrant deployment, the instructions are here: http://bit.ly/ATLChef
http://openstacksummitmay2014atlanta.sched.org/event/39587e0e47a20323c6389e136c954ecf
Debugging Hive with Hadoop-in-the-Cloud by David Chaiken of AltiscaleData Con LA
Anyone who has used Hadoop knows that jobs sometimes get stuck. Hadoop is powerful, and it’s experiencing a tremendous rate of innovation, but it also has many rough edges. As Hadoop practitioners we all spend a lot of effort dealing with these rough edges in order to keep Hadoop and Hadoop jobs running well for our customers and/or organizations. For this session, we will look at a typical problem encountered by a Hadoop user, and discuss its implications for the future of Hadoop development. We will also go through the solution to this kind of problem using step-by-step instructions and the specific code we used to identify the issue. As a community, we need to work together to improve this kind of experience for our industry. Now that Hadoop 2 has been shipped, we believe the Hadoop community will be able to focus its energies on rounding off rough edges like these, and this session should provide advanced users with some tools and strategies to identify issues with jobs and how to keep these running smoothly.
Introduction to Infrastructure as Code & Automation / Introduction to ChefAll Things Open
All Things Open 2014 - Day 2
Thursday, October 23rd, 2014
Nathen Harvey
Co-Host of Food Fight Show & Director of Community and #LEARNCHEF / Chef
DevOps
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresFrançois Le Droff
ConnectCon 2014 presentation
Francois and Nicolas share their latest experiment coding AEM 6 infrastructure with Chef. Learn how to start from bare metal - virtual, physical or cloud - servers and turn them, in matter of minutes, into a production ready AEM 6 infrastructure. Think author and publish farms, optional SSL, dispatcher, and clustering with MongoDB) Meanwhile you’ll be given a comprehensive overview of Chef resources and techniques enabling you to accelerate, scale, simplify and secure your development and release workflow.
Introduction to Chef - Techsuperwomen SummitJennifer Davis
Interested in speeding up time to production when developing an application? Want to understand how to minimize risk associated with changes? Come learn about infrastructure automation with Chef. In this beginner level workshop, I will teach you the core set of skills needed to implement Chef in your environment whether for work or personal projects. I will cover the basic architecture of Chef and the associated tools that will help you improve your application workflow from design to production.
Overview of Chef - Fundamentals Webinar Series Part 1Chef
This is an Overview of Chef. After viewing this webinar you will be able to:
- Describe how Chef thinks about Infrastructure Automation
- Define the following terms:
- Resource
- Recipe
- Node
- Run List
- Search
- Login to Hosted Chef
- Run `knife` commands from your workstation
Video of this webinar can be found at the following URL
https://www.youtube.com/watch?v=S5lHUpzoCYo&list=PL11cZfNdwNyPnZA9D1MbVqldGuOWqbumZ
TXLF: Chef- Software Defined Infrastructure Today & TomorrowMatt Ray
The open source configuration management and automation framework Chef is used to configure, deploy and manage infrastructure of every sort. In addition to managing Linux, Windows and many other operating systems; Chef may be used to manage network hardware and storage systems. This session will provide an overview of the concepts and capabilities of Chef and discuss upcoming projects and how they fit into the Chef ecosystem.
Introduction to Infrastructure as Code & Automation / Introduction to ChefNathen Harvey
Your customers expect you to continuously deliver delightful experiences. This means that you’ll need to continuously deliver application and infrastructure updates. Hand-crafted servers lovingly built and maintained by a system administrator are a thing of the past. Golden images are fine for initial provisioning but will quickly fail as your configuration requirements change over time.
It’s time for you to fully automate the provisioning and management of your infrastructure components. Welcome to the world of infrastructure as code! In this new world, you’ll be able to programmatically provision and configure the components of your infrastructure.
Disposable infrastructure whose provisioning, configuration, and on-going maintenance is fully automated allow you to change the way you build and deliver applications. Move your applications and infrastructure towards continuous delivery.
In this talk, we’ll explore the ideas behind “infrastructure as code” and, specifically, look at how Chef allows you to fully automate your infrastructure. If you’re brave enough, we’ll even let you get your hands on some Chef and experience the delight of using Chef to build and deploy some infrastructure components.
Slides from 08-27-2013 Opscode webinar on using Chef to automate your Microsoft Windows-based infrastructure, including a live demo of Windows automation and a review of the latest and greatest resources available for running Chef with Windows-based infrastructure.
Jamie Winsor and a team of engineers created Berkshelf to help take the sting out of Chef’s learning curve. After encountering numerous challenges while developing Chef cookbooks, Jamie was inspired to create a tool based on criteria that’d be important for a developer’s productivity. Berkshelf, like Rebar, Go, or Mix, is a source code management tool.
Are you the only one working on your Chef configuration? I was. Then within six weeks my client quadrupled the staff working with Chef. Okay, they just hired three people but that was still disruptive.
We had to learn how to work together in the same repo. While I knew all the 'best practices' around testing and deploying cookbooks it wasn't as critical when I was the only one committing changes. Suddenly I needed a better plan.
Implementing the community practices would only get me so far. I needed to help this team of diverse skill levels manage their work AND their Chef repository. I needed to highlight to my customer when we were processing interrupts at the expense of scheduled work. I needed to make sure the work was small enough that no one disappeared down a rabbit hole for days on end, but still met the needs of the rest of the organization.
I needed Kanban.
In this talk I will walk through my experiences, painful and glorious, building a team and managing their work. I will cover the good, the bad, and the ugly of a deadline crunched, pre-launch operations team and what we did to bring sanity, from discovering the real flow of work to documenting interruptions, and how we used (and misused) Chef throughout.
SDN, Network Virtualization and the Software Defined Data Center – Brad HedlundChef Software, Inc.
IT organizations around the world are transforming data center operations and economics by virtualizing their networks. Much like server virtualization decoupled VMs from the underlying X86 server hardware transforming the operational model of compute, network virtualization decouples software-based virtual networks from the underlying network hardware to enable a new operational model for networking. Deployed non-disruptively on any existing network without change, network virtualization transforms the physical network into a pool of capacity that can be consumed and repurposed on demand.
You will learn how, today, companies like AT&T, NTT, eBay and Rackspace have transformed their operational model and reduced network provisioning time from days/weeks to seconds. You will learn how network virtualization, OpenStack cloud management and Chef automation can be leveraged together and examine the architectural decisions you should be considering now to prepare for this transformation
Using Chef and AppFirst to Automate Scale-out/Scale-down of Web Applications ...Chef Software, Inc.
We will demonstrate how using Chef and AppFirst you can automate scaling out and down a multi-tiered web application. As Chef builds out the multi-tier stack, it will dynamically add the AppFirst collectors to the servers it’s executing on. Once this is running we will drive load to our web application which triggers an AppFirst alert as utilization thresholds are met. Based upon receiving the alert Chef automatically deploys another web server with an AppFirst collector and adds it to the load balancer. Using AppFirst’s UI we’ll see that our web application is now handling the load without any problems.
The InstallShield of the 21st Century – Theo SchlossnagleChef Software, Inc.
Today's systems are complex and the most successful products are SaaS. When you need to ship a SaaS architecture to someone (private SaaS) there are a lot of moving parts to install and maintain. I'll talk about what we do at Circonus to provide our complex software stack on large clusters on-premise using Chef as the orchestration framework.
At Rackspace, sysadmins have taken responsiblilty for what was a "developers problem" only a few years ago. What started as a way to solve an image build problem turned into a socially collaborative DevOps community. Come see what Chef started.
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.
Push jobs: an orchestration building block for private ChefChef Software, Inc.
Push jobs is a new feature in Opscode Private Chef that will allow a user to run commands across hundreds of chef managed servers. Push Jobs leverages Erlang/OTP and ZeroMQ to provide scalable and fault tolerant execution.
In this talk I’ll cover the general motivation behind the design and an architectural overview of the system. This will include details of we used Erlang and ZeroMQ to build a robust, scalable system. I’ll also do a demo of the push job feature in action, covering the push jobs server, execution client and knife command line interface.
With Vagrant 1.1, you can use the same configuration and workflow to spin up and provision machines in VirtualBox, VMware, AWS, RackSpace, and more. You get all the benefits of Vagrant with the power of working in whatever environment you need to.
In this talk, you’ll learn how to use the new multi-provider features of Vagrant to more effectively develop and test Chef cookbooks.
The Industrial Revolution changed the world and continues its inexorable march forward. The next wave of this revolution is now impacting IT. Reminiscent of past industrial movements, we are witnessing upheavals in how the work is done. Automation, supply-chain models, and standardization are rendering the old model of IT obsolete. Learn why this new revolution will change your life and how you can thrive in this new world. Hint: Your presence at #ChefConf is an indicator that you are part of the future, not the past!
Who Says Elephants Can’t Cook? How IBM and Opscode are changing the role of c...Chef Software, Inc.
Join Moe Abdula, VP of IBM’s SmartCloud Foundation, in a discussion with Mitch Hill, OpsCode CEO, to find out how the Open Cloud is empowering the Enterprise, from Business to IT. See how IBM is delivering the capabilities required for the cloud of tomorrow, by leveraging Chef and its community based content, allowing users to define and build their infrastructure with code. This talk is not to be missed if you want to drive optimization and innovation through your current and next generation cloud-based infrastructures!
Growing Pains with Chef – a Tale of DevOps in a Large OrganizationChef Software, Inc.
The triumphs, heartbreaks, and growing pains of embracing DevOps and deploying Chef in a large heterogenous organization while working to keep the lights on.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
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.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
3. Who am I?
• Seth Chisamore
Senior Technical Consultant/Evangelist
Opscode, Inc.
4. Who am I?
• Seth Chisamore
Senior Technical Consultant/Evangelist
Opscode, Inc.
• Project lead for many Opscode sponsored
open source projects:
• Opscode Cookbooks
• Knife cloud provisioning plugins (ec2,
rackspace & openstack)
• Knife Windows plugin (knife-windows)
5. Who are you?
http://www.flickr.com/photos/timyates/2854357446/sizes/l/
6. Who are you?
• System administrators?
http://www.flickr.com/photos/timyates/2854357446/sizes/l/
7. Who are you?
• System administrators?
• Developers?
http://www.flickr.com/photos/timyates/2854357446/sizes/l/
8. Who are you?
• System administrators?
• Developers?
• “Business” People?
http://www.flickr.com/photos/timyates/2854357446/sizes/l/
9. What are we talking
about?
http://www.flickr.com/photos/peterkaminski/2174679908/
11. Agenda
• How’s and Why’s
http://www.flickr.com/photos/koalazymonkey/3590953001/
12. Agenda
• How’s and Why’s
• Chef 101
http://www.flickr.com/photos/koalazymonkey/3590953001/
13. Agenda
• How’s and Why’s
• Chef 101
• Deploying n-tier Django app stacks
with Chef
http://www.flickr.com/photos/koalazymonkey/3590953001/
14. Agenda
• How’s and Why’s
• Chef 101
• Deploying n-tier Django app stacks
with Chef
• Leveraging the same Chef code to
deploy different configurations of
our stack
http://www.flickr.com/photos/koalazymonkey/3590953001/
49. The Chef Community
• Apache License, Version 2.0
• 360+ Individual contributors
• 70+ Corporate contributors
50. The Chef Community
• Apache License, Version 2.0
• 360+ Individual contributors
• 70+ Corporate contributors
• Dell, Rackspace,VMware, RightScale,
Heroku, and more
51. The Chef Community
• Apache License, Version 2.0
• 360+ Individual contributors
• 70+ Corporate contributors
• Dell, Rackspace,VMware, RightScale,
Heroku, and more
• 240+ cookbooks
52. The Chef Community
• Apache License, Version 2.0
• 360+ Individual contributors
• 70+ Corporate contributors
• Dell, Rackspace,VMware, RightScale,
Heroku, and more
• 240+ cookbooks
• http://community.opscode.com
59. Chef Enables Infrastructure as Code
package "haproxy" do
action :install
end
• Resources template "/etc/haproxy/haproxy.cfg" do
source "haproxy.cfg.erb"
• Recipes owner "root"
group "root"
• Cookbooks mode 0644
•
notifies :restart, "service[haproxy]"
Roles end
• Data Bags service "haproxy" do
• Source Code supports :restart => true
action [:enable, :start]
end
61. Chef Resources
package "haproxy" do
action :install
end
template "/etc/haproxy/haproxy.cfg" do
source "haproxy.cfg.erb"
owner "root"
group "root"
mode 0644
notifies :restart, "service[haproxy]"
end
service "haproxy" do
supports :restart => true
action [:enable, :start]
end
62. Chef Resources
package "haproxy" do
action :install
end
• Have a type. template "/etc/haproxy/haproxy.cfg" do
source "haproxy.cfg.erb"
owner "root"
group "root"
mode 0644
notifies :restart, "service[haproxy]"
end
service "haproxy" do
supports :restart => true
action [:enable, :start]
end
63. Chef Resources
package "haproxy" do
action :install
end
• Have a type. template "/etc/haproxy/haproxy.cfg" do
•
source "haproxy.cfg.erb"
Have a name. owner "root"
group "root"
mode 0644
notifies :restart, "service[haproxy]"
end
service "haproxy" do
supports :restart => true
action [:enable, :start]
end
64. Chef Resources
package "haproxy" do
action :install
end
• Have a type. template "/etc/haproxy/haproxy.cfg" do
•
source "haproxy.cfg.erb"
Have a name. owner "root"
• Have parameters. group "root"
mode 0644
notifies :restart, "service[haproxy]"
end
service "haproxy" do
supports :restart => true
action [:enable, :start]
end
65. Chef Resources
package "haproxy" do
action :install
end
• Have a type. template "/etc/haproxy/haproxy.cfg" do
•
source "haproxy.cfg.erb"
Have a name. owner "root"
• Have parameters. group "root"
mode 0644
• Take action to put the resource notifies :restart, "service[haproxy]"
end
in the declared state.
service "haproxy" do
supports :restart => true
action [:enable, :start]
end
66. Chef Resources
package "haproxy" do
action :install
end
• Have a type. template "/etc/haproxy/haproxy.cfg" do
•
source "haproxy.cfg.erb"
Have a name. owner "root"
• Have parameters. group "root"
mode 0644
• Take action to put the resource notifies :restart, "service[haproxy]"
end
in the declared state.
• Can send notifications to other service "haproxy" do
supports :restart => true
resources. action [:enable, :start]
end
68. Chef Providers
• Multiple providers per resource type.
• For example the `package` resource
has providers for: Apt, Yum, Rubygems,
Portage, Macports, FreeBSD Ports, etc.
• If you are developer think of it as an
interface and an implementation.
70. Chef Recipes
package "haproxy" do
action :install
end
template "/etc/haproxy/haproxy.cfg" do
source "haproxy.cfg.erb"
• Recipes are evaluated for owner "root"
resources in the order they group "root"
mode 0644
appear. notifies :restart, "service[haproxy]"
• Each resource object is added end
to the Resource Collection. service "haproxy" do
supports :restart => true
action [:enable, :start]
end
71. Chef Recipes
• Recipes can include other include_recipe
include_recipe
"apache2"
"apache2::mod_rewrite"
recipes. include_recipe "apache2::mod_deflate"
• Included recipes are
include_recipe
include_recipe
"apache2::mod_headers"
"apache2::mod_php5"
processed in order.
72. Chef Recipes
%w{ python python-dev }.each do |pkg|
package pkg do
action :install
end
end
pool_members = search("node", "role:django_cms")
template "/etc/haproxy/haproxy.cfg" do
source "haproxy.cfg.erb"
owner "root"
group "root"
mode 0644
variables :pool_members => pool_members
notifies :restart, "service[haproxy]"
end
73. Chef Recipes
%w{ python python-dev }.each do |pkg|
package pkg do
action :install
end
end
• Extend recipes with
pool_members = search("node", "role:django_cms")
Ruby.
template "/etc/haproxy/haproxy.cfg" do
source "haproxy.cfg.erb"
owner "root"
group "root"
mode 0644
variables :pool_members => pool_members
notifies :restart, "service[haproxy]"
end
74. Chef Recipes
%w{ python python-dev }.each do |pkg|
package pkg do
action :install
end
end
• Extend recipes with
pool_members = search("node", "role:django_cms")
Ruby.
• Dynamic configuration template "/etc/haproxy/haproxy.cfg" do
source "haproxy.cfg.erb"
through search. owner "root"
group "root"
mode 0644
variables :pool_members => pool_members
notifies :restart, "service[haproxy]"
end
90. Chef Enables Systems Integration
• Chef searches allow nodes to be aware of
each other and self configure
91. Chef Enables Systems Integration
• Chef searches allow nodes to be aware of
each other and self configure
• A shared application data bag allows:
92. Chef Enables Systems Integration
• Chef searches allow nodes to be aware of
each other and self configure
• A shared application data bag allows:
• many app servers to checkout the same
application code during initial
bootstrapping
93. Chef Enables Systems Integration
• Chef searches allow nodes to be aware of
each other and self configure
• A shared application data bag allows:
• many app servers to checkout the same
application code during initial
bootstrapping
• app server and database servers to
initialize off of the same database config
118. Same Code Different Configurations
• We can deploy the same app stack on:
• a single node or a fully redundant
cluster of nodes.
119. Same Code Different Configurations
• We can deploy the same app stack on:
• a single node or a fully redundant
cluster of nodes.
• physical hardware or any number of
public/private cloud providers.
120. Same Code Different Configurations
• We can deploy the same app stack on:
• a single node or a fully redundant
cluster of nodes.
• physical hardware or any number of
public/private cloud providers.
• a developer workstation fully virtualized
with Vagrant + VirtualBox
121. Staging/QA - Single Node
# launch stack in your data center
% knife bootstrap 123.123.3.3
-r ‘role[django_cms_database_master]’,
‘role[django_cms]’,
‘role[django_cms_load_balancer]’
# launch stack in EC2
% knife ec2 server create
-r ‘role[django_cms_database_master]’,
‘role[django_cms]’,
‘role[django_cms_load_balancer]’
# launch stack in Rackspace
% knife rackspace server create
-r ‘role[django_cms_database_master]’,
‘role[django_cms]’,
‘role[django_cms_load_balancer]’
122. Production - Multi-Machine Cluster
% knife ec2 server create
-r ‘role[django_cms_database_master]’
% knife ec2 server create
-r ‘role[django_cms]’
% knife ec2 server create
-r ‘role[django_cms]’
% knife ec2 server create
-r ‘role[django_cms_load_balancer]’
123. Developer Workstation
% cat Vagrantfile
Vagrant::Config.run do |config|
config.vm.box = base_box
config.vm.provision :chef_server do |chef|
chef.chef_server_url = "https://api.opscode.com/organizations/foo"
chef.validation_key_path = "~/.chef/private-pems/foo-validator.pem"
chef.validation_client_name = "#{ENV['ORGNAME']}-validator"
chef.provisioning_path = "/etc/chef"
chef.run_list = [
'role[django_cms_database_master]',
'role[django_cms]',
'role[django_cms_load_balancer]'
]
end
end
% vagrant up
125. Application Cookbook
• Supports the following web stacks:
• Django
• Java Webapps
• Php
• Rails
• Node.js (coming soon)
• Opscode contributed quick starts walk you
through example deployments
How’s and why’s of managing infrastructure with Chef.\nA quick overview of Chef\nWe’ll talk about the steps involved for automatically building our n-tier Django stack\nWe’ll discuss how your Chef code is reusable across environments\n\n
How’s and why’s of managing infrastructure with Chef.\nA quick overview of Chef\nWe’ll talk about the steps involved for automatically building our n-tier Django stack\nWe’ll discuss how your Chef code is reusable across environments\n\n
How’s and why’s of managing infrastructure with Chef.\nA quick overview of Chef\nWe’ll talk about the steps involved for automatically building our n-tier Django stack\nWe’ll discuss how your Chef code is reusable across environments\n\n
How’s and why’s of managing infrastructure with Chef.\nA quick overview of Chef\nWe’ll talk about the steps involved for automatically building our n-tier Django stack\nWe’ll discuss how your Chef code is reusable across environments\n\n
Why not just use some shell scripts?\n
\n
This is the dream. When everyone’s 2nd girlfriend ‘nagios’ wakes you up in the middle of the night you are ready for the worst.\n
Keep track of all the steps required to take bare metal systems to doing their job in the infrastructure.\n\nIt is all about the policy. This can be lo-fi (ie a wiki page and the ‘meat’ cloud) or fully automated with something like Chef.\n\nUsually this is the context of a single node.\n
Taking all the systems that have been configured to do their job, and make them work together to actually run the infrastructure.\n\nWRT Chef, we talk about Fully Automated Infrastructure.\n\nThis brings all the single nodes together.\n
Chef provides a framework for fully automating infrastructure, and has some important design principles.\n
Chef makes it easy to reason about your infrastructure, at scale. The declarative Ruby configuration language is easy to read, and the predictable ordering makes it easy to understand what’s going on.\n\nChef is flexible, and designed to allow you to build infrastructure. “Tim Toady”\n
Chef makes it easy to reason about your infrastructure, at scale. The declarative Ruby configuration language is easy to read, and the predictable ordering makes it easy to understand what’s going on.\n\nChef is flexible, and designed to allow you to build infrastructure. “Tim Toady”\n
Chef makes it easy to reason about your infrastructure, at scale. The declarative Ruby configuration language is easy to read, and the predictable ordering makes it easy to understand what’s going on.\n\nChef is flexible, and designed to allow you to build infrastructure. “Tim Toady”\n
Chef makes it easy to reason about your infrastructure, at scale. The declarative Ruby configuration language is easy to read, and the predictable ordering makes it easy to understand what’s going on.\n\nChef is flexible, and designed to allow you to build infrastructure. “Tim Toady”\n
Chef makes it easy to reason about your infrastructure, at scale. The declarative Ruby configuration language is easy to read, and the predictable ordering makes it easy to understand what’s going on.\n\nChef is flexible, and designed to allow you to build infrastructure. “Tim Toady”\n
Idempotent: Consistency, known system state, easy to build\nChef takes idempotent actions to put the system in the desired state.\n
Chef makes it easy to reason about your infrastructure.\n\nWe build an API, with primitives and libraries, and let you model your data. We don’t try to discover because we might make an incorrect assumption about the system.\n\nYou need an API to manage your infrastructure. The standard tools on Unix and Windows already use APIs to the system. Use an API to manage your infrastructure.\n
Chef comes from the perspective that the tool should do pretty much what you expect, hence sane defaults. To get there we had express some opinions. Those opinions can be changed easily, whether that is modifying the configuration of the chef-client, or how Apache is set up.\n
Chef is a flexible framework. You can make it do pretty much anything you want. Just like Perl doesn’t tell the programmer how to program, Chef doesn’t tell the system administrator how to manage the system. You can extend it, mold it and modify it to do what you need.\n\nBeing written in Ruby, using Ruby for the main language was very purposeful. The tool shouldn’t get in your way.\n
\n
-Chef is a library for building and managing infrastructure, and as such it happens to have some tools we wrote that help with that.\n-Ohai gathers data about your nodes.\n-Chef client runs on your nodes to configure them.\n-Knife is the CLI tool used to access the API.\n-Shef is an interactive console debugger.\n
-Chef is a library for building and managing infrastructure, and as such it happens to have some tools we wrote that help with that.\n-Ohai gathers data about your nodes.\n-Chef client runs on your nodes to configure them.\n-Knife is the CLI tool used to access the API.\n-Shef is an interactive console debugger.\n
-Chef is a library for building and managing infrastructure, and as such it happens to have some tools we wrote that help with that.\n-Ohai gathers data about your nodes.\n-Chef client runs on your nodes to configure them.\n-Knife is the CLI tool used to access the API.\n-Shef is an interactive console debugger.\n
-Chef is a library for building and managing infrastructure, and as such it happens to have some tools we wrote that help with that.\n-Ohai gathers data about your nodes.\n-Chef client runs on your nodes to configure them.\n-Knife is the CLI tool used to access the API.\n-Shef is an interactive console debugger.\n
\n
-thin server...fat clients => all execution happens down on the nodes...server is dumb REST/file server\n-easy to scale horizontally (like a stateless web app)\n
-thin server...fat clients => all execution happens down on the nodes...server is dumb REST/file server\n-easy to scale horizontally (like a stateless web app)\n
-thin server...fat clients => all execution happens down on the nodes...server is dumb REST/file server\n-easy to scale horizontally (like a stateless web app)\n
-thin server...fat clients => all execution happens down on the nodes...server is dumb REST/file server\n-easy to scale horizontally (like a stateless web app)\n
\n
Community is important.\n\nhttp://apache.org/licenses/LICENSE-2.0.html\nhttp://www.opscode.com/blog/2009/08/11/why-we-chose-the-apache-license/\nhttp://wiki.opscode.com/display/chef/How+to+Contribute\nhttp://wiki.opscode.com/display/chef/Approved+Contributors\n\n
Community is important.\n\nhttp://apache.org/licenses/LICENSE-2.0.html\nhttp://www.opscode.com/blog/2009/08/11/why-we-chose-the-apache-license/\nhttp://wiki.opscode.com/display/chef/How+to+Contribute\nhttp://wiki.opscode.com/display/chef/Approved+Contributors\n\n
Community is important.\n\nhttp://apache.org/licenses/LICENSE-2.0.html\nhttp://www.opscode.com/blog/2009/08/11/why-we-chose-the-apache-license/\nhttp://wiki.opscode.com/display/chef/How+to+Contribute\nhttp://wiki.opscode.com/display/chef/Approved+Contributors\n\n
Community is important.\n\nhttp://apache.org/licenses/LICENSE-2.0.html\nhttp://www.opscode.com/blog/2009/08/11/why-we-chose-the-apache-license/\nhttp://wiki.opscode.com/display/chef/How+to+Contribute\nhttp://wiki.opscode.com/display/chef/Approved+Contributors\n\n
Community is important.\n\nhttp://apache.org/licenses/LICENSE-2.0.html\nhttp://www.opscode.com/blog/2009/08/11/why-we-chose-the-apache-license/\nhttp://wiki.opscode.com/display/chef/How+to+Contribute\nhttp://wiki.opscode.com/display/chef/Approved+Contributors\n\n
Community is important.\n\nhttp://apache.org/licenses/LICENSE-2.0.html\nhttp://www.opscode.com/blog/2009/08/11/why-we-chose-the-apache-license/\nhttp://wiki.opscode.com/display/chef/How+to+Contribute\nhttp://wiki.opscode.com/display/chef/Approved+Contributors\n\n
\n
\n
Communication with the server is secure. Clients hold the private key, the server has the public key. The server is not a centralized store of authentication information, pushing the responsibility to the nodes.\n
\n
\n
\n
Manage system configuration as resources.\nPut resources together in recipes.\nDistribute recipes with cookbooks.\nAssign recipes to systems through roles.\nStore arbitrary data in data bags.\nTrack it all like source code.\n
Resources are an abstraction we feed data into. When you write recipes in Chef, you create resources of things you want to configure.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
Resources declare a description of the state a part of the node should be in.\n
The abstraction over the commands or API calls that will configure the resource to be in the state you have defined.\n
Providers know how to actually configure the resources to be in the declared state\n\n
\n
\n
Just like recipes themselves are processed in order, the recipes included are processed in order, so when you include a recipe, all its resources are added to the resource collection, then Chef continues to the next.\n\n\n
\n
\n
\n
\n
\n
\n
\n
-the cpan, PyPI or rubygems.org of the cookbbook world!\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Data bags are containers of grouped information.\n\nUsers, application information, network info, cabinet/rack locations. Describe components of your infrastructure with data, and use that data to configure systems.\n\nProcess data bags in recipes to configure systems dynamically.\n
\n
\n
In our example we are deploy Django CMS but this would apply to any Django application.\n
Provisioning is the first step. We need some computers on the internet. They’re going to be load balancers, webservers, database servers. Launch those with a cloud API. Every cloud does this.\n
You need to do something and you manage the configuration. Install packages, create users, etc. You can use pre-built images for this, but then just for a simple infrastructure (w/o monitoring/trending, middleware, etc) you have four discrete images to maintain for updates both for the OS and app updates.\n
This is the last mile. The systems are configured, but also need to be configured to talk to each other.\n
\n
\n
\n
\n
Every database backed application needs a master database. For this simple example we haven’t done any complex setup of master/slave replication, but the recipes are built such that this would be relatively easy to add.\n
The database master recipe will read the application information from the data bag and use it to create the database so the application can store its data.\n
all done fully automated\n
all done fully automated\n
all done fully automated\n
We start with one but scale horizontally as needed. We can even scale up and down based on demands.\n
The main thing in this role is the application recipe. \n\nThe recipe will read in data from the data bag (in a predefined format) to determine what kind of application to deploy, the repository where it lives, details on where to put it, what roles to search for to find the database, and many more customizable properties.\n\nWe launched two of these to have something to load balance :).\n
-acquire the code (remote file or scm)...create required config files (database.yml, local_settings.py etc.)\n-install the server software...create an application config for server\n
-acquire the code (remote file or scm)...create required config files (database.yml, local_settings.py etc.)\n-install the server software...create an application config for server\n
-acquire the code (remote file or scm)...create required config files (database.yml, local_settings.py etc.)\n-install the server software...create an application config for server\n
-acquire the code (remote file or scm)...create required config files (database.yml, local_settings.py etc.)\n-install the server software...create an application config for server\n
-acquire the code (remote file or scm)...create required config files (database.yml, local_settings.py etc.)\n-install the server software...create an application config for server\n
-acquire the code (remote file or scm)...create required config files (database.yml, local_settings.py etc.)\n-install the server software...create an application config for server\n
-acquire the code (remote file or scm)...create required config files (database.yml, local_settings.py etc.)\n-install the server software...create an application config for server\n
You no longer need to track which system has an IP that should be applied as the database master. We can just use its fqdn from a search.\n
\n
We’re using haproxy, and we’ll search for a specific application to load balance. The recipe is written to search for the django_cms role to find systems that should be pool members.\n
\n
-This search occurs everytime Chef runs on the load balancer.\n-If you add more app servers to the mix, the load balancer will *automatically* become aware!\n
A single set of Chef cookbooks, roles and databags allows you to deploy your application stack in numerous ways.\n