SlideShare a Scribd company logo
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Mandi Walls
Technical Community Manager
@lnxchk
mandi@chef.io
https://habitat.sh
#habitatsh
http://slack.habitat.sh/
Chef and Automation
• Infrastructure Automation
• Cloud early adopters
• Digital Transformation
• Compliance Automation with InSpec
• Application Automation with Habitat
How Do We Run Applications?
• On a computer
• With an OS
• And some libraries
• And some configuration
• And some way to start it and stop it

Recommended for you

Docker swarm
Docker swarmDocker swarm
Docker swarm

Docker Swarm is an orchestration tool that manages Docker applications running across a cluster of Docker nodes. It allows deploying containers to nodes within the cluster. There are two types of nodes: manager nodes that maintain the cluster and worker nodes that receive and run tasks from the manager. The manager knows the state of workers and workers accept tasks from the manager, reporting their status back. Services deploy containers to nodes using a description file.

Container Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher KubernetesContainer Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher Kubernetes

Deploy, manage and scale Kubernetes with Rancher - a session given in ContainerConf 2017 (7th April) in Bangalore

rancherdistributed computingnetworking
DCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application TransformationDCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application Transformation

Elton Stoneman - Developer Advocate, Docker Legacy applications weren't designed to run in a modern distributed platform like Docker. They have their own ideas about logging, configuration and health which don't translate to the world of containers and make transformation projects hard. This session shows you how to bring your old applications into the modern world, and integrate them with Docker - without changing code. We'll cover patterns for all the core application concerns: * logging * configuration * monitoring * health * dependency management The sample applications will be in .NET and Java, and will show you how to turn your existing applications into good Docker citizens.

dceudockercon
We’ve been moving complexity
around rather than reducing it
Complexity Multiplies as Infrastructure Ages
def default_apache_version
return '2.2' if node['platform_family'] == 'debian' && node['platform_version'] == '10.04'
return '2.2' if node['platform_family'] == 'debian' && node['platform_version'] == '12.04'
return '2.2' if node['platform_family'] == 'debian' && node['platform_version'] == '13.04'
return '2.2' if node['platform_family'] == 'debian' && node['platform_version'] == '13.10'
return '2.2' if node['platform_family'] == 'debian' && node['platform_version'].to_i == 6
return '2.2' if node['platform_family'] == 'debian' && node['platform_version'].to_i == 7
return '2.2' if node['platform_family'] == 'freebsd'
return '2.2' if node['platform_family'] == 'omnios'
return '2.2' if node['platform_family'] == 'rhel' && node['platform_version'].to_i == 5
return '2.2' if node['platform_family'] == 'rhel' && node['platform_version'].to_i == 6
return '2.2' if node['platform_family'] == 'suse'
return '2.4' if node['platform_family'] == 'debian' && node['platform_version'] == '14.04'
return '2.4' if node['platform_family'] == 'debian' && node['platform_version'] == '14.10'
...
end
Value and Work is Shifting
Application
centric
operations
Infrastructure
centric
operations
UNIT OF VALUE is app
UNIT OF WORK is deployment
UNIT OF VALUE is server
UNIT OF WORK is configuration
Cloud
Containers
Microservices
Artifact Inclusions
Libraries and
Runtimes
Operating System
Application
Application Libraries Application,
Runtimes, &
Libraries
OS
Container formats recreate the traditional
model of infrastructure and applications.
Poor at abstracting the Build + Run
aspects of Applications
Ties dependencies to OS versions
Habitat builds from the application down
Small lightweight OS included
Embedded Supervisor for Application
Management
Builds have strict dependency version control
Container Habitat
Hart

Recommended for you

DCEU 18: Docker Containers in a Serverless World
DCEU 18: Docker Containers in a Serverless WorldDCEU 18: Docker Containers in a Serverless World
DCEU 18: Docker Containers in a Serverless World

Jules Testard - Software Engineer, Docker Inc Since the advent of AWS Lambda in 2014, the Function as a Service (FaaS) programming paradigm has gained a lot of traction in the cloud community. Since then, interest has increased for developers and entreprises to build their own open source solutions on top of Kubernetes. A number of competing frameworks in this space have been developed. In this talk, we will look at three specific frameworks (OpenFaas, Nuclio and FN) and for each framework we will: Show how to create, deploy, and invoke a function using that framework Show how Docker images and containers are used by each framework under the hood Investigate how the frameworks leverage KNative to build, ship and run applications on Kubernetes

dockercondceu
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with SpinnakerSpinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker

Slides from the presentation "CI/CD Patterns for Kubernetes with Spinnaker" at Spinnaker Summit 2018, by Andrew Phillips and Lars Wander

