The document provides an agenda and information about a Concourse workshop at the SpringOne Platform 2019 conference. The agenda includes welcome remarks, talks on Concourse 102 and the Concourse roadmap, breakout sessions, and a wrap-up. Several Concourse sessions are also listed that will take place at the conference. The rest of the document outlines features and updates for Concourse version 5.5.3, including performance improvements, audit logging, UI refinements, and automated SSL certificate support.
In this presentation, I covered how I've migrated Android project from old Jenkins (Freestyle jobs, 1st Jenkins instance) to new Jenkins (Multibranch pipeline, 2nd Jenkins instance).
Also, it covers a Jenkins Shared Library usage and integration tests on pipeline code.
At the end, I'm covering pros/cons of final result and what difficulties I faced during migration.
Codifying the Build and Release Process with a Jenkins Pipeline Shared LibraryAlvin Huang
These are my slides from my Jenkins World 2017 talk, detailing a war story of migrating 150-200 Freestyle Jobs for build and release, into ~10 line Jenkinsfiles that heavily leverages Jenkins Pipeline Shared Libraries (https://jenkins.io/doc/book/pipeline/shared-libraries/)
Kamon is an open-source tool for monitoring JVM applications like those using Akka. It provides metrics collection and distributed tracing capabilities. The document discusses how Kamon 1.0 can be used to monitor Akka applications by collecting automatic and custom metrics. It also describes how to set up Kamon with Prometheus and Grafana for metrics storage and visualization. The experience of instrumenting an application at EMnify with Kamon is presented as an example.
Building Efficient Parallel Testing Platforms with DockerLaura Frank Tacho
We often use containers to maintain parity across development, testing, and production environments, but we can also use containerization to significantly reduce time needed for testing by spinning up multiple instances of fully isolated testing environments and executing tests in parallel. This strategy also helps you maximize the utilization of infrastructure resources. The enhanced toolset provided by Docker makes this process simple and unobtrusive, and you’ll see how Docker Engine, Registry, and Compose can work together to make your tests fast.
This document summarizes a Jenkins pipeline for testing and deploying Chef cookbooks. The pipeline is configured to automatically scan a GitHub organization for any repositories containing a Jenkinsfile. It will then create and manage multibranch pipeline jobs for each repository and branch. The pipelines leverage a shared Jenkins global library which contains pipeline logic to test and deploy the Chef cookbooks. This allows for standardized and reusable pipeline logic across all Chef cookbook repositories.
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the WebSteffen Gebert
This document summarizes recent developments in web protocols, including HTTP/2, QUIC, and Multipath TCP (MPTCP). HTTP/2 modernized HTTP by introducing binary framing, multiplexing, header compression and server push. QUIC aims to replace TCP with UDP to reduce latency during connection setup. MPTCP leverages multiple network paths simultaneously for increased throughput and resilience.
Kurento is a media server for real-time video communication that needed to test its software under many scenarios and environments. Its CI infrastructure originally used many virtual machines, each configured differently for testing. This led to high costs, configuration difficulties, and slow development cycles. By using Docker, Kurento was able to define environments as reusable images and run tests in isolated containers on fewer virtual machines. This simplified infrastructure management and sped up development.
DockerCon EU 2015 in Barcelona
Practical tips for using Docker to run tests during development, CI/CD, and different strategies for speeding up the run of your test suite by using parallel pipelines in containers.
The jet tool used to demonstrate parallel testing is available here: https://codeship.com/documentation/docker/installation/
In this presentation, I covered how I've migrated Android project from old Jenkins (Freestyle jobs, 1st Jenkins instance) to new Jenkins (Multibranch pipeline, 2nd Jenkins instance).
Also, it covers a Jenkins Shared Library usage and integration tests on pipeline code.
At the end, I'm covering pros/cons of final result and what difficulties I faced during migration.
Codifying the Build and Release Process with a Jenkins Pipeline Shared LibraryAlvin Huang
These are my slides from my Jenkins World 2017 talk, detailing a war story of migrating 150-200 Freestyle Jobs for build and release, into ~10 line Jenkinsfiles that heavily leverages Jenkins Pipeline Shared Libraries (https://jenkins.io/doc/book/pipeline/shared-libraries/)
Kamon is an open-source tool for monitoring JVM applications like those using Akka. It provides metrics collection and distributed tracing capabilities. The document discusses how Kamon 1.0 can be used to monitor Akka applications by collecting automatic and custom metrics. It also describes how to set up Kamon with Prometheus and Grafana for metrics storage and visualization. The experience of instrumenting an application at EMnify with Kamon is presented as an example.
Building Efficient Parallel Testing Platforms with DockerLaura Frank Tacho
We often use containers to maintain parity across development, testing, and production environments, but we can also use containerization to significantly reduce time needed for testing by spinning up multiple instances of fully isolated testing environments and executing tests in parallel. This strategy also helps you maximize the utilization of infrastructure resources. The enhanced toolset provided by Docker makes this process simple and unobtrusive, and you’ll see how Docker Engine, Registry, and Compose can work together to make your tests fast.
This document summarizes a Jenkins pipeline for testing and deploying Chef cookbooks. The pipeline is configured to automatically scan a GitHub organization for any repositories containing a Jenkinsfile. It will then create and manage multibranch pipeline jobs for each repository and branch. The pipelines leverage a shared Jenkins global library which contains pipeline logic to test and deploy the Chef cookbooks. This allows for standardized and reusable pipeline logic across all Chef cookbook repositories.
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the WebSteffen Gebert
This document summarizes recent developments in web protocols, including HTTP/2, QUIC, and Multipath TCP (MPTCP). HTTP/2 modernized HTTP by introducing binary framing, multiplexing, header compression and server push. QUIC aims to replace TCP with UDP to reduce latency during connection setup. MPTCP leverages multiple network paths simultaneously for increased throughput and resilience.
Kurento is a media server for real-time video communication that needed to test its software under many scenarios and environments. Its CI infrastructure originally used many virtual machines, each configured differently for testing. This led to high costs, configuration difficulties, and slow development cycles. By using Docker, Kurento was able to define environments as reusable images and run tests in isolated containers on fewer virtual machines. This simplified infrastructure management and sped up development.
DockerCon EU 2015 in Barcelona
Practical tips for using Docker to run tests during development, CI/CD, and different strategies for speeding up the run of your test suite by using parallel pipelines in containers.
The jet tool used to demonstrate parallel testing is available here: https://codeship.com/documentation/docker/installation/
Cloud-Native CI/CD on Kubernetes with Tekton PipelinesNikhil Thomas
This document discusses how to build cloud-native CI/CD pipelines with Tekton on Kubernetes. It introduces Tekton Pipeline custom resources like Tasks, Pipelines, PipelineResources that model CI/CD concepts. It demonstrates building a sample app pipeline that pulls source code, builds container images, and deploys services. The presentation concludes by showing how to use the Tekton CLI to interact with pipelines and view logs.
This document discusses using Docker containers to test Python applications in varied environments. The proposed solution is to:
1. Create Docker images for dependencies like databases.
2. Build a test image with the source code and testing tools.
3. Run tests by launching a container from the test image linked to dependency containers.
4. The packnsend tool is used to initialize images, run tests across multiple environments, and clean up containers after testing.
Going FaaSter, Functions as a Service at NetflixYunong Xiao
The document discusses Netflix's use of serverless computing via its own Function as a Service (FaaS) platform. Some key points:
- Netflix built its own FaaS platform called Titus that runs functions at scale using containers for portability and efficiency.
- The platform handles operations concerns so developers can focus on business logic. It provides a full runtime API and handles updates, metrics, and management automatically.
- Netflix developed tools like NEWT to improve the developer experience with one-click setup, local development and debugging, testing, and CI/CD integration for fast and reliable software development.
Wonder how you can make your testing more efficient? Join Glenn Buckholz as he explores Docker, a technology that allows rapid development and deployment via containers. First, he explains exactly what composes a container, and discusses the differences between a container and an image. Once this is clear, Glenn demonstrates how Docker solves the problem of what he calls the state capture problem. When a test case produces a failure, the developer and testers often expend significant effort reproducing the issue so the developer can see the issue and fix it. Glenn demonstrates how Docker enables succinct, accurate, and quick communication between testers and developers, helping mitigate the state capture problem. In addition, testers can use Docker to load data, efficiently insert testing tools into a running system, set system state, and aid in test reproducibility. After you look at the inner workings of Docker and run through a few practical examples, you’ll find that Docker will hold an important place in your testing toolbox.
The Jenkins open source continuous integration server now provides a “pipeline” scripting language which can define jobs that persist across server restarts, can be stored in a source code repository and can be versioned with the source code they are building. By defining the build and deployment pipeline in source code, teams can take full control of their build and deployment steps. The Docker project provides lightweight containers and a system for defining and managing those containers. The Jenkins pipeline and Docker containers are a great combination to improve the portability, reliability, and consistency of your build process.
This session will demonstrate Jenkins and Docker in the journey from continuous integration to DevOps.
The document outlines Julien Pivotto's presentation on building pipelines at scale using Jenkins and Puppet. It discusses how Puppet can be used to define Jenkins job configurations and pipelines for applications and infrastructure to allow easy deployment of new pipelines. It also covers alternative approaches using Jenkins plugins to define pipelines through Groovy scripts to reduce complexity compared to Puppet management.
The document discusses 7 habits of highly effective Jenkins users. It recommends using long-term support releases, breaking up large jobs into smaller modular jobs, and defining Jenkins tasks programmatically using scripts and pipelines rather than manually configuring through the UI. Key plugins are also discussed like Pipeline, Job DSL, and others that help automate Jenkins configuration and integration.
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems IntegrationOleg Nenashev
This is a follow-up presentation to my talk at CloudBees | Jenkins Automotive and Embedded Day 2016, where I was presenting Pipeline usage strategies for use-cases in the Embedded area. In this presentation I talk about Jenkins Pipeline features for automation frameworks and talk about lessons learned in several project.
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Docker, Inc.
This lightning talk will show you how simple it is to apply CI to the creation of Docker images, ensuring that each time the source is changed, a new image is created, tagged, and published. I will then show how easy it is to then deploy containers from this image and run tests to verify the behaviour.
A story of how we went about packaging perl and all of the dependencies that our project has.
Where we were before, the chosen path, and the end result.
The pitfalls and a view on the pros and cons of the previous state of affairs versus the pros/cons of the end result.
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMPStéphanie Roger
Que vous soyez développeur ou entrepreneur, découvrez le projet STAMP piloté par Inria, l'institut national de recherche dédié aux sciences du numérique.
This document discusses best practices for writing Dockerfiles. It begins with a refresher on images, Dockerfile build processes, and areas for improvement. Examples are provided of optimizing a sample Dockerfile to improve build caching, reduce image size, and increase reproducibility. Specific techniques covered include ordering commands to leverage caching, using official base images, multi-stage builds, and build arguments. Benchmarks show the optimized Dockerfile builds faster and produces smaller images.
1. Mercurial (Hg) is a distributed version control system that allows developers to work on local repositories and exchange changes through patches.
2. The document discusses Hg commands like add, commit, push, pull, diff, log and tools like TortoiseHg and hgtk. It also covers common workflows like branching, merging, resolving conflicts.
3. The document walks through an example of multiple developers - DevA, DevB and DevC - collaborating on a project hosted on Bitbucket using a release/develop model with Hg. It demonstrates tasks like cloning, branching, committing, pushing, pulling and merging changes.
Simply your Jenkins Projects with Docker Multi-Stage BuildsEric Smalling
The document discusses simplifying Jenkins projects using Docker multi-stage builds. It introduces Docker images and challenges around image size when building images via Jenkins. It describes the old approach of using a Docker image builder pattern with multiple Dockerfiles versus the new approach of using Docker multi-stage builds, which allows multiple stages in a single Dockerfile. It demos a sample web app built with this approach. Resources for further information are also provided.
The document discusses Jirayut Nimsaeng's presentation on using Docker for continuous delivery of Joomla projects. Some key points:
- Jirayut is interested in cloud, open source, and has worked with Docker since version 0.6
- Docker allows for reliable, consistent, and efficient deployment across environments like development, testing, and production
- The presentation covers using Dockerfiles to build images, Docker workflows, and examples of using Docker for development environments and continuous delivery pipelines.
The document discusses different approaches to packaging Java applications including fat JARs, thin JARs, skinny JARs, and hollow JARs. It analyzes the packaging of sample "Hello World" applications using Spring Boot, WildFly Swarm, Eclipse Vert.x, and Dropwizard. Fat JARs package the entire application and dependencies together but can become very large, while thinner approaches package dependencies externally to reduce size and improve redeployment speeds for container-based applications.
This document discusses using Fluentd for logging infrastructure in Platform as a Service (PaaS). It describes how Fluentd can be used to collect and persist logs from applications running on Cloud Foundry PaaS in a way that logs are not lost when applications are updated or restarted. A Fluentd daemon is attached to each application instance to monitor and forward logs to log storage servers.
A collaborative DevOps is crucial to fast project development. With an MPL, modular pipeline library, such collaboration between teams is quick and easy.
Simon Laws – Apache Flink Cluster Deployment on Docker and Docker-ComposeFlink Forward
This document provides instructions for deploying an Apache Flink cluster on Docker and Docker Compose. It describes setting up the necessary tools like VirtualBox and Ubuntu, installing Docker and Flink, building Docker images from the Flink source code, and running Flink containers locally. It then explains how to push the images to IBM Bluemix and run the Flink cluster within Bluemix containers, including creating the JobManager and TaskManager containers through the Bluemix CLI.
This document provides an overview of DevOPS concepts including containers, Docker, and related tools. It discusses what containers are and the differences between virtual machines and containers. It then covers how containers can be used by developers and systems engineers. Docker is introduced as a tool for running and managing containers. Dockerfiles are described as documents for assembling container images. Docker Compose is presented as a tool for defining and running multi-container applications. Examples are given for creating a simple container with Dockerfile and running it locally and sharing it publicly. Monitoring tools like cAdvisor are mentioned. The document ends with discussing continuous integration/deployment using tools like Gitlab and Jenkins to automate the build and deployment process.
DCEU 18: Building Your Development PipelineDocker, Inc.
This document discusses building a development pipeline using containers. It outlines using containers for building images, automated testing, security scanning, and deploying to production. Containers make environments consistent and reproducible. The pipeline includes building images, testing, security scanning, and promoting images to production. Methods discussed include using multi-stage builds to optimize images, leveraging Buildkit for faster builds, and parallel testing across containers. Automated tools are available to implement rolling updates and rollbacks during deployments.
Cloud-Native CI/CD on Kubernetes with Tekton PipelinesNikhil Thomas
This document discusses how to build cloud-native CI/CD pipelines with Tekton on Kubernetes. It introduces Tekton Pipeline custom resources like Tasks, Pipelines, PipelineResources that model CI/CD concepts. It demonstrates building a sample app pipeline that pulls source code, builds container images, and deploys services. The presentation concludes by showing how to use the Tekton CLI to interact with pipelines and view logs.
This document discusses using Docker containers to test Python applications in varied environments. The proposed solution is to:
1. Create Docker images for dependencies like databases.
2. Build a test image with the source code and testing tools.
3. Run tests by launching a container from the test image linked to dependency containers.
4. The packnsend tool is used to initialize images, run tests across multiple environments, and clean up containers after testing.
Going FaaSter, Functions as a Service at NetflixYunong Xiao
The document discusses Netflix's use of serverless computing via its own Function as a Service (FaaS) platform. Some key points:
- Netflix built its own FaaS platform called Titus that runs functions at scale using containers for portability and efficiency.
- The platform handles operations concerns so developers can focus on business logic. It provides a full runtime API and handles updates, metrics, and management automatically.
- Netflix developed tools like NEWT to improve the developer experience with one-click setup, local development and debugging, testing, and CI/CD integration for fast and reliable software development.
Wonder how you can make your testing more efficient? Join Glenn Buckholz as he explores Docker, a technology that allows rapid development and deployment via containers. First, he explains exactly what composes a container, and discusses the differences between a container and an image. Once this is clear, Glenn demonstrates how Docker solves the problem of what he calls the state capture problem. When a test case produces a failure, the developer and testers often expend significant effort reproducing the issue so the developer can see the issue and fix it. Glenn demonstrates how Docker enables succinct, accurate, and quick communication between testers and developers, helping mitigate the state capture problem. In addition, testers can use Docker to load data, efficiently insert testing tools into a running system, set system state, and aid in test reproducibility. After you look at the inner workings of Docker and run through a few practical examples, you’ll find that Docker will hold an important place in your testing toolbox.
The Jenkins open source continuous integration server now provides a “pipeline” scripting language which can define jobs that persist across server restarts, can be stored in a source code repository and can be versioned with the source code they are building. By defining the build and deployment pipeline in source code, teams can take full control of their build and deployment steps. The Docker project provides lightweight containers and a system for defining and managing those containers. The Jenkins pipeline and Docker containers are a great combination to improve the portability, reliability, and consistency of your build process.
This session will demonstrate Jenkins and Docker in the journey from continuous integration to DevOps.
The document outlines Julien Pivotto's presentation on building pipelines at scale using Jenkins and Puppet. It discusses how Puppet can be used to define Jenkins job configurations and pipelines for applications and infrastructure to allow easy deployment of new pipelines. It also covers alternative approaches using Jenkins plugins to define pipelines through Groovy scripts to reduce complexity compared to Puppet management.
The document discusses 7 habits of highly effective Jenkins users. It recommends using long-term support releases, breaking up large jobs into smaller modular jobs, and defining Jenkins tasks programmatically using scripts and pipelines rather than manually configuring through the UI. Key plugins are also discussed like Pipeline, Job DSL, and others that help automate Jenkins configuration and integration.
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems IntegrationOleg Nenashev
This is a follow-up presentation to my talk at CloudBees | Jenkins Automotive and Embedded Day 2016, where I was presenting Pipeline usage strategies for use-cases in the Embedded area. In this presentation I talk about Jenkins Pipeline features for automation frameworks and talk about lessons learned in several project.
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Docker, Inc.
This lightning talk will show you how simple it is to apply CI to the creation of Docker images, ensuring that each time the source is changed, a new image is created, tagged, and published. I will then show how easy it is to then deploy containers from this image and run tests to verify the behaviour.
A story of how we went about packaging perl and all of the dependencies that our project has.
Where we were before, the chosen path, and the end result.
The pitfalls and a view on the pros and cons of the previous state of affairs versus the pros/cons of the end result.
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMPStéphanie Roger
Que vous soyez développeur ou entrepreneur, découvrez le projet STAMP piloté par Inria, l'institut national de recherche dédié aux sciences du numérique.
This document discusses best practices for writing Dockerfiles. It begins with a refresher on images, Dockerfile build processes, and areas for improvement. Examples are provided of optimizing a sample Dockerfile to improve build caching, reduce image size, and increase reproducibility. Specific techniques covered include ordering commands to leverage caching, using official base images, multi-stage builds, and build arguments. Benchmarks show the optimized Dockerfile builds faster and produces smaller images.
1. Mercurial (Hg) is a distributed version control system that allows developers to work on local repositories and exchange changes through patches.
2. The document discusses Hg commands like add, commit, push, pull, diff, log and tools like TortoiseHg and hgtk. It also covers common workflows like branching, merging, resolving conflicts.
3. The document walks through an example of multiple developers - DevA, DevB and DevC - collaborating on a project hosted on Bitbucket using a release/develop model with Hg. It demonstrates tasks like cloning, branching, committing, pushing, pulling and merging changes.
Simply your Jenkins Projects with Docker Multi-Stage BuildsEric Smalling
The document discusses simplifying Jenkins projects using Docker multi-stage builds. It introduces Docker images and challenges around image size when building images via Jenkins. It describes the old approach of using a Docker image builder pattern with multiple Dockerfiles versus the new approach of using Docker multi-stage builds, which allows multiple stages in a single Dockerfile. It demos a sample web app built with this approach. Resources for further information are also provided.
The document discusses Jirayut Nimsaeng's presentation on using Docker for continuous delivery of Joomla projects. Some key points:
- Jirayut is interested in cloud, open source, and has worked with Docker since version 0.6
- Docker allows for reliable, consistent, and efficient deployment across environments like development, testing, and production
- The presentation covers using Dockerfiles to build images, Docker workflows, and examples of using Docker for development environments and continuous delivery pipelines.
The document discusses different approaches to packaging Java applications including fat JARs, thin JARs, skinny JARs, and hollow JARs. It analyzes the packaging of sample "Hello World" applications using Spring Boot, WildFly Swarm, Eclipse Vert.x, and Dropwizard. Fat JARs package the entire application and dependencies together but can become very large, while thinner approaches package dependencies externally to reduce size and improve redeployment speeds for container-based applications.
This document discusses using Fluentd for logging infrastructure in Platform as a Service (PaaS). It describes how Fluentd can be used to collect and persist logs from applications running on Cloud Foundry PaaS in a way that logs are not lost when applications are updated or restarted. A Fluentd daemon is attached to each application instance to monitor and forward logs to log storage servers.
A collaborative DevOps is crucial to fast project development. With an MPL, modular pipeline library, such collaboration between teams is quick and easy.
Simon Laws – Apache Flink Cluster Deployment on Docker and Docker-ComposeFlink Forward
This document provides instructions for deploying an Apache Flink cluster on Docker and Docker Compose. It describes setting up the necessary tools like VirtualBox and Ubuntu, installing Docker and Flink, building Docker images from the Flink source code, and running Flink containers locally. It then explains how to push the images to IBM Bluemix and run the Flink cluster within Bluemix containers, including creating the JobManager and TaskManager containers through the Bluemix CLI.
This document provides an overview of DevOPS concepts including containers, Docker, and related tools. It discusses what containers are and the differences between virtual machines and containers. It then covers how containers can be used by developers and systems engineers. Docker is introduced as a tool for running and managing containers. Dockerfiles are described as documents for assembling container images. Docker Compose is presented as a tool for defining and running multi-container applications. Examples are given for creating a simple container with Dockerfile and running it locally and sharing it publicly. Monitoring tools like cAdvisor are mentioned. The document ends with discussing continuous integration/deployment using tools like Gitlab and Jenkins to automate the build and deployment process.
DCEU 18: Building Your Development PipelineDocker, Inc.
This document discusses building a development pipeline using containers. It outlines using containers for building images, automated testing, security scanning, and deploying to production. Containers make environments consistent and reproducible. The pipeline includes building images, testing, security scanning, and promoting images to production. Methods discussed include using multi-stage builds to optimize images, leveraging Buildkit for faster builds, and parallel testing across containers. Automated tools are available to implement rolling updates and rollbacks during deployments.
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...Docker, Inc.
The ModCloth Platform team has been building a Docker-based continuous delivery pipeline. This presentation discusses that project and how we build containers at ModCloth. The topics include what goes into our containers; how to optimize builds to use the Docker build cache effectively; useful development workflows (including using fig); and the key decision to treat containers as processes instead of mini-vms. This presentation will also discuss (and demo!) the workflow we’ve adopted for building containers and how we’ve integrated container builds with our CI.
This document provides an overview of Container as a Service (CaaS) with Docker. It discusses key concepts like Docker containers, images, and orchestration tools. It also covers DevOps practices like continuous delivery that are enabled by Docker. Specific topics covered include Docker networking, volumes, and orchestration with Docker Swarm and compose files. Examples are provided of building and deploying Java applications with Docker, including Spring Boot apps, Java EE apps, and using Docker for builds. Security features of Docker like content trust and scanning are summarized. The document concludes by discussing Docker use cases across different industries and how Docker enables critical transformations around cloud, DevOps, and application modernization.
My talk from Dockercon EU in Amsterdam, Dec 2014. Original abstract:
The ModCloth Platform team has been building a Docker-based continuous delivery pipeline. This presentation discusses that project and how we build containers at ModCloth. The topics include what goes into our containers; how to optimize builds to use the Docker build cache effectively; useful development workflows (including using fig); and the key decision to treat containers as processes instead of mini-vms. This presentation will also discuss (and demo!) the workflow we’ve adopted for building containers and how we’ve integrated container builds with our CI.
Atlanta Jenkins Area Meetup October 22nd 2015Kurt Madel
Jenkins Workflow is a game changing way to write automation jobs with Jenkins. Workflows can support simple, one-step hello-world type jobs to the most complex, parallel pipelines. Best of all, they support manual/automated intervention (eg: approvals) and also workflows survive Jenkins master restarts. Combining Jenkins Workflow with Docker can seriously reduce friction in your DevOps efforts. Come learn how.
The recent launch of the Docker Init command has significantly simplified the process of generating Dockerfiles and Docker Compose templates for containerized applications. This presentation aims to explore the evolution of Docker deployment resources generation process, comparing its approach prior to the Docker Init command release and discussing the way forward. Before the introduction of the Docker Init command, I've been delivering some projects like the "alfresco-docker-installer"[1], which provides custom scripts and configurations to streamline the process of deploying Alfresco in Docker containers. These kinds of projects use tools like Yeoman or raw Python. There are some differences between a Docker Template for a technology (Go, Python, Node or Rust) and a Docker Template for a product (like Alfresco) that may be covered when generating automatic deployment resources. This presentation will delve into the methodologies employed before the Docker Init command:
Custom Dockerfile Extension
Compose Template for a complete product deployment, including a set of services like the database, content repository, search engine, or web application
Configuration Management, including techniques such as environment variable injection, externalized configuration files, and configuration overrides
Following the release of the Docker Init command, this presentation will provide insights into the possibilities and advantages it brings to complex products Docker deployment process. A PoC of a Docker Plugin, including this product-oriented approach for docker init, will be demoed live. >> Note that the Open Source Alfresco product is used only to explain the concepts of building a Docker Compose generator with a real example.
Presentation from the CopenhagenR - useR Group Meetup at IT University of Copenhagen on Oct. 11 2016 on how to automatically deploy web applications built in R to a Cloud server (here DigitalOcean) using open source Docker with GitHub and basic Continuous Integration (here CircleCI) for automated testing and deployment.
Presenter:
Niels Ole Dam, Things in Flow
Excerpt from the invitation to the meetup:
Niels will talk about his favorite R-setup and will demonstrate how R, combined with some nice DockeR and Github tricks, can help even small teams and companies leverage the power of modern cloud computing. Niels uses R on a daily basis in his work as an independent consultant and he will share his thoughts on DockeR at the next meetup.
Subjects covered:
- How to setup and use RStudio, Docker, Docker Compose locally and with GitHub intgration.
- How to setup and use Continuous Integration (CI) with automated testing and deployment to DigitalOcean using CircelCI and with reuse of the same docker-compose.yml file locally and remotely.
- Tips and tricks on how to setup a good workflow.
- Introduction to all the technologies and tools used.
There are lots of clickable links in the pdf-version of the slides.
Code for the setup demonstrated can be found at:
https://github.com/thingsinflow/r-docker-workflow
An accompanying clickable flowdiagram can be found at:
http://bit.ly/R-Docker-workflow
Enjoy!
:-)
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)Ontico
This document discusses using traffic control to test microservices applications running in containers. It describes using tools like Kubernetes, Weave Scope, and netem to configure network emulation scenarios like bandwidth limiting, latency injection and packet dropping. A demo application is shown running in Kubernetes pods with Weave Scope visualizing network traffic and a traffic control plugin modifying network behavior for testing purposes. Advanced filtering options using eBPF and custom plugins are proposed to define more complex traffic classes and collect test statistics.
Efficient Parallel Testing with Docker by Laura FrankDocker, Inc.
Fast and efficient software testing is easy with Docker. We often
use containers to maintain parity across development, testing, and production environments, but we can also use containerization to significantly reduce time needed for testing by spinning up multiple instances of fully isolated testing environments and executing tests in parallel. This strategy also helps you maximize the utilization of infrastructure resources. The enhanced toolset provided by Docker makes this process simple and unobtrusive, and you’ll see how Docker Engine, Registry, Machine, and Compose can work together to make your tests fast.
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share best practices (including ones followed internally at Amazon) and how you can bring them to your company by using open source and AWS services.
Speaker: Raghuraman Balachandran, Solutions Architect, Amazon India
This document discusses using Docker to set up a quality assurance (QA) system for web applications. It proposes running each feature branch in its own Docker container to allow simultaneous QA of multiple branches. The solution is demonstrated using a sample Python/Flask app that counts page visits, with the visit counts stored in a Redis container. The document notes some limitations, like only running one container per branch, and proposes using Docker Compose to run multiple related containers together for a more realistic QA environment that can test full applications with APIs and databases. Future plans include more efficient resource sharing and integration with additional container platforms.
Join this workshop and accelerate your journey to production-ready Kubernetes by learning the practical techniques for reliably operating your software lifecycle using the GitOps pattern. The Weaveworks team will be running a full-day workshop, sharing their expertise as users and contributors of Kubernetes and Prometheus, as well as followers of GitOps (operations by pull request) practices.
Using a combination of instructor led demonstrations and hands-on exercises, the workshop will enable the attendee to go into detail on the following topics:
• Developing and operating your Kubernetes microservices at scale
• DevOps best practices and the movement towards a “GitOps” approach
• Building with Kubernetes in production: caring for your apps, implementing CI/CD best practices, and utilizing the right metrics, monitoring tools, and automated alerts
• Operating Kubernetes in production: Upgrading and managing Kubernetes, managing incident response, and adhering to security best practices for Kubernetes
The document discusses two serverless computing platforms that support Swift - OpenWhisk and Fn.
OpenWhisk is an open source system that is event-driven, containerized, and allows chaining of actions. It is hosted on Bluemix but can be difficult to deploy elsewhere. Fn is container-native and deploys functions as containers communicating via standard input/output. Both allow simple Swift functions to be deployed and called remotely with REST APIs or command line tools. The document provides examples of writing, deploying and calling functions on each platform.
Oscon London 2016 - Docker from Development to ProductionPatrick Chanezon
Docker revolutionized how developers and operations teams build, ship, and run applications, enabling them to leverage the latest advancements in software development: the microservice architecture style, the immutable infrastructure deployment style, and the DevOps cultural model.
Existing software layers are not a great fit to leverage these trends. Infrastructure as a service is too low level; platform as a service is too high level; but containers as a service (CaaS) is just right. Container images are just the right level of abstraction for DevOps, allowing developers to specify all their dependencies at build time, building and testing an artifact that, when ready to ship, is the exact thing that will run in production. CaaS gives ops teams the tools to control how to run these workloads securely and efficiently, providing portability between different cloud providers and on-premises deployments.
Patrick Chanezon offers a detailed overview of the latest evolutions to the Docker ecosystem enabling CaaS: standards (OCI, CNCF), infrastructure (runC, containerd, Notary), platform (Docker, Swarm), and services (Docker Cloud, Docker Datacenter). Patrick ends with a demo showing how to do in-container development of a Spring Boot application on a Mac running a preconfigured IDE in a container, provision a highly available Swarm cluster using Docker Datacenter on a cloud provider, and leverage the latest Docker tools to build, ship, and run a polyglot application architected as a set of microservices—including how to set up load balancing.
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI serverPloneFoundation
Thomas Schorr, https://2020.ploneconf.org/speakers/thomas-schorr
Pyruvate is a non-blocking, multithreaded WSGI server with competitive performance, implemented in Rust.
It features non-blocking read/write based on mio (https://docs.rs/mio/), a rust-cpython (https://docs.rs/cpython/) based Python interface and a worker pool based on threadpool (https://docs.rs/threadpool/).
The sendfile system call is used for efficient file transfer.
Pyruvate integrates with the Python logging API using asynchronous logging.
PasteDeploy configuration and systemd socket activation are supported.
Beta releases are available for CPython (>=3.6) and Linux.
The talk will present the current state of the project and show how to use Pyruvate with Zope/Plone and other Python web frameworks.
Another focus will be on the roadmap towards a 1.0 release scheduled for end of this year.
https://gitlab.com/tschorr/pyruvate
https://pypi.org/project/pyruvate/
https://2020.ploneconf.org/talks/pyruvate-a-reasonably-fast-non-blocking-multithreaded-wsgi-server/
Containerization (à la Docker) is increasing the elastic nature of cloud infrastructure by an order of magnitude. If you have adopted Docker, or are considering it, you are probably facing questions like:
- How many containers can you run on a given Amazon EC2 instance type?
- Which metric should you look at to measure contention?
- How do you manage fleets of containers at scale?
Datadog’s CTO, Alexis Lê-Quôc, presents the challenges and benefits of running Docker containers at scale. Alexis explains how to use quantitative performance patterns to monitor your infrastructure at the new level of magnitude and increased complexity introduced by containerization.
What AI Means For Your Product Strategy And What To Do About ItVMware Tanzu
The document summarizes Matthew Quinn's presentation on "What AI Means For Your Product Strategy And What To Do About It" at Denver Startup Week 2023. The presentation discusses how generative AI could impact product strategies by potentially solving problems companies have ignored or allowing competitors to create new solutions. Quinn advises product teams to evaluate their strategies and roadmaps, ensure they understand user needs, and consider how AI may change the problems being addressed. He provides examples of how AI could influence product development for apps in home organization and solar sales. Quinn concludes by urging attendees not to ignore AI's potential impacts and to have hard conversations about emerging threats and opportunities.
Make the Right Thing the Obvious Thing at Cardinal Health 2023VMware Tanzu
This document discusses the evolution of internal developer platforms and defines what they are. It provides a timeline of how technologies like infrastructure as a service, public clouds, containers and Kubernetes have shaped developer platforms. The key aspects of an internal developer platform are described as providing application-centric abstractions, service level agreements, automated processes from code to production, consolidated monitoring and feedback. The document advocates that internal platforms should make the right choices obvious and easy for developers. It also introduces Backstage as an open source solution for building internal developer portals.
Enhancing DevEx and Simplifying Operations at ScaleVMware Tanzu
Cardinal Health introduced Tanzu Application Service in 2016 and set up foundations for cloud native applications in AWS and later migrated to GCP in 2018. TAS has provided Cardinal Health with benefits like faster development of applications, zero downtime for critical applications, hosting over 5,000 application instances, quicker patching for security vulnerabilities, and savings through reduced lead times and staffing needs.
Dan Vega discussed upcoming changes and improvements in Spring including Spring Boot 3, which will have support for JDK 17, Jakarta EE 9/10, ahead-of-time compilation, improved observability with Micrometer, and Project Loom's virtual threads. Spring Boot 3.1 additions were also highlighted such as Docker Compose integration and Spring Authorization Server 1.0. Spring Boot 3.2 will focus on embracing virtual threads from Project Loom to improve scalability of web applications.
Platforms, Platform Engineering, & Platform as a ProductVMware Tanzu
This document discusses building platforms as products and reducing developer toil. It notes that platform engineering now encompasses PaaS and developer tools. A quote from Mercedes-Benz emphasizes building platforms for developers, not for the company itself. The document contrasts reactive, ticket-driven approaches with automated, self-service platforms and products. It discusses moving from considering platforms as a cost center to experts that drive business results. Finally, it provides questions to identify sources of developer toil, such as issues with workstation setup, running software locally, integration testing, committing changes, and release processes.
This document provides an overview of building cloud-ready applications in .NET. It defines what makes an application cloud-ready, discusses common issues with legacy applications, and recommends design patterns and practices to address these issues, including loose coupling, high cohesion, messaging, service discovery, API gateways, and resiliency policies. It includes code examples and links to additional resources.
Dan Vega discussed new features and capabilities in Spring Boot 3 and beyond, including support for JDK 17, Jakarta EE 9, ahead-of-time compilation, observability with Micrometer, Docker Compose integration, and initial support for Project Loom's virtual threads in Spring Boot 3.2 to improve scalability. He provided an overview of each new feature and explained how they can help Spring applications.
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfVMware Tanzu
Spring Cloud Gateway is a gateway that provides routing, security, monitoring, and resiliency capabilities for microservices. It acts as an API gateway and sits in front of microservices, routing requests to the appropriate microservice. The gateway uses predicates and filters to route requests and modify requests and responses. It is lightweight and built on reactive principles to enable it to scale to thousands of routes.
This document appears to be from a VMware Tanzu Developer Connect presentation. It discusses Tanzu Application Platform (TAP), which provides a developer experience on Kubernetes across multiple clouds. TAP aims to unlock developer productivity, build rapid paths to production, and coordinate the work of development, security and operations teams. It offers features like pre-configured templates, integrated developer tools, centralized visibility and workload status, role-based access control, automated pipelines and built-in security. The presentation provides examples of how these capabilities improve experiences for developers, operations teams and security teams.
The document provides information about a Tanzu Developer Connect Workshop on Tanzu Application Platform. The agenda includes welcome and introductions on Tanzu Application Platform, followed by interactive hands-on workshops on the developer experience and operator experience. It will conclude with a quiz, prizes and giveaways. The document discusses challenges with developing on Kubernetes and how Tanzu Application Platform aims to improve the developer experience with features like pre-configured templates, developer tools integration, rapid iteration and centralized management.
The Tanzu Developer Connect is a hands-on workshop that dives deep into TAP. Attendees receive a hands on experience. This is a great program to leverage accounts with current TAP opportunities.
The Tanzu Developer Connect is a hands-on workshop that dives deep into TAP. Attendees receive a hands on experience. This is a great program to leverage accounts with current TAP opportunities.
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023VMware Tanzu
This document discusses simplifying and scaling enterprise Spring applications in the cloud. It provides an overview of Azure Spring Apps, which is a fully managed platform for running Spring applications on Azure. Azure Spring Apps handles infrastructure management and application lifecycle management, allowing developers to focus on code. It is jointly built, operated, and supported by Microsoft and VMware. The document demonstrates how to create an Azure Spring Apps service, create an application, and deploy code to the application using three simple commands. It also discusses features of Azure Spring Apps Enterprise, which includes additional capabilities from VMware Tanzu components.
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootVMware Tanzu
The document discusses 15 factors for building cloud native applications with Kubernetes based on the 12 factor app methodology. It covers factors such as treating code as immutable, externalizing configuration, building stateless and disposable processes, implementing authentication and authorization securely, and monitoring applications like space probes. The presentation aims to provide an overview of the 15 factors and demonstrate how to build cloud native applications using Kubernetes based on these principles.
SpringOne Tour: The Influential Software EngineerVMware Tanzu
The document discusses the importance of culture in software projects and how to influence culture. It notes that software projects involve people and personalities, not just technology. It emphasizes that culture informs everything a company does and is very difficult to change. It provides advice on being aware of your company's culture, finding ways to inculcate good cultural values like writing high-quality code, and approaches for influencing decision makers to prioritize culture.
SpringOne Tour: Domain-Driven Design: Theory vs PracticeVMware Tanzu
This document discusses domain-driven design, clean architecture, bounded contexts, and various modeling concepts. It provides examples of an e-scooter reservation system to illustrate domain modeling techniques. Key topics covered include identifying aggregates, bounded contexts, ensuring single sources of truth, avoiding anemic domain models, and focusing on observable domain behaviors rather than implementation details.
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
3. Concourse Sessions @S1P
PKS Automation Station...All Aboard: Enabling
Team Access to PKS with a Concourse Pipeline
(Dick’s Sporting Goods)
Tuesday, 11:30am–12:40pm, Ballroom E
Deploy on Friday!
Tuesday, 11:30am–12:40pm, Ballroom F
Square Pegs, Square Holes: CI/CD That Fits
Tuesday. 3:20pm–3:50pm, 15AB
The Continuous Platform (Cerner)
Tuesday, 5:40pm–6:10pm, 15AB
General Motors In-Vehicle App Store and
Personalization Case Study (General Motors)
Tuesday, 5:40pm–6:10pm, 17AB
Accelerating the Developers’ Road to the Cloud
at Enterprise Scale (Fidelity Investments)
Wednesday, 11:30am–12:40pm, 17AB
SDLC for Pivotal Platform, Powered by Spring
Initializr, Concourse, and Spinnaker (Fiserv)
Wednesday, 4:20pm–5:30pm, 15AB
4. Pivotal Concourse 5.5.3 GA + Helm Chart Support
Supported Helm Deployment
● Pivotal Concourse team officially maintains
and supports Concourse Helm Chart for our
enterprise customers
● Deployment validated with “Hush
House”—the environment for observing,
maintaining, and operating Concourse on
Pivotal Container Service at scale
● Available as download on PivNet
Key Feature Updates for 5.5.3
● Performance boost from improved volume
streaming compression with Zstandard
● Better auditability with improved user
session and event tracking
● UI refinements like sticky step headers that
enables you to keep track of place
● New Super admin role: broader, more
efficient access to permissions across teams
● Automated support for Let’sEncrypt SSL/TLS
certificates
● Backup & recovery reliability and
configuration improvements
32. Volumes
Container Volumes
● The workers file system (e.g. mounting CA certs from the worker)
Resource-type Volumes
● Bundled with the Concourse binary
● Downloaded from Docker Hub or another image registry
37. How long do check containers exist?
Check containers exist for one hour and are then recreated.
38. How long do check containers exist?
Check containers exist for one hour and are then recreated.
Why?
39. How long do check containers exist?
Check containers exist for one hour and are then recreated.
Why?
1. Resources are checked every 1min by default
40. How long do check containers exist?
Check containers exist for one hour and are then recreated.
Why?
1. Resources are checked every 1min by default
2. Don’t want to overload one worker with too many check containers
81. Why Concourse Keeps Containers From Failed Jobs
● We don’t know when people will be able to debug a failed job
● What if the job triggered on the weekend?
The user will want to look at the containers on Monday
96. Build Log Retention
• Can set build log retention at the:
• Web node level, affecting all pipelines
• At the job level, set by users in their pipeline configuration
106. Garbage Collector
Two-step asynchronous process:
1. Web node figures out what containers and volumes can be deleted based on
ownership
2. Worker deletes what the web node tells it to
147. Concourse Sessions @S1P
PKS Automation Station...All Aboard: Enabling
Team Access to PKS with a Concourse Pipeline
(Dick’s Sporting Goods)
Tuesday, 11:30am–12:40pm, Ballroom E
Deploy on Friday!
Tuesday, 11:30am–12:40pm, Ballroom F
Square Pegs, Square Holes: CI/CD That Fits
Tuesday. 3:20pm–3:50pm, 15AB
The Continuous Platform (Cerner)
Tuesday, 5:40pm–6:10pm, 15AB
General Motors In-Vehicle App Store and
Personalization Case Study (General Motors)
Tuesday, 5:40pm–6:10pm, 17AB
Accelerating the Developers’ Road to the Cloud
at Enterprise Scale (Fidelity Investments)
Wednesday, 11:30am–12:40pm, 17AB
SDLC for Pivotal Platform, Powered by Spring
Initializr, Concourse, and Spinnaker (Fiserv)
Wednesday, 4:20pm–5:30pm, 15AB