The document discusses integrating CloudStack with Puppet for automated provisioning and configuration of virtual machines. It explains that CloudStack provides an API for provisioning VMs, while Puppet can configure the VMs into functional applications. Together they allow fully automated application stacks. It then provides an overview of Puppet's architecture, including facts, modules, resources, catalogs, and classification. It proposes using Puppet resources and facts to model and provision VMs through CloudStack based on their roles.
The state of hooking into Drupal - DrupalCon DublinNida Ismail Shah
油
https://events.drupal.org/dublin2016/sessions/state-hooking-drupal
Major portion of drupal development has been油about hooks. We have all used them. But there have been talks about replacing the procedural hook system in Drupal with its Object oriented version - Events. We are already on the track and we, as of now, are required to use Events for many things in Drupal 8.油
This session will mainly elustrate:
How hooks work in Drupal.油
How we are on the track of moving from hooks to Events in Drupal 8
Where we are? What all do we need Events油for and油where we are still stuck with hooks.
When to alter and when to fire an event.
How to create and dispatch an Event from your module.
How to listen or subscribe to an Event from your custom Event or an event from core.
How to expose custom hooks in Drupal 8.
Attendees should be familiar with:
Basic Drupal 8 module development.
Basic OOP principles and practices.
Symfony components used in D8.
油 油After attending this session attendees will be able to:
Create their custom events in Drupal 8
Subscribe to the events from core and other modules and to their custom events too.
Will have a knowledge of where to explore the events and where we have to still use hooks.
This document provides an overview of ZooKeeper, describing it as a centralized service for maintaining configuration information, providing naming services, and enabling distributed synchronization and group services for distributed applications. It then discusses what ZooKeeper can do, how it is structured like a hierarchical file system, how it works using the Zab consensus algorithm, how to deploy it either on a single server or quorum cluster, how to interact with it using command line tools or APIs, and some key features like notifications, ordering, and high availability.
- Juju is a tool for modeling relationships between distributed application services and deploying and managing those interconnected services on multiple cloud platforms or bare metal servers.
- It uses "charms" which are reusable components that encapsulate knowledge about how to deploy and configure a service and its relationships to other services.
- Juju handles provisioning infrastructure, deploying services via charms, managing relationships between services, and enabling automated scaling of services. This allows developers to focus on building and delivering applications rather than infrastructure.
We now know that we have an Event system in place in Drupal 8 which has been imported from Symfony, the Symfony Event Dispatcher Component. The Event system will likely replace the traditional hook system altogether in coming drupal versions. This talk will try to throw some light on how to 油create, trigger, subscribe and listen to events in drupal 8.
This session will mainly elustrate:
What are Events. Why do we need to trigger events?
What all do we need Events油for and油where we are still stuck with hooks.油
Events in Drupal 8
Symfony Event Dispatcher component
When to fire an event.
When to expose your hook in Drupal 8? Never.
How to create and dispatch an Event from your module.
How to listen or subscribe to an Event from your custom Event or an event from core.
How are event listeners and event subscribers different.
Different types of Event dispatchers.
Examples where events have been exhaustively used.
A simple demo implementation of events.
Attendees should be familiar with:
Basic Drupal 8 module development.
Basic OOP principles and practices.
Symfony components used in D8.
油After attending this session attendees will be able to:
Create their custom events in Drupal 8
Subscribe to the events from core and other modules and to their custom events too.
Will have a knowledge of where to explore the events and where we have to still use hooks.
This document provides an overview of Puppet concepts including modules, classes, resources, nodes, catalogs, and roles. It explains that Puppet is configuration management software that uses declarative language and resources to define and enforce the desired state of systems. Puppet Masters compile catalogs that Puppet Agents use to configure and maintain nodes according to assigned classes and dependencies between resources. Modules help organize and reuse configuration code.
This document discusses continuous deployment and how Disqus implements it. It involves committing code changes to a master branch which then triggers an automated integration and deployment process. Failed builds are reported, while successful builds automatically deploy the changes. Rollbacks can also be performed if needed. The document outlines Disqus' development, testing, deployment, and reporting workflows and tools like Gargoyle, Sentry, Jenkins, Fabric and Graphite. It discusses challenges around stability, testing coverage, scaling and database changes.
This document outlines a presentation about the Features module in Drupal. It discusses what Features are, how they allow separating site configuration from content, and how Features 2.0 improved the user interface. Features allow encapsulating reusable functionality into modules and deploying configuration between environments. The presentation demonstrates creating and exporting Features, handling conflicts, and using the Features Override module to capture site-specific changes separately from the original Features.
The document provides an agenda for a PowerCLI session that will cover topics like getting started with PowerCLI, common errors and pitfalls, advanced functionality, and the PowerCLI community. It includes code snippets and examples for working with PowerCLI to retrieve and report on VMware vSphere infrastructure information using PowerShell. The session aims to help attendees become more proficient PowerCLI users.
This document provides an overview of using Hibernate, an open source Java object-relational mapping tool. It discusses typical problems with JDBC code, how Hibernate addresses these issues, and provides sample code for mapping Java objects to database tables and performing queries and transactions with Hibernate. The document also outlines steps for a basic Hibernate tutorial, including database design, mapping classes, configuration, and data access objects.
The document discusses building a video sharing application using Cassandra. It outlines conceptualizing the application, identifying entity and query tables, and coding and deploying the application. Key tables discussed include Users, Videos, Comments, and Ratings, along with sample CQL and code to store and retrieve data from these tables.
The document describes Eucalyptus, an open-source software for building private and hybrid clouds. It discusses Eucalyptus architecture including the Cloud Controller (CLC), Cluster Controller (CC), Node Controller (NC), and Walrus storage controller. It provides details on Infrastructure as a Service (IaaS) and compares features between the open source and enterprise editions of Eucalyptus. Commonly used Eucalyptus commands are also listed.
The document discusses Square's experience using JRuby for Rails development and deployment. It explores various options for deploying JRuby Rails apps, like Warbler, Trinidad, Kirk, Mizuno and Jetpack. It finds that Jetpack works best as it presents the Ruby app to Jetty as a Java web app. The document also covers optimizations for JRuby performance, writing cross-compatible Ruby code, and testing apps on multiple versions of Ruby. It concludes that the cost of cross-ruby compatibility is low and that JRuby is worth using unless there is a good reason not to.
This was my entities and fields presentation from Drupalcamp Colorado 2020.
http://drupalcampcolorado.org/sessions/drupal-7-entities-and-fields-transitioning-d7
This document provides an overview of Argus, an integration testing framework for Cloudbase-Init. It describes the key components of Argus including scenarios, recipes, tests, and introspection. It also explains how to configure Argus using an ini-style configuration file and run tests with Argus. The goal of Argus is to provide a more robust testing solution than a basic CI framework by enabling scenario-based, unittest-like testing of Cloudbase-Init across different clouds and configurations.
A quick intro to DevCloud the CloudStack sandbox, and how to use CloudMonkey to manage your cloud.
DevCloud is a virtualbox image that contains the CloudStack source code and that is setup to run the storage infrastructure needed by CloudStack plus the networking setup to build the guest network of the VMs. Tiny Linux instances can be started within the Devcloud VM making use of nested virtualization.
This is a perfect setup to discover cloudstack, give demos and test new codes. It is used to test new releases and verify basic functionality. You can run DevCloud on your laptop and then use the command line interface CloudMonkey to make API calls to your DevCloud instance.
This is the perfect complement to the talk on CloudMonkey and shows the basic functionality of a cloud. Instance creation, snapshots, networking, network offering and AWS EC2 compatibility.
OpenStack is an open source cloud computing platform that provides infrastructure as a service. It supports both public and private clouds. The main OpenStack projects are Nova for compute services, Swift for object storage, and Glance for image services. Nova uses technologies like KVM, Xen, and VMware for virtualization and provides an API compatible with Amazon EC2. Swift is a highly scalable object storage system using a ring architecture to distribute data across commodity servers.
1) Running Hadoop on VMs provides advantages like easier cluster management, ability to consolidate clusters on spare resources, and more elastic scaling of clusters.
2) Separating Hadoop compute and data nodes into different VMs allows truly elastic scaling of clusters.
3) Hortonworks is working with VMware to provide first class support for running Hadoop on VMs, including high availability features and optimizations for performance.
OpenStack Boston User Group, OpenStack overviewOpen Stack
油
This document introduces OpenStack, an open source cloud operating system. It discusses how OpenStack automates and controls pools of compute, storage, and networking resources to efficiently allocate resources and empower users and developers through self-service portals and APIs. OpenStack originated from NASA and Rackspace and is now powering both private and public clouds with an ecosystem of over 100 contributors. The document encourages participation in the OpenStack community through conferences, mailing lists, and social media.
Virtual Machines are a mainstay in the enterprise. Apache Hadoop is normally run on bare machines. This talk walks through the convergence and the use of virtual machines for running ApacheHadoop. We describe the results from various tests and benchmarks which show that the overhead of using VMs is small. This is a small price to pay for the advantages offered by virtualization. The second half of talk compares multi-tenancy with VMs versus multi-tenancy of with Hadoop`s Capacity scheduler. We follow on with a comparison of resource management in V-Sphere and the finer grained resource management and scheduling in NextGen MapReduce. NextGen MapReduce supports a general notion of a container (such as a process, jvm, virtual machine etc) in which tasks are run;. We compare the role of such first class VM support in Hadoop.
Objective-C uses reference counting to manage memory, where each object has a reference count that is incremented when retained and decremented when released. Objects are deallocated automatically when their reference count reaches 0. Autorelease pools are used to delay the release of autoreleased objects until the end of the current scope. Memory management conventions and properties help ensure objects are properly retained and released to avoid leaks or crashes.
The document discusses memory management in Objective-C for iPhone applications. It covers key concepts like reference counting, object ownership, autorelease pools, and common mistakes to avoid. The document also provides examples of proper memory management techniques like retaining objects, releasing objects, and using autorelease to avoid memory leaks.
"Cloudians new solution, Cloudian 2.4, maximizes data protection, availability and security, which are critical for enterprises looking to deploy their own private cloud or move their data to the public cloud. For multi-datacenter deployments, Cloudian now provides Dynamic Consistency Levels, offering unprecedented data protection and ensuring continuous, uninterrupted operations in the case of network or site failures. "
See more detail at Cloudian Press Release.
http://www.cloudian.com/news/press-releases/press-release-25.html
This document discusses Cloudstack networking and its pluggable network module approach. It describes how various SDN plugins can replace Cloudstack's default networking behavior, including plugins for Open vSwitch, Nicira NVP, BigSwitch VNS, and Midokura midonet. It provides details on how Open vSwitch is used as both a built-in switch and L2 tunneling module in Cloudstack. Finally, it outlines how networking plugins can provide services for connectivity, load balancing, firewalling, and more to enhance Cloudstack's networking capabilities.
Presentation on OSGi Cloud Ecosystems (RFC 183) as given at EclipseCon Boston 2013. The RFC itself is available at http://www.osgi.org/Download/File?url=/download/osgi-early-draft-2013-03.pdf
My talk from BACD http://buildacloud.org workshop in Ghent, Belgium
All videos can be viewed at: http://www.youtube.com/playlist?list=PLb899uhkHRoZZefRW5XmCb8QBcRO7o74E
This is an introductory talk for the workshop, it introduces CloudStack and the community at the Apache Software Foundation, it presents the basic layers of the Cloud IaaS, PaaS, and SaaS and shows how the CloudStack ecosystem addresses all layers. It presents the basic features of cloudstack, networking with a focus on SDN (Software Defined Networking) , storage with a focus on large scale object store (Ceph), a use case with Spotify, a PaaS with Karafe and fuse Fabric, the API using deltacloud which provides the CIMI standard interface and an application integration using the CloudStack API with Activeeon.
This is the perfect complement to the videos on youtube and serves as a introduction to CloudStack.
The slides explain Memory management in objective C with reference to Cocoa and IOS. Difference between ARC and manual memory management is explained. Go through the presentation to understand how memory management is done in objective C.
This document provides an overview of Android application development using the Android SDK. It discusses using Eclipse as an IDE along with the Android Development Tools plugin. It covers creating a basic "MyWebBrowser" app with a layout, code to load a web page, and running the app on an emulator. It also discusses the Android architecture and permissions required for apps to access the internet.
Robert J. Henslee will be presenting on social media today at a conference hosted on the website http://www.DirectorofSearch.com on September 24, 2011. The presentation will discuss current trends and strategies for using social media. It will take place this Saturday at an unspecified time on the listed website.
This document provides an overview of using Hibernate, an open source Java object-relational mapping tool. It discusses typical problems with JDBC code, how Hibernate addresses these issues, and provides sample code for mapping Java objects to database tables and performing queries and transactions with Hibernate. The document also outlines steps for a basic Hibernate tutorial, including database design, mapping classes, configuration, and data access objects.
The document discusses building a video sharing application using Cassandra. It outlines conceptualizing the application, identifying entity and query tables, and coding and deploying the application. Key tables discussed include Users, Videos, Comments, and Ratings, along with sample CQL and code to store and retrieve data from these tables.
The document describes Eucalyptus, an open-source software for building private and hybrid clouds. It discusses Eucalyptus architecture including the Cloud Controller (CLC), Cluster Controller (CC), Node Controller (NC), and Walrus storage controller. It provides details on Infrastructure as a Service (IaaS) and compares features between the open source and enterprise editions of Eucalyptus. Commonly used Eucalyptus commands are also listed.
The document discusses Square's experience using JRuby for Rails development and deployment. It explores various options for deploying JRuby Rails apps, like Warbler, Trinidad, Kirk, Mizuno and Jetpack. It finds that Jetpack works best as it presents the Ruby app to Jetty as a Java web app. The document also covers optimizations for JRuby performance, writing cross-compatible Ruby code, and testing apps on multiple versions of Ruby. It concludes that the cost of cross-ruby compatibility is low and that JRuby is worth using unless there is a good reason not to.
This was my entities and fields presentation from Drupalcamp Colorado 2020.
http://drupalcampcolorado.org/sessions/drupal-7-entities-and-fields-transitioning-d7
This document provides an overview of Argus, an integration testing framework for Cloudbase-Init. It describes the key components of Argus including scenarios, recipes, tests, and introspection. It also explains how to configure Argus using an ini-style configuration file and run tests with Argus. The goal of Argus is to provide a more robust testing solution than a basic CI framework by enabling scenario-based, unittest-like testing of Cloudbase-Init across different clouds and configurations.
A quick intro to DevCloud the CloudStack sandbox, and how to use CloudMonkey to manage your cloud.
DevCloud is a virtualbox image that contains the CloudStack source code and that is setup to run the storage infrastructure needed by CloudStack plus the networking setup to build the guest network of the VMs. Tiny Linux instances can be started within the Devcloud VM making use of nested virtualization.
This is a perfect setup to discover cloudstack, give demos and test new codes. It is used to test new releases and verify basic functionality. You can run DevCloud on your laptop and then use the command line interface CloudMonkey to make API calls to your DevCloud instance.
This is the perfect complement to the talk on CloudMonkey and shows the basic functionality of a cloud. Instance creation, snapshots, networking, network offering and AWS EC2 compatibility.
OpenStack is an open source cloud computing platform that provides infrastructure as a service. It supports both public and private clouds. The main OpenStack projects are Nova for compute services, Swift for object storage, and Glance for image services. Nova uses technologies like KVM, Xen, and VMware for virtualization and provides an API compatible with Amazon EC2. Swift is a highly scalable object storage system using a ring architecture to distribute data across commodity servers.
1) Running Hadoop on VMs provides advantages like easier cluster management, ability to consolidate clusters on spare resources, and more elastic scaling of clusters.
2) Separating Hadoop compute and data nodes into different VMs allows truly elastic scaling of clusters.
3) Hortonworks is working with VMware to provide first class support for running Hadoop on VMs, including high availability features and optimizations for performance.
OpenStack Boston User Group, OpenStack overviewOpen Stack
油
This document introduces OpenStack, an open source cloud operating system. It discusses how OpenStack automates and controls pools of compute, storage, and networking resources to efficiently allocate resources and empower users and developers through self-service portals and APIs. OpenStack originated from NASA and Rackspace and is now powering both private and public clouds with an ecosystem of over 100 contributors. The document encourages participation in the OpenStack community through conferences, mailing lists, and social media.
Virtual Machines are a mainstay in the enterprise. Apache Hadoop is normally run on bare machines. This talk walks through the convergence and the use of virtual machines for running ApacheHadoop. We describe the results from various tests and benchmarks which show that the overhead of using VMs is small. This is a small price to pay for the advantages offered by virtualization. The second half of talk compares multi-tenancy with VMs versus multi-tenancy of with Hadoop`s Capacity scheduler. We follow on with a comparison of resource management in V-Sphere and the finer grained resource management and scheduling in NextGen MapReduce. NextGen MapReduce supports a general notion of a container (such as a process, jvm, virtual machine etc) in which tasks are run;. We compare the role of such first class VM support in Hadoop.
Objective-C uses reference counting to manage memory, where each object has a reference count that is incremented when retained and decremented when released. Objects are deallocated automatically when their reference count reaches 0. Autorelease pools are used to delay the release of autoreleased objects until the end of the current scope. Memory management conventions and properties help ensure objects are properly retained and released to avoid leaks or crashes.
The document discusses memory management in Objective-C for iPhone applications. It covers key concepts like reference counting, object ownership, autorelease pools, and common mistakes to avoid. The document also provides examples of proper memory management techniques like retaining objects, releasing objects, and using autorelease to avoid memory leaks.
"Cloudians new solution, Cloudian 2.4, maximizes data protection, availability and security, which are critical for enterprises looking to deploy their own private cloud or move their data to the public cloud. For multi-datacenter deployments, Cloudian now provides Dynamic Consistency Levels, offering unprecedented data protection and ensuring continuous, uninterrupted operations in the case of network or site failures. "
See more detail at Cloudian Press Release.
http://www.cloudian.com/news/press-releases/press-release-25.html
This document discusses Cloudstack networking and its pluggable network module approach. It describes how various SDN plugins can replace Cloudstack's default networking behavior, including plugins for Open vSwitch, Nicira NVP, BigSwitch VNS, and Midokura midonet. It provides details on how Open vSwitch is used as both a built-in switch and L2 tunneling module in Cloudstack. Finally, it outlines how networking plugins can provide services for connectivity, load balancing, firewalling, and more to enhance Cloudstack's networking capabilities.
Presentation on OSGi Cloud Ecosystems (RFC 183) as given at EclipseCon Boston 2013. The RFC itself is available at http://www.osgi.org/Download/File?url=/download/osgi-early-draft-2013-03.pdf
My talk from BACD http://buildacloud.org workshop in Ghent, Belgium
All videos can be viewed at: http://www.youtube.com/playlist?list=PLb899uhkHRoZZefRW5XmCb8QBcRO7o74E
This is an introductory talk for the workshop, it introduces CloudStack and the community at the Apache Software Foundation, it presents the basic layers of the Cloud IaaS, PaaS, and SaaS and shows how the CloudStack ecosystem addresses all layers. It presents the basic features of cloudstack, networking with a focus on SDN (Software Defined Networking) , storage with a focus on large scale object store (Ceph), a use case with Spotify, a PaaS with Karafe and fuse Fabric, the API using deltacloud which provides the CIMI standard interface and an application integration using the CloudStack API with Activeeon.
This is the perfect complement to the videos on youtube and serves as a introduction to CloudStack.
The slides explain Memory management in objective C with reference to Cocoa and IOS. Difference between ARC and manual memory management is explained. Go through the presentation to understand how memory management is done in objective C.
This document provides an overview of Android application development using the Android SDK. It discusses using Eclipse as an IDE along with the Android Development Tools plugin. It covers creating a basic "MyWebBrowser" app with a layout, code to load a web page, and running the app on an emulator. It also discusses the Android architecture and permissions required for apps to access the internet.
Robert J. Henslee will be presenting on social media today at a conference hosted on the website http://www.DirectorofSearch.com on September 24, 2011. The presentation will discuss current trends and strategies for using social media. It will take place this Saturday at an unspecified time on the listed website.
The document discusses the evolution of social media from early message boards and chat rooms to the modern landscape. It notes that social media allows businesses to embrace customers through platforms like Twitter, where Comcast generated $6.5 million in sales, and Starbucks received over 50,000 new product ideas. However, the document cautions that businesses need a strategy and goals for social media rather than approaching it casually, and should work with professionals to properly manage their social media presence.
The document discusses web accessibility. It describes the four principles of accessibility - content must be perceivable, operable, understandable, and robust. It provides guidelines on how to make images, forms, multimedia etc. accessible. Some key points covered include use of alt attributes for images, text alternatives for non-text content, providing captions and transcripts for multimedia. Frames and scripts should be accessible or avoided if not. Overall focus is on ways to make web content usable by all people with disabilities like visual, auditory, physical, cognitive and neurological.
Titanium Studio allows developers to create cross-platform mobile apps that run natively on iOS and Android using common JavaScript skills. It uses the Titanium APIs and a bridge to access native device capabilities while allowing apps to use HTML5/CSS3 for user interfaces on mobile or desktop. Many large companies have created apps using Titanium Studio, which simplifies app development by avoiding the need to learn multiple programming languages. The documentation provides instructions on setting up Titanium Studio, creating new projects, and building a simple "Hello World" app.
This document discusses the benefits of open source communities and conferences. It notes that open source communities are built on passion for sharing knowledge and helping others. Conferences are important opportunities for learning from experts, networking, and advancing one's skills. Contributing to open source projects has personal and career benefits like learning skills, solving problems, and demonstrating one's abilities to potential employers. The overall message is that investing in open source through conferences and contributions strengthens both individual skills and communities.
Automatic Configuration of Your Cloud with PuppetPuppet
油
"Automatic Configuration of Your Cloud with Puppet" by Dan Bode, Integration Specialist at Puppetlabs. Talk from Build A Cloud Day, in conjunction with SCALE 11x.
The shift to cloud-based services has dramatically altered the IT landscape as we know it. Enterprise infrastructure borders have expanded beyond the firewall and now include hosted applications and infrastructure hosted in public and private clouds. Puppet helps DevOps teams meet their common objectives, creating a seamless IT infrastructure across departments, reducing cost and increasing productivity.This training section will cover deploying cloud infrastructure automatically using Puppet, an open source configuration management and automation tool.The session will cover the following topics:
Configuring Puppet and Puppetmaster
Resource Types and the Resource Abstration Layer
Virtual Resources, Exported Resources and Stored Configs
Best practices for Automated Deployment
The document discusses integrating Puppet with the cloud. It describes how Puppet's client/server architecture can be used to model and configure virtual machine instances provisioned in the cloud. Key aspects covered include using Puppet modules to define resources, classifying nodes based on metadata or facts, and having the Puppet master determine a node's role and apply the appropriate configuration.
The document discusses a presentation about unit testing TripCase with Jasmine. It covers an overview of unit testing and what parts of an application are best suited for unit testing. It then discusses the specific challenges of unit testing TripCase and analyzes which parts of TripCase are reflexive and algorithmic and therefore good candidates for unit testing. It also covers test-driven development and includes an example of identifying unit test assertions for a hotel search story.
Docker Online Meetup #3: Docker in ProductionDocker, Inc.
油
J辿r担me Petazzoni discussed using Docker in production environments. He covered installing Docker on development machines and servers, building Docker images with Dockerfiles, distributing images through Docker Hub or private registries, using links or ambassador containers for service discovery, and orchestrating containers with tools like Kubernetes, Mesos, or configuration management systems. He also addressed logging, backups, and remote access of containers for sysadmin tasks.
Shipping Applications to Production in Containers with DockerJ辿r担me Petazzoni
油
This document provides an overview and introduction to using Docker in production environments. It discusses how Docker can help with "solved" problems like installing, building, and distributing applications. It also covers important areas for production Docker usage, such as service discovery, orchestration, performance, configuration management, and sysadmin tasks. The document outlines various approaches in each area and notes that there are often multiple valid solutions to consider.
Through the magic of virtualization technology (Vagrant) and Puppet, a companion Enterprise grade provisioning technology, we explore how to make the complex configuration game a walk in the park. Bring new team members up to speed in minutes, eliminate variances in configurations, and make integration issues a thing of the past.
Welcome to the new age of team development!
This document discusses Puppet, an open source tool for server configuration management and automation. It describes how Puppet uses manifests and modules to define server configurations and bring servers into a desired state. It emphasizes the importance of testing Puppet code through tools like rspec-puppet, puppet-lint, vagrant and serverspec. These tools allow for validating configurations, simulating changes, and testing servers after configuration.
Rapid Home Provisioning is a new feature in Oracle Grid Infrastructure 12c R2 that provides a simplified way to provision and patch Oracle software and databases. It uses a centralized management server and golden images stored on ACFS to deploy pre-packaged and patched Oracle homes to client nodes. Administrators can easily create working copies of golden images, deploy databases from the working copies, and seamlessly patch databases by moving them to a working copy based on a newer patched golden image with a single command.
This document discusses using Puppet to manage infrastructure as code with Apache CloudStack. It describes how Puppet types and providers were developed to allow defining CloudStack instances and entire application stacks in Puppet manifests. This enables automated deployment and configuration of infrastructure along with software configuration. Examples are given of using Puppet to define CloudStack instances, groups of instances that make up an application stack, and setting defaults for attributes. Resources mentioned include the CloudStack and Puppet GitHub pages.
"Puppet and Apache CloudStack" by David Nalley, Citrix, at Puppet Camp San Francisco 2013. Find a Puppet Camp near you: puppetlabs.com/community/puppet-camp/
Infrastructure as code with Puppet and Apache CloudStackke4qqq
油
Puppet can now be used to define not only the configuration of machines, but also the machines themselves and entire collections of machines when using CloudStack. New Puppet types and providers allow defining CloudStack instances, groups of instances, and entire application stacks that can then be deployed on CloudStack. This brings infrastructure as code to a new level by allowing Puppet to define and manage the entire CloudStack infrastructure.
Janos Matyas discusses SequenceIQ's technology for provisioning Hadoop clusters. They use Docker containers and Apache Ambari for easy cluster setup across cloud providers. Key components are building Docker images, using Ansible to provision cloud templates, and running Serf and dnsmasq for service discovery and dynamic cluster membership changes. Their Cloudbreak product provides an API for on-demand Hadoop provisioning on various clouds.
Why Scala Is Taking Over the Big Data WorldDean Wampler
油
The document discusses how Scala is becoming increasingly popular for big data applications. It provides context about the evolution of Hadoop and MapReduce as the main computing framework for big data in 2008. It notes that implementing algorithms with just MapReduce steps was difficult, and that the Hadoop API was low-level and tedious to work with. Scala is taking over as it allows for more complex algorithms to be implemented more easily compared to the MapReduce model and Hadoop's API.
Manage cloud infrastructures in PHP using Zend Framework 2 (and 1)Enrico Zimuel
油
Cloud computing, particularly cloud infrastructure, has recently become more streamlined and efficient by exposing management and deployment capabilities through easy to use APIs. To consume these APIs in a consistent, simple and vendor agnostic manner, the ZF team has created a new component: Zend\Cloud\Infrastructure. During this talk, the presenter will demonstrate this new components capabilities consuming various cloud vendor services such as Amazon's EC2, Rackspace and GoGrid.
This document discusses using Puppet and infrastructure as code to manage Apache CloudStack infrastructure. It introduces the cloudstack_resources Puppet module which allows defining CloudStack instances and entire application stacks in Puppet manifests. This enables treating infrastructure like code where Puppet can deploy and configure entire environments on CloudStack. Examples are given of classifying servers and deploying a Hadoop cluster with a single Puppet resource definition. Links are provided to resources for using Puppet with CloudStack and videos that further explain the concepts.
Writing & Sharing Great Modules - Puppet Camp BostonPuppet
油
This document provides best practices and guidance for writing and sharing Puppet modules. It discusses separating logic from data, using semantic versioning (SemVer), creating modules as interfaces, reusing existing modules from the Puppet Forge, and establishing a community to collaborate on modules. The key recommendations are to separate configuration data from logic, use SemVer to avoid breaking changes, make modules opinionated but allow overrides, leverage existing modules, and engage the community to improve modules.
The document discusses continuous deployment and practices at Disqus for releasing code frequently. It emphasizes shipping code as soon as it is ready after it has been reviewed, passes automated tests, and some level of QA. It also discusses keeping development simple, integrating code changes through automated testing, using metrics for reporting, and doing progressive rollouts of new features to subsets of users.
CloudStack, jclouds, Jenkins and CloudCatAndrew Bayer
油
This document discusses jclouds, an open source multi-cloud library, and how it can be used with CloudStack. It describes how jclouds supports the standard and lower-level CloudStack APIs, and provides examples of using jclouds with CloudStack for provisioning Jenkins build slaves and building an application called CloudCat that allows provisioning and reporting within CloudStack.
Summary of the lessons we learned with Docker (Dockerfile, storage, distributed networking) during the first iteration of the AdamCloud project (Fall 2014).
The AdamCloud project (part I) was presented here:
http://www.slideshare.net/davidonlaptop/bdm29-adamcloud-planification
Automating CloudStack with Puppet - David NalleyPuppet
油
This document discusses using Puppet to automate the deployment and configuration of virtual machines (VMs) in an Apache CloudStack infrastructure. It describes how Puppet can be used to deploy and configure CloudStack VMs according to their roles by parsing userdata passed to the VMs at launch. Custom Puppet facts can extract role information from the userdata to classify nodes and apply the appropriate configuration. The CloudStack and Puppet APIs can be combined to fully automate the provisioning and configuration of VMs from a clean state using Puppet manifests and resources.
The document discusses setting up an OpenStack environment using Vagrant and Puppet. It describes downloading dependencies like VirtualBox and Ubuntu boxes. It then explains configuring Vagrant to define and boot two VMs and using Puppet and modules to install and configure OpenStack on the VMs to deploy an OpenStack controller and compute node.
Puppet runs can be deconstructed into data at each step:
1) Facter gathers facts about the agent node.
2) The ENC defines the node's configuration.
3) The catalog compiler generates a catalog based on facts and ENC definitions.
4) The agent applies the catalog and generates a report.
All of this data, including facts, catalogs, reports, can be accessed and manipulated programmatically for use cases like pre-compiling catalogs, inspecting state changes, or analyzing failures. Interacting with Puppet's internal data structures provides power and flexibility beyond traditional Puppet runs.
The document discusses Puppet, an orchestration framework that ensures consistency across systems by describing and enforcing their desired state. It describes how Puppet uses resources and properties to define configuration states and then converges current states to match desired states. This makes Puppet idempotent and able to handle changes without unintended side effects. The document also explores how Puppet's model and DSL could be used to manage infrastructure resources like networks, firewalls, and virtual machines on cloud platforms in a declarative way.
This document discusses using Puppet to deploy OpenStack. Puppet is a configuration management tool that can be used to automate and standardize the deployment of OpenStack. The Puppet modules for OpenStack provide classes and definitions that can be used to configure different OpenStack components like Nova, Glance, Keystone, etc. in a repeatable way. Puppet enforces the desired state by comparing the current and desired configuration and making necessary changes. This allows OpenStack to be deployed reliably using best practices defined in the Puppet modules.
This document summarizes Dan Bode's talk about deconstructing Puppet to data by examining how Puppet interacts with and stores facts, nodes, catalogs, and reports. It discusses using Puppet's indirected architecture to interact with facts, nodes, catalogs and reports through the command line or IRB. Examples are given of using Puppet data for debugging configurations, testing with RSpec Puppet, and analyzing reports. The document advocates hacking Puppet's data for use cases like pre-compiling catalogs, applying configurations without an agent, and inspecting state changes in reports.
This document discusses using Puppet resources to describe and manage Google Compute Engine (GCE) infrastructure as code. Resources can represent GCE objects like disks, networks, firewalls, and instances. Common application stacks can then be built by composing these resources, such as defining a network and firewall and launching an instance that uses them. Instances can also consume modules and classes from the Puppet Forge to deploy full applications. This allows infrastructure to be treated declaratively and avoids copy-paste configuration.
Puppet is a declarative configuration management tool that defines and enforces the desired state of systems. It describes system configuration through resources and uses providers to detect the current state and make any necessary changes to match the declared state. Common resource types include packages, files, services, and users. Puppet modules bundle related configuration code and can be composed to declaratively configure complex systems like OpenStack.
1. Integrating
CloudStack
with Puppet
Saturday, December 1, 12
2. About me:
Dan Bode
Integration Specialist at PuppetLabs
@bodepd
bodepd <on> freenode
Saturday, December 1, 12
3. Who is this talk for?
current CloudStack Users
Puppet beginners
Saturday, December 1, 12
4. It will cover
why integrate?
explanation of Puppets architecture as it applies to
integration
using Puppet to model VM instances
Saturday, December 1, 12
6. Why integrate?
CloudStack provides an API for provisioning virtual
machines
deployVirtualMachine
Self Service API
VM1
Saturday, December 1, 12
7. Why integrate?
Puppet converts freshly provisioned VMs into
functional applications
Self Service APi
Make me an
VM1 apache server
Here are the
instructions for
becoming an
Puppet
apache server
Master
Saturday, December 1, 12
8. Why integrate?
Combined, they create fully automated application
stacks.
deploy me a DB,
then 2 apache servers
Self Service APi
DB1 Apache1 Apache2
Saturday, December 1, 12
10. 2 run modes
puppet apply - all content is stored on the individual
nodes. commonly used for testing (or for scale)
client/server - content is served from a central
master (this is what we will be talking about)
Saturday, December 1, 12
11. A Puppet client/server run
Classifier Modules
Master
Facts Catalog
VM1
Saturday, December 1, 12
12. Facter returns system specific
information
Classifier Modules
Master
Facts Catalog
Agent
Saturday, December 1, 12
13. Facter
to see a systems facts, run
$ facter
architecture => x86_64
domain => local
facterversion => 2.0.0
fqdn => DansLapTop.local
hardwareisa => i386
hardwaremodel => x86_64
id => danbode
Saturday, December 1, 12
14. Facter
Nodes submit their facts as a part of the request
for catalog.
Available as top scope variables from manifests
ie : $::fact_name
Creating custom facts is easy.
Saturday, December 1, 12
15. A Puppet client/server run
Modules
Classifier
Master
Facts Catalog
VM1
Saturday, December 1, 12
16. Modules
Sharable content composed of classes and defined
resource types (configuration interfaces).
Saturday, December 1, 12
17. Module Forge
http://forge.puppetlabs.com/
http://forge.puppetlabs.com/puppetlabs/apache
Saturday, December 1, 12
19. Resources
Describe the con鍖guration state of individual system
elements.
user { dan:
ensure => present,
shell => /bin/bash,
}
Saturday, December 1, 12
20. Resources
Describe the con鍖guration state of individual system
elements.
user { dan: # a user named dan
ensure => present, # should exist
shell => /bin/bash, # with this shell
}
Saturday, December 1, 12
21. Resources
package { apache2: # a package named apache2
ensure => present, # should be installed
}
Saturday, December 1, 12
23. Puppet DSL and Resources
The Puppet DSL can be used to compose collections of
resources into classes or de鍖ned resources.
Saturday, December 1, 12
24. Example apache class
class apache {
package { apache2:
ensure => present,
}
鍖le { /etc/apache2/apache2.conf:
content => template(apache2/apache2.erb),
require => Package[apache2],
}
service { apache2:
ensure => running
subscribe => File[/etc/apache2/apache2.conf]
}
}
Saturday, December 1, 12
25. A Puppet client/server run
Classifier
Modules
Master
Facts Catalog
VM1
Saturday, December 1, 12
26. Classification
Process that determines how Puppet maps a role
to a specific instance.
Saturday, December 1, 12
27. Site manifest
Master
/etc/puppet/manifest/site.pp
The master utilizes code from its site manifest to 鍖gure
out how to assign a role to a node.
Saturday, December 1, 12
28. Site manifest
Node blocks map a hosts certname to content from a
module
node /^my_node/ {
include apache
}
Saturday, December 1, 12
29. Determine role based on facts
deploy me an apache server
Self Service APi
Apache1
Saturday, December 1, 12
30. Determine role based on facts
deployVirtualMachine -> userdata -> facts
node default {
if $::role == apache {
include apache
} else {
fail(Unde鍖ne role: ${role})
}
}
Saturday, December 1, 12
31. Decouple role assignment from
provisioning
After provisioning is completed, ssh into a machine,
set a custom fact (using facts.d), and trigger a
puppet run.
pros - you can easily execute a script to install and
bootstrap puppet
cons - extra step
Saturday, December 1, 12
32. facts.d
facts.d comes with stdlib
(http://forge.puppetlabs.com/puppetlabs/stdlib)
it converts any key=value pairs listed in /etc/
facts.d/*.txt into facts
Saturday, December 1, 12
33. ENC
ENC
Master
The master can call out to arbitrary executables to
鍖gure out how a node should be classi鍖ed.
Saturday, December 1, 12
34. ENC
You can set the group attribute with classi鍖cation
information when instances are created.
The ENC can then query the group attribute from the
VM instance that needs to be classi鍖ed.
Saturday, December 1, 12
35. A Puppet client/server run
Classifier Modules
Master
Facts
Catalog
VM1
Saturday, December 1, 12
36. Catalog
Collection of resources that describe how a node can
achieve a speci鍖ed con鍖guration.
Saturday, December 1, 12
37. Catalog
Resources
Catalog
Package
Package File
File
User User
Service
Dependencies Service
Saturday, December 1, 12
38. VM provisioning with Puppet
(experimental! use cases
appreciated)
Saturday, December 1, 12
39. Share Application Stacks as text
class my_app_stack {
cloudstack_instance { 'foo4':
ensure => present,
group => 'role=db',
}
cloudstack_instance { 'foo3':
ensure => present,
group => 'role=apache',
}
}
Saturday, December 1, 12
40. Use resource defaults for
common settings
Cloudstack_instance {
image => 'CentOS 5.6 key+pass',
flavor => 'Small Instance',
zone => 'ACS-FMT-001',
network => 'puppetlabs-network',
keypair => 'dans_keypair4',
}
cloudstack_instance { 'foo4':
ensure => $::ensure,
group => 'role=db',
}
cloudstack_instance { 'foo3':
ensure => $::ensure,
group => 'role=apache',
}
Saturday, December 1, 12