cloudspinnakercontinuous delivery
Monitoring docker container and dockerized applications
Monitoring docker container and dockerized applicationsMonitoring docker container and dockerized applications
Monitoring docker container and dockerized applications

This document discusses monitoring Docker containers and applications. It outlines the challenges of monitoring at the container, application, and infrastructure levels. An approach is proposed that uses agents running on each host to collect data from drivers for the host, containers, and applications. The data is sent asynchronously to a central monitoring controller which aggregates, stores, analyzes and derives insights from the data. Predictions, usage patterns, and capacity planning information can be determined to help optimize container resources and performance.

openstackmonitoringapplications
So. Habitat.
• Ignore the underlying platform as much as possible
• Support microservices
• Manage container creep
• Make your workflow smoother
https://www.bonanza.com/listings/Premier-Food-Storage-Containers-20-Piece-Set-Grey/443972348
How Does Habitat Benefit Your Team
• Build once, run anywhere immutable artifacts
• Developers – Get the exact libraries needed,
regardless of OS version
• Test / QA – Easier maintenance of test
environments
• Operators – Run Linux habs on any distro
• Security – Query live services at runtime for
potential vulnerabilities
Other Features
• Defer configuration decisions to runtime
• Build in a "clean room" : no accidental
dependencies
• Service runtime and discovery
• Configuration exposed via API
• Signed packages for your organization
Cloud Native Applications with Habitat
Habitat
Supervisor
Habitat Builder
BUILD DEPLOY MANAGE
Habitat
Supervisor
PUBLIC
ORIGIN
PRIVATE
ORIGIN

Recommended for you

The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...

This document discusses the "mushroom cloud effect" that can occur when containers fail in highly dynamic container environments. It describes how a failure in one container due to a lack of disk space on the host led to cascading failures that affected many dependent services. The failure spread as container health checks failed and orchestration rescheduled containers, eventually exhausting disk space and preventing any new containers from running. Automated monitoring is needed to pinpoint the root cause of such cascading failures in complex systems with many interdependent containers and services.

causes of failuresdockere-commerce production environment
How HashiCorp platform tools can make the difference in development and deplo...
How HashiCorp platform tools can make the difference in development and deplo...How HashiCorp platform tools can make the difference in development and deplo...
How HashiCorp platform tools can make the difference in development and deplo...

This is slides from my talk on Kharkiv IT Weekend on May 27, 2017. Here is link to my blog where you can find more information about the approaches: https://devraccoon.com/2017/05/30/hashicorp-tools-on-it-weekend-kharkiv/

software developmentsoftware architecturedevelopment
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...A New Centralized Volume Storage Solution for Docker and Container Cloud by W...
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...

Elara is a Docker volume plugin that provides a distributed volume management tool and connection between containers and shared storage providers. It supports advanced volume operations like snapshots, backups, migration, IOPS, disk quotas and extending volumes. Elara uses a key-value storage as a database to store node status remotely. It focuses on shared storage and supports multiple backend drivers like NFS, Cinder and filesystem/block devices.

dockercentralized storagemicroservice architecture
Sample Application
• container_sched_backend – small rust application
• Runs on Linux in a cluster
• The code is plugged into the Habitat Builder service
for automatic builds
• Application has a configuration setting for "favorite
color"
Github Repository
Builder Package Registry
Leave it to Builder
• Build service
• And an artifact store
• Private repos
• Check code in to GitHub,
let Builder create your
artifact
• On-Prem version is depot
only right now
CLOUD/INFRA
BUILDSERVICE
APPLICATION RUNTIME
APPLICATIONSUPERVISION
APPLICATION & DATA SERVICES
SCHEDULING AND ORCHESTRATION
APPLICATION CODE
ARTIFACTSTORE

Recommended for you

Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...

Presented by: Brent Laster Presented at the All Things Open 2021 Raleigh, NC, USA Raleigh Convention Center Abstract: Containers are all the rage these days – from Docker to Kubernetes and everywhere in-between. But to get the most out of them it can be helpful to understand how containers are constructed, how they depend and interact with the operating system, and what the differences and interactions are between layers, images, and containers. Join R&D Director, Brent Laster as he does a quick, visual overview of how containers work and how applications such as Docker work with them. Topics to be discussed include: • What containers are and the benefits they provide • How containers are constructed • The differences between layers, images, and containers • What does immutability really mean • The core Linux functionalities that containers are based on • How containers reuse code • The differences between containers and VMs • What Docker really does • The Open Container Initiative • A good analogy for understanding all of this

all things openato2021open source
Deploying OpenStack Using Docker in Production
Deploying OpenStack Using Docker in ProductionDeploying OpenStack Using Docker in Production
Deploying OpenStack Using Docker in Production

Video of presentation can be found here: https://www.youtube.com/watch?v=3pc85InNR20 Time Warner Cable has been slowly deploying Dockerized OpenStack services in production since the Juno release. In this talk we'll share our real-world experiences with deploying OpenStack services in production with Docker

dockeropenstack
Webcast - Making kubernetes production ready
Webcast - Making kubernetes production readyWebcast - Making kubernetes production ready
Webcast - Making kubernetes production ready

Slides from our techical webcast where Harry Zhang and Abhinav Das discuss the problems the Applatix engineering team ran into in building large-scale production apps on Kubernetes and our resulting solutions, tips, and settings to resolve them. Full youtube video of webcast at https://www.youtube.com/watch?v=tbD6Rcm2sI8&spfreload=5

dockercontainerskubernetes
Container Integrations
Habitat Files Travel with the App Code
Have a Plan
pkg_name=container_sched_backend
pkg_origin=lnxchk pkg_version="0.1.0" pkg_build_deps=(core/rust)
pkg_deps=(core/glibc core/gcc core/gcc-libs)
pkg_bin_dirs=(bin)
bin="container_sched_backend"
pkg_exports=([out]=cfg.out)
do_build() {
cargo build
}
do_install() {
install -v -D "$PLAN_CONTEXT/../target/debug/$bin"  "$pkg_prefix/bin/$bin”
}
pkg_svc_run="$bin"
Metadata
Build
Install
Run
Build Output
• By default, it’s a hart – a compressed tarball with
some metadata and a signature
• You can export to other formats, like Docker
containers
• The hart itself it runnable

Recommended for you

Dell Trials and Triumphs using Docker on Client Systems by Sean McGinnis and ...
Dell Trials and Triumphs using Docker on Client Systems by Sean McGinnis and ...Dell Trials and Triumphs using Docker on Client Systems by Sean McGinnis and ...
Dell Trials and Triumphs using Docker on Client Systems by Sean McGinnis and ...

Join engineers from ClusterHQ and Dell Storage to learn about persistent storage integration with Docker. See how Flocker enables native support for enterprise storage infrastructure use in containers, enabling you to leverage Dell storage for new workloads.

clusterhqdockerdell
On Prem Container Cloud - Lessons Learned
On Prem Container Cloud - Lessons LearnedOn Prem Container Cloud - Lessons Learned
On Prem Container Cloud - Lessons Learned

This document discusses best practices for setting up a Docker and Kubernetes environment. It covers topics like Docker storage drivers, Docker networking, Kubernetes authentication and authorization, exposing services, integrating logging and monitoring. The key recommendations are to use OverlayFS or Devicemapper storage, Calico networking, Kubernetes security policies, namespaces and RBAC, and Ingress for exposing services. ETCD backup and fault tolerance is also important.

cloud computingcontainersdocker
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business

This document discusses how Docker can transform development and deployment processes for modern applications. It outlines some of the challenges of developing and deploying applications across different environments, and how Docker addresses these challenges through containerization. The document then provides examples of how to dockerize a Rails and Python application, set up an Nginx reverse proxy with Let's Encrypt, and configure a Docker cluster for continuous integration testing.

dockercontainerdayvietnamdockerhanoi
Run a Hart
• Set up a first host: leader/follower topology and
rolling updates
sudo hab sup run lnxchk/container_sched_backend --
topology leader --strategy rolling
• Connect additional nodes to the ring, giving them a
peer to attach to
sudo hab sup run lnxchk/container_sched_backend --
strategy rolling --peer 172.31.37.193
Updating Configuration at Runtime
• Update all or part of the configuration while the
apps are running
• Send the update to a member of the mesh and they
will all update
sudo hab config apply 
container_sched_backend.default 2 new.toml
Channels and Service Groups
• Builder can have multiple channels where harts are
published
Default is "unstable", can promote via CLI or web
A cluster can subscribe to any channel, will use "stable" by
default
• Service groups in the cluster have their name
appended to the artifact name
container_sched_backend.default
Querying the API
• Rest api on port 9631
• /services endpoint for information about the running
services
• Query it with some simple tools
https://github.com/lnxchk/hab_tools

Recommended for you

DevOps: Infrastructure as Code
DevOps: Infrastructure as CodeDevOps: Infrastructure as Code
DevOps: Infrastructure as Code

Infrastructure as Code, tools, benefits, paradigms and more. Presentation from DigitalOnUs DevOps: Infrastructure as Code Meetup (September 20, 2018 - Monterrey Nuevo Leon MX)

devopsdigitalonusmeetup
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops Overview

This document discusses software-defined networking (SDN) and network automation using DevOps tools. It defines SDN as a programmatic framework to optimize network services delivery and management. It explains that SDN solutions can be either vendor-developed or custom-built. The document then discusses DevOps and how network engineers can integrate networks into DevOps workflows through practices like NetDevOps. It provides examples of controller-based and tool-based network abstraction using technologies like Ansible, Cisco ACI, and OpenDaylight. The rest of the document demonstrates network automation concepts and compares orchestration tools from vendors like Cisco, Ansible, Chef, and SaltStack.

sdn devops netdevops ansible
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development

Docker is not just about deploying containers to hundreds of servers. Developers need tools that help with day-to-day tasks and to do their job more effectively. Docker is a great addition to most workflows, from starting projects to writing utilities to make development less repetitive. Docker can help take care of many problems developers face during development such as “it works on my machine” as well as keeping tooling consistent between all of the people working on a project. See how easy it is to take an existing development setup and application and move it over to Docker, no matter your operating system.

dockerphpworkflows
Show the dependencies
$ ./hab_deps.rb
lnxchk/container_sched_backend/0.1.3/20181003183354
|- core/binutils/2.30/20180608050633
|- core/gcc-libs/7.3.0/20180608091701
|- core/gcc/7.3.0/20180608051919
|- core/glibc/2.27/20180608041157
|- core/gmp/6.1.2/20180608051426
|- core/libmpc/1.1.0/20180608051824
|- core/linux-headers/4.15.9/20180608041107
|- core/mpfr/4.0.1/20180608051629
|- core/zlib/1.2.11/20180608050617
Search for a package with a vulnerability
$ ./hab_deps_search.rb -d core/mpfr/4.0.1/20180608051629
searching host localhost for dep core/mpfr/4.0.1/20180608051629
lnxchk/container_sched_backend/0.1.3/20181003183354 matches
Check the whole group is on the same version
$ ./hab_service_versions.rb -h localhost -g container_sched_backend.default
searching host localhost for dep container_sched_backend.default
172.31.39.99 has version lnxchk/container_sched_backend/0.1.3/20181003183354
172.31.37.152 has version lnxchk/container_sched_backend/0.1.3/20181003183354
172.31.46.78 has version lnxchk/container_sched_backend/0.1.3/20181003183354
172.31.35.43 has version lnxchk/container_sched_backend/0.1.3/20181003183354
Automatic Updates
• Started the supervisors with "--strategy
rolling" to allow for rolling updates
Also none – no auto updates; and at-once for all at once
updates
• This app is hooked through builder, so update from
github can push updates to the running instances
• Packages published to channels
Promote to stable for subscriber updates or subscribe to
other channels at runtime

Recommended for you

Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013

The document outlines the agenda for the OpenStack Summit in November 2013. The agenda includes sessions on Docker and its ecosystem, using Docker with OpenStack and Rackspace, and a cross-cloud deployment demo. Docker is presented as a solution for developing and deploying applications across multiple environments by encapsulating code and dependencies in portable containers. It can help eliminate inconsistencies between development, testing, and production environments.

dockerrackspaceopenstack
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit

The document outlines the agenda for the OpenStack Summit in November 2013, including presentations on Docker and its ecosystem, how Docker can be used with OpenStack and Rackspace, and a demonstration of cross-cloud application deployment using Docker. Docker is presented as a solution to the "matrix from hell" of running applications across different environments by providing lightweight, portable containers that can run anywhere regardless of the operating system. The summit aims to educate attendees on Docker and showcase its integration with OpenStack for simplified and efficient application deployment and management across multiple clouds.

Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017

Mandi Walls is the Technical Community Manager for EMEA at Chef and the Habitat Community lead is Ian Henry. The document discusses how modern applications are trending toward immutability, platform agnosticism, complexity reduction, and scalability. It provides an overview of ways to work with Habitat, including using artifacts that run themselves via the supervisor, exporting to Docker, and building plans from scratch or using scaffolding.

chef habitat
Shortcut for common platforms: Scaffolding
• Default core-built dependencies for common
runtimes
• Ruby and Node so farpkg_name=MY_APP
pkg_origin=MY_ORIGIN
pkg_version=MY_VERSION
pkg_scaffolding=core/scaffolding-ruby
https://www.habitat.sh/docs/concepts-scaffolding/
Summary
• Single build pathway from Github through to
deployment
• Run Linux-based instances on any distribution
• Update configuration at runtime
• Verify the live environment via REST API
• Targeted platforms: Java, node.js, Ruby, Windows
.NET
Join Us!
• On Slack
http://slack.habitat.sh
• Online! With Tutorials
https://www.habitat.sh/
• On Github
https://github.com/habitat-sh

More Related Content

What's hot

DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
Docker, Inc.
 
Java one kubernetes, jenkins and microservices
Java one   kubernetes, jenkins and microservicesJava one   kubernetes, jenkins and microservices
Java one kubernetes, jenkins and microservices
Christian Posta
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Intro to kubernetes
Elad Hirsch
 
Docker swarm
Docker swarmDocker swarm
Docker swarm
Kalkey
 
Container Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher KubernetesContainer Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher Kubernetes
Vishal Biyani
 
DCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application TransformationDCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application Transformation
Docker, Inc.
 
DCEU 18: Docker Containers in a Serverless World
DCEU 18: Docker Containers in a Serverless WorldDCEU 18: Docker Containers in a Serverless World
DCEU 18: Docker Containers in a Serverless World
Docker, Inc.
 
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with SpinnakerSpinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Andrew Phillips
 
Monitoring docker container and dockerized applications
Monitoring docker container and dockerized applicationsMonitoring docker container and dockerized applications
Monitoring docker container and dockerized applications
Ananth Padmanabhan
 
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
Docker, Inc.
 
How HashiCorp platform tools can make the difference in development and deplo...
How HashiCorp platform tools can make the difference in development and deplo...How HashiCorp platform tools can make the difference in development and deplo...
How HashiCorp platform tools can make the difference in development and deplo...
Dmytro Mykhailov
 
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...A New Centralized Volume Storage Solution for Docker and Container Cloud by W...
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...
Docker, Inc.
 
Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...
All Things Open
 
Deploying OpenStack Using Docker in Production
Deploying OpenStack Using Docker in ProductionDeploying OpenStack Using Docker in Production
Deploying OpenStack Using Docker in Production
clayton_oneill
 
Webcast - Making kubernetes production ready
Webcast - Making kubernetes production readyWebcast - Making kubernetes production ready
Webcast - Making kubernetes production ready
Applatix
 
Dell Trials and Triumphs using Docker on Client Systems by Sean McGinnis and ...
Dell Trials and Triumphs using Docker on Client Systems by Sean McGinnis and ...Dell Trials and Triumphs using Docker on Client Systems by Sean McGinnis and ...
Dell Trials and Triumphs using Docker on Client Systems by Sean McGinnis and ...
Docker, Inc.
 
On Prem Container Cloud - Lessons Learned
On Prem Container Cloud - Lessons LearnedOn Prem Container Cloud - Lessons Learned
On Prem Container Cloud - Lessons Learned
CodeOps Technologies LLP
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
Docker-Hanoi
 
DevOps: Infrastructure as Code
DevOps: Infrastructure as CodeDevOps: Infrastructure as Code
DevOps: Infrastructure as Code
Julio Aziz Flores Casab
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops Overview
Joel W. King
 

What's hot (20)

DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
Java one kubernetes, jenkins and microservices
Java one   kubernetes, jenkins and microservicesJava one   kubernetes, jenkins and microservices
Java one kubernetes, jenkins and microservices
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Intro to kubernetes
 
Docker swarm
Docker swarmDocker swarm
Docker swarm
 
Container Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher KubernetesContainer Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher Kubernetes
 
DCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application TransformationDCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application Transformation
 
DCEU 18: Docker Containers in a Serverless World
DCEU 18: Docker Containers in a Serverless WorldDCEU 18: Docker Containers in a Serverless World
DCEU 18: Docker Containers in a Serverless World
 
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with SpinnakerSpinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
 
Monitoring docker container and dockerized applications
Monitoring docker container and dockerized applicationsMonitoring docker container and dockerized applications
Monitoring docker container and dockerized applications
 
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
 
How HashiCorp platform tools can make the difference in development and deplo...
How HashiCorp platform tools can make the difference in development and deplo...How HashiCorp platform tools can make the difference in development and deplo...
How HashiCorp platform tools can make the difference in development and deplo...
 
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...A New Centralized Volume Storage Solution for Docker and Container Cloud by W...
A New Centralized Volume Storage Solution for Docker and Container Cloud by W...
 
Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...
 
Deploying OpenStack Using Docker in Production
Deploying OpenStack Using Docker in ProductionDeploying OpenStack Using Docker in Production
Deploying OpenStack Using Docker in Production
 
Webcast - Making kubernetes production ready
Webcast - Making kubernetes production readyWebcast - Making kubernetes production ready
Webcast - Making kubernetes production ready
 
Dell Trials and Triumphs using Docker on Client Systems by Sean McGinnis and ...
Dell Trials and Triumphs using Docker on Client Systems by Sean McGinnis and ...Dell Trials and Triumphs using Docker on Client Systems by Sean McGinnis and ...
Dell Trials and Triumphs using Docker on Client Systems by Sean McGinnis and ...
 
On Prem Container Cloud - Lessons Learned
On Prem Container Cloud - Lessons LearnedOn Prem Container Cloud - Lessons Learned
On Prem Container Cloud - Lessons Learned
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
DevOps: Infrastructure as Code
DevOps: Infrastructure as CodeDevOps: Infrastructure as Code
DevOps: Infrastructure as Code
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops Overview
 

Similar to Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018

Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
Chris Tankersley
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
dotCloud
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
Docker, Inc.
 
Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017
Mandi Walls
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
Sébastien Le Gall
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLD
Aleksandr Maklakov
 
IBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudIBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the Cloud
Andrew Coleman
 
DevOPS training - Day 2/2
DevOPS training - Day 2/2DevOPS training - Day 2/2
DevOPS training - Day 2/2
Vincent Mercier
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
GlobalLogic Ukraine
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
Patrick Chanezon
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
Azure Riyadh User Group
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
Manuel Garcia
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
Mandi Walls
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
BlueData, Inc.
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
sparkfabrik
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
VMware Tanzu
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
Fabio Fumarola
 
The App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxThe App Developer's Kubernetes Toolbox
The App Developer's Kubernetes Toolbox
Nebulaworks
 
Application Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternativeApplication Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternative
Denis Gundarev
 

Similar to Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018 (20)

Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLD
 
IBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudIBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the Cloud
 
DevOPS training - Day 2/2
DevOPS training - Day 2/2DevOPS training - Day 2/2
DevOPS training - Day 2/2
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
The App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxThe App Developer's Kubernetes Toolbox
The App Developer's Kubernetes Toolbox
 
Application Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternativeApplication Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternative
 

More from Mandi Walls

DOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdfDOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdf
Mandi Walls
 
Addo reducing trauma in organizations with SLOs and chaos engineering
Addo  reducing trauma in organizations with SLOs and chaos engineeringAddo  reducing trauma in organizations with SLOs and chaos engineering
Addo reducing trauma in organizations with SLOs and chaos engineering
Mandi Walls
 
Full Service Ownership
Full Service OwnershipFull Service Ownership
Full Service Ownership
Mandi Walls
 
PagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call TeamsPagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call Teams
Mandi Walls
 
InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020
Mandi Walls
 
Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019
Mandi Walls
 
Using Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityUsing Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure Security
Mandi Walls
 
Adding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17xAdding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17x
Mandi Walls
 
BuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec WorkshopBuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec Workshop
Mandi Walls
 
InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018
Mandi Walls
 
DevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopDevOpsDays InSpec Workshop
DevOpsDays InSpec Workshop
Mandi Walls
 
Adding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpecAdding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpec
Mandi Walls
 
InSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beInSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.be
Mandi Walls
 
Ingite Slides for InSpec
Ingite Slides for InSpecIngite Slides for InSpec
Ingite Slides for InSpec
Mandi Walls
 
Habitat at LinuxLab IT
Habitat at LinuxLab ITHabitat at LinuxLab IT
Habitat at LinuxLab IT
Mandi Walls
 
InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017
Mandi Walls
 
InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017
Mandi Walls
 
Habitat at SRECon
Habitat at SREConHabitat at SRECon
Habitat at SRECon
Mandi Walls
 
InSpec For DevOpsDays Amsterdam 2017
InSpec For DevOpsDays Amsterdam 2017InSpec For DevOpsDays Amsterdam 2017
InSpec For DevOpsDays Amsterdam 2017
Mandi Walls
 
Containerdays Intro to Habitat
Containerdays Intro to HabitatContainerdays Intro to Habitat
Containerdays Intro to Habitat
Mandi Walls
 

More from Mandi Walls (20)

DOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdfDOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdf
 
Addo reducing trauma in organizations with SLOs and chaos engineering
Addo  reducing trauma in organizations with SLOs and chaos engineeringAddo  reducing trauma in organizations with SLOs and chaos engineering
Addo reducing trauma in organizations with SLOs and chaos engineering
 
Full Service Ownership
Full Service OwnershipFull Service Ownership
Full Service Ownership
 
PagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call TeamsPagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call Teams
 
InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020
 
Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019
 
Using Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityUsing Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure Security
 
Adding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17xAdding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17x
 
BuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec WorkshopBuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec Workshop
 
InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018
 
DevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopDevOpsDays InSpec Workshop
DevOpsDays InSpec Workshop
 
Adding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpecAdding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpec
 
InSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beInSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.be
 
Ingite Slides for InSpec
Ingite Slides for InSpecIngite Slides for InSpec
Ingite Slides for InSpec
 
Habitat at LinuxLab IT
Habitat at LinuxLab ITHabitat at LinuxLab IT
Habitat at LinuxLab IT
 
InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017
 
InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017
 
Habitat at SRECon
Habitat at SREConHabitat at SRECon
Habitat at SRECon
 
InSpec For DevOpsDays Amsterdam 2017
InSpec For DevOpsDays Amsterdam 2017InSpec For DevOpsDays Amsterdam 2017
InSpec For DevOpsDays Amsterdam 2017
 
Containerdays Intro to Habitat
Containerdays Intro to HabitatContainerdays Intro to Habitat
Containerdays Intro to Habitat
 

Recently uploaded

How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 

Recently uploaded (20)

How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 

Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018

  • 2. Mandi Walls Technical Community Manager @lnxchk mandi@chef.io https://habitat.sh #habitatsh http://slack.habitat.sh/
  • 3. Chef and Automation • Infrastructure Automation • Cloud early adopters • Digital Transformation • Compliance Automation with InSpec • Application Automation with Habitat
  • 4. How Do We Run Applications? • On a computer • With an OS • And some libraries • And some configuration • And some way to start it and stop it
  • 5. We’ve been moving complexity around rather than reducing it
  • 6. Complexity Multiplies as Infrastructure Ages def default_apache_version return '2.2' if node['platform_family'] == 'debian' && node['platform_version'] == '10.04' return '2.2' if node['platform_family'] == 'debian' && node['platform_version'] == '12.04' return '2.2' if node['platform_family'] == 'debian' && node['platform_version'] == '13.04' return '2.2' if node['platform_family'] == 'debian' && node['platform_version'] == '13.10' return '2.2' if node['platform_family'] == 'debian' && node['platform_version'].to_i == 6 return '2.2' if node['platform_family'] == 'debian' && node['platform_version'].to_i == 7 return '2.2' if node['platform_family'] == 'freebsd' return '2.2' if node['platform_family'] == 'omnios' return '2.2' if node['platform_family'] == 'rhel' && node['platform_version'].to_i == 5 return '2.2' if node['platform_family'] == 'rhel' && node['platform_version'].to_i == 6 return '2.2' if node['platform_family'] == 'suse' return '2.4' if node['platform_family'] == 'debian' && node['platform_version'] == '14.04' return '2.4' if node['platform_family'] == 'debian' && node['platform_version'] == '14.10' ... end
  • 7. Value and Work is Shifting Application centric operations Infrastructure centric operations UNIT OF VALUE is app UNIT OF WORK is deployment UNIT OF VALUE is server UNIT OF WORK is configuration Cloud Containers Microservices
  • 8. Artifact Inclusions Libraries and Runtimes Operating System Application Application Libraries Application, Runtimes, & Libraries OS Container formats recreate the traditional model of infrastructure and applications. Poor at abstracting the Build + Run aspects of Applications Ties dependencies to OS versions Habitat builds from the application down Small lightweight OS included Embedded Supervisor for Application Management Builds have strict dependency version control Container Habitat Hart
  • 9. So. Habitat. • Ignore the underlying platform as much as possible • Support microservices • Manage container creep • Make your workflow smoother https://www.bonanza.com/listings/Premier-Food-Storage-Containers-20-Piece-Set-Grey/443972348
  • 10. How Does Habitat Benefit Your Team • Build once, run anywhere immutable artifacts • Developers – Get the exact libraries needed, regardless of OS version • Test / QA – Easier maintenance of test environments • Operators – Run Linux habs on any distro • Security – Query live services at runtime for potential vulnerabilities
  • 11. Other Features • Defer configuration decisions to runtime • Build in a "clean room" : no accidental dependencies • Service runtime and discovery • Configuration exposed via API • Signed packages for your organization
  • 12. Cloud Native Applications with Habitat Habitat Supervisor Habitat Builder BUILD DEPLOY MANAGE Habitat Supervisor PUBLIC ORIGIN PRIVATE ORIGIN
  • 13. Sample Application • container_sched_backend – small rust application • Runs on Linux in a cluster • The code is plugged into the Habitat Builder service for automatic builds • Application has a configuration setting for "favorite color"
  • 16. Leave it to Builder • Build service • And an artifact store • Private repos • Check code in to GitHub, let Builder create your artifact • On-Prem version is depot only right now CLOUD/INFRA BUILDSERVICE APPLICATION RUNTIME APPLICATIONSUPERVISION APPLICATION & DATA SERVICES SCHEDULING AND ORCHESTRATION APPLICATION CODE ARTIFACTSTORE
  • 18. Habitat Files Travel with the App Code
  • 19. Have a Plan pkg_name=container_sched_backend pkg_origin=lnxchk pkg_version="0.1.0" pkg_build_deps=(core/rust) pkg_deps=(core/glibc core/gcc core/gcc-libs) pkg_bin_dirs=(bin) bin="container_sched_backend" pkg_exports=([out]=cfg.out) do_build() { cargo build } do_install() { install -v -D "$PLAN_CONTEXT/../target/debug/$bin" "$pkg_prefix/bin/$bin” } pkg_svc_run="$bin" Metadata Build Install Run
  • 20. Build Output • By default, it’s a hart – a compressed tarball with some metadata and a signature • You can export to other formats, like Docker containers • The hart itself it runnable
  • 21. Run a Hart • Set up a first host: leader/follower topology and rolling updates sudo hab sup run lnxchk/container_sched_backend -- topology leader --strategy rolling • Connect additional nodes to the ring, giving them a peer to attach to sudo hab sup run lnxchk/container_sched_backend -- strategy rolling --peer 172.31.37.193
  • 22. Updating Configuration at Runtime • Update all or part of the configuration while the apps are running • Send the update to a member of the mesh and they will all update sudo hab config apply container_sched_backend.default 2 new.toml
  • 23. Channels and Service Groups • Builder can have multiple channels where harts are published Default is "unstable", can promote via CLI or web A cluster can subscribe to any channel, will use "stable" by default • Service groups in the cluster have their name appended to the artifact name container_sched_backend.default
  • 24. Querying the API • Rest api on port 9631 • /services endpoint for information about the running services • Query it with some simple tools https://github.com/lnxchk/hab_tools
  • 25. Show the dependencies $ ./hab_deps.rb lnxchk/container_sched_backend/0.1.3/20181003183354 |- core/binutils/2.30/20180608050633 |- core/gcc-libs/7.3.0/20180608091701 |- core/gcc/7.3.0/20180608051919 |- core/glibc/2.27/20180608041157 |- core/gmp/6.1.2/20180608051426 |- core/libmpc/1.1.0/20180608051824 |- core/linux-headers/4.15.9/20180608041107 |- core/mpfr/4.0.1/20180608051629 |- core/zlib/1.2.11/20180608050617
  • 26. Search for a package with a vulnerability $ ./hab_deps_search.rb -d core/mpfr/4.0.1/20180608051629 searching host localhost for dep core/mpfr/4.0.1/20180608051629 lnxchk/container_sched_backend/0.1.3/20181003183354 matches
  • 27. Check the whole group is on the same version $ ./hab_service_versions.rb -h localhost -g container_sched_backend.default searching host localhost for dep container_sched_backend.default 172.31.39.99 has version lnxchk/container_sched_backend/0.1.3/20181003183354 172.31.37.152 has version lnxchk/container_sched_backend/0.1.3/20181003183354 172.31.46.78 has version lnxchk/container_sched_backend/0.1.3/20181003183354 172.31.35.43 has version lnxchk/container_sched_backend/0.1.3/20181003183354
  • 28. Automatic Updates • Started the supervisors with "--strategy rolling" to allow for rolling updates Also none – no auto updates; and at-once for all at once updates • This app is hooked through builder, so update from github can push updates to the running instances • Packages published to channels Promote to stable for subscriber updates or subscribe to other channels at runtime
  • 29. Shortcut for common platforms: Scaffolding • Default core-built dependencies for common runtimes • Ruby and Node so farpkg_name=MY_APP pkg_origin=MY_ORIGIN pkg_version=MY_VERSION pkg_scaffolding=core/scaffolding-ruby https://www.habitat.sh/docs/concepts-scaffolding/
  • 30. Summary • Single build pathway from Github through to deployment • Run Linux-based instances on any distribution • Update configuration at runtime • Verify the live environment via REST API • Targeted platforms: Java, node.js, Ruby, Windows .NET
  • 31. Join Us! • On Slack http://slack.habitat.sh • Online! With Tutorials https://www.habitat.sh/ • On Github https://github.com/habitat-sh

Editor's Notes

  1. On prem or in the cloud. Or in a hybrid cloud. Or in containers. Or something. On Ubuntu. Or on Red Hat. Or on CentOS if it’s not production. Or that one weird team that wants something else. OS, distribution, version? Packaging type? Initialization system type? Omg it’s systemd Where does it live? /opt /bin /company How to config? .conf .json .yml .dat What version of the language runtime??
  2. There are still plenty of projects and workloads that are in the process of being modernized and rehomed on new architectures. Newer projects are often considering a containers-first approach
  3. Because the part of the habitat package that interfaces with the OS is small, hab packages can be run in a much more distribution-agnostic way, especially on Linux. If you're targeting a linux platform, it can be Debian/Ubuntu, CentOS/RedHat, or other distributions (aws, oracle cloud, arch linux, etc)
  4. Habitat aims to take the chaos and snowflakeness out of running applications With the move towards microservices and increasingly distributed systems, taming this chaos is important The application comes first
  5. Single build can be run natively or in containers Run one, run many. Hook them together via the supervisor or not Don’t have to care what’s already on the target systems. Bring all your stuff with you – and only what you need Share your plan.sh files with others via depot