Presentation by Steve Woodruff
The story of how SpareFoot broke up its monolithic application into micro services, deployed Docker into production, and established a "contract" between Dev and Ops.
2016 - Serverless Microservices on AWS with API Gateway and Lambdadevopsdaysaustin
Presentation by Matt Barlow
Someone just gave you an idea for a new microservice. How quickly can you build it?
Using Swagger, API Gateway, and Lambda, we'll go from idea to HTTP response with just a few edits. We'll look at how Swagger can auto generate our API Gateway service, docs, client libraries, monitors, and tests, saving us a ton of work. We'll make code changes, version them in Lambda, and evaluate them with curl or Postman in seconds.
Amazon API Gateway helps developers create and manage APIs to connect backend systems like EC2 and Lambda to mobile, web, and server applications. An API in API Gateway consists of resources and methods. Resources represent logical entities that can be accessed via HTTP verbs like GET and POST. Methods map API requests to integrations with backend systems. API Gateway handles request/response mapping and provides benefits like monitoring, security controls, and scalability without servers. Pricing is based on monthly API calls and data transfer. Caching can reduce costs for frequently requested data.
Why your next serverless project should use AWS AppSyncYan Cui
In this webinar, Yan Cui and Lumigo Software Engineer Guy Moses will discuss some of the power of GraphQL and AppSync and why AppSync + Lambda + DynamoDB should be your stack of choice in 2021 and beyond!
AWS Lambda from the trenches (Serverless London)Yan Cui
AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
In this talk Yan will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.
This document discusses Docker and Java. It provides an agenda that includes Docker fundamentals, running Java applications in containers, a Hello World example from a Java container, deploying a SpringBoot app in a container, and multi-container deployments. It also discusses extras like CI/CD on premises vs cloud-based deployment and interacting with Docker from Java applications.
This document provides an overview of using Docker containers on Amazon Web Services (AWS). It discusses the benefits of containers, how Amazon ECS provides container management and scheduling capabilities, and how to run containerized services on ECS. Key points covered include how ECS handles resource management and scheduling across a cluster, its use of APIs, tasks, services, load balancing, and updating deployments. The document concludes with a reminder to complete an evaluation.
AWS Lambda and Serverless framework: lessons learned while building a serverl...Luciano Mammino
The document discusses lessons learned from building a serverless company. It introduces Planet 9 Energy and their use of AWS Lambda and the Serverless framework. Key topics covered include security, quality assurance, developer experience, costs, and lessons learned. Some challenges discussed are debugging, API Gateway custom domains, and Lambda limitations. The document emphasizes that serverless architectures provide infinite scalability at low cost but also have some limitations that require management.
The document discusses serverless architecture patterns. It outlines some core principles of serverless including using functions as the unit of deployment, automatic scaling per request, keeping functions stateless, and designing functions to do a single task. The document then lists several key patterns for serverless applications on AWS and Azure, including for web applications, batch processing, stream processing, event-driven automation, and more. Links are provided to slideshows with further information on these patterns.
From AUI to Atlaskit - Streamlining Development for Server & Cloud AppsAtlassian
So, you have a Server App developed with Atlassian User Interface (AUI) and now want to know how to transition it to Atlaskit. Do you also want to move it to Cloud and re-use the UI without massive headaches?
Naiara Martin, of Comalatech, has been there, done that.
Open stack ocata summit enabling aws lambda-like functionality with openstac...Shaun Murakami
Presentation delivered at the OpenStack summit Barcelona 2016.
https://www.openstack.org/videos/video/enabling-aws-s3-lambda-like-functionality-with-openstack-swift-and-openwhisk
Does the concept of server-less architecture intrigue you? OpenWhisk (https://git.io/vKeu3) accelerates innovation through creative chaining of microservices into highly scalable applications. By abstracting away infrastructure, OpenWhisk frees small teams to rapidly work on independent pieces of code simultaneously, keeping development focused solely on creating essential business logic. OpenWhisk allows you to create rules to connect events with actions and compose microservices that get executed independently and in parallel.
With a bit of code, you can have OpenWhisk process events from your Swift Object Storage; similar to what you can do with Lambda functions and AWS S3 storage. As an example, we will demonstrate how you can create an OpenWhisk action to transform an image into a thumbnail whenever a new (larger) image is uploaded into a Swift Container.
The document summarizes recent evolutions to the Bullhorn REST API including enhancements to authentication, new entities, and SDKs to simplify front-end development. Key points include:
- Authentication was simplified to directly retrieve an auth code from customizations or get the access token in two steps.
- New entities like billable charges and invoice statements were added to support the Bullhorn One time tracking and invoicing workflows.
- Entities can now have effective dates to support updating values over time.
- The Taurus JavaScript SDK and Bullhorn types library make querying data and building the front-end easier through features like auto-caching and reactive programming.
- Custom cards can be built
Screencast dave dev-introtoask-andecho-july2015David Isbitski
This document introduces Amazon Echo and the Alexa Skills Kit (ASK). It discusses how Alexa is the cloud service used by Echo devices and how the ASK allows developers to build new voice experiences for Echo using skills. It provides an overview of the Alexa architecture and how skills are built with configuration data and a hosted service. It also demonstrates configuring a new skill and building a sample skill using JavaScript and Node.js.
Cooking your Ravioli "al dente" with Hexagonal ArchitectureJeroen Rosenberg
Hexagonal architecture (a.k.a. ports and adapters) is a fancy name for designing your application in a way that the core domain is separated from the outside world by input and output ports. With a little bit of imagination one can visualise this as a hexagon made up of domain objects, use cases that operate on them, and input and output ports that provide an interface to the outside world.
Many projects involve integration or communication with external software systems. Think of databases, 3rd party services, but also application platforms or SDKs. Such integrations and dependencies can quickly get in your way, clutter your core domain and reduce the testability of your core business logic. In this talk, I will demonstrate how a hexagonal architecture helps you to reduce dependencies on external software systems and enables you to apply standard software engineering best practices on the core domain of your application, such as testability, separation of concerns, and reusability.
Join this talk to learn the ins and outs (pun intended) of the hexagonal architecture paradigm and get practical advice and examples to apply to your software projects right away!
This document discusses serverless architectures using AWS Lambda. It provides an overview of serverless computing and AWS Lambda, outlines some common use cases and challenges at OpsGenie, and describes their serverless technology stack. Some key points include:
- AWS Lambda allows running code without managing servers and only paying for the compute time used
- OpsGenie uses AWS Lambda along with other serverless AWS services like DynamoDB, S3, and API Gateway for various use cases including reporting, indexing data to Elasticsearch, and a service management pilot
- Challenges of using serverless include Java cold starts, proper monitoring without agents, and deployment processes
A brief 30 minute tutorial on Spring Cloud Service Discovery - Centralized, distributed service registration and discovery mechanism. Helps you quickly get started with Services discovery concept and framework provisioned by Spring Cloud Netflix module which is very well known as 'Eureka'.
How to Build a Big Data Application: Serverless EditionLecole Cole
How to Build a Big Data Application: Serverless Edition
Come learn how do build, launch, and scale a Big Data application in a serverless context. This is going to be an information packed meetup around Big Data processing, Lambda functions, Lambda Step functions, and everything that ties them together.
Web components allow developers to create reusable custom elements with encapsulated styles and markup. They include APIs for custom elements, shadow DOM, and HTML templates. Web components solve challenges like maintaining a consistent and unified UI across frameworks. Common problems are addressed through standards like custom elements, shadow DOM, and templates. Web components are supported across major browsers and offer benefits like portability, isolated styles, and execution speed.
Rails 5 – most effective features for apps upgradationAndolasoft Inc
Rails 5 introduces several new features that improve the development experience, including Action Cable for real-time functionality, Turbolinks 5 for faster page loads, and the ability to generate API-only applications. It also upgrades dependencies like Ruby to version 2.2+ and ActiveRecord, adding features like where.or queries and required belongs_to associations. Overall, Rails 5 contains many upgrades that enhance performance and functionality for building web applications.
API-based client/server applications with TDD and ActiveResource
github: http://github.com/wolframarnold/tdd_with_activeresource
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructuredevopsdaysaustin
The document discusses the need for hybrid infrastructure and hybrid DevOps to manage different cloud platforms and physical infrastructure in a consistent way. It notes that while no single API or platform can meet all needs, AWS dominance means its operational patterns have become the benchmark. The key is developing composable infrastructure modules that can be orchestrated together to provide portability across environments using a common operational process.
2016 - Safely Removing the Last Roadblock to Continuous Deliverydevopsdaysaustin
Presentation by Shannon Lietz
Software needs to be awesome, resilient, available and “secure”, but Security has long been a big roadblock to fast deployments and software improvement. What if it wasn’t?
Continuous delivery requires operational functions to shift left and for an iterative approach to be taken. Security has not been easy to shift left and taking an iterative approach requires everyone to take responsibility. With a continuos security approach and everyone in the Software Supply Chain taking on the tasks of including security, its possible to achieve Rugged Software. This talk aims to provide a journey towards this approach and provide the path.
Software needs to be awesome, resilient, available and “secure”, but Security has long been a big roadblock to fast deployments and software improvement. What if it wasn’t?
Continuous delivery requires operational functions to shift left and for an iterative approach to be taken. Security has not been easy to shift left and taking an iterative approach requires everyone to take responsibility. With a continuos security approach and everyone in the Software Supply Chain taking on the tasks of including security, its possible to achieve Rugged Software. This talk aims to provide a journey towards this approach and provide the path.
Continuous Acceleration: Why Continuous Everything Needs A Supply Chain Approach - by @joshcorman
Today we write less code & consume more re-usable open source code. Innovation accelerates & complexity grows. Complexity is the enemy of quality. Poor quality creates break-fixes & slows dev. It’s a continuous loop.
Learn about software supply chain management strategies to accelerate delivery: scrutinize your 'suppliers,' minimize risk & bloat, and improve traceability, visibility & response times.
Draws upon work from:
@iamthecavalry https://www.iamthecavalry.org
@RuggedSoftware https://www.ruggedsoftware.org
@gauntlt
@RuggedDevOps
@RealGeneKim https://www.itrevolution.com The PhoenixProject
@JezHumble
2016 - IGNITE - ChatOps for Developers and Everyone Else, Toodevopsdaysaustin
Ignite Presentation by Lee Fox
ChatOps isn't just for Operations. With just a little outside thinking, other disciplines within a company can make great use of ChatOps, too. That's what I'll be giving ideas on how this can happen.
The document discusses serverless architecture patterns. It outlines some core principles of serverless including using functions as the unit of deployment, automatic scaling per request, keeping functions stateless, and designing functions to do a single task. The document then lists several key patterns for serverless applications on AWS and Azure, including for web applications, batch processing, stream processing, event-driven automation, and more. Links are provided to slideshows with further information on these patterns.
From AUI to Atlaskit - Streamlining Development for Server & Cloud AppsAtlassian
So, you have a Server App developed with Atlassian User Interface (AUI) and now want to know how to transition it to Atlaskit. Do you also want to move it to Cloud and re-use the UI without massive headaches?
Naiara Martin, of Comalatech, has been there, done that.
Open stack ocata summit enabling aws lambda-like functionality with openstac...Shaun Murakami
Presentation delivered at the OpenStack summit Barcelona 2016.
https://www.openstack.org/videos/video/enabling-aws-s3-lambda-like-functionality-with-openstack-swift-and-openwhisk
Does the concept of server-less architecture intrigue you? OpenWhisk (https://git.io/vKeu3) accelerates innovation through creative chaining of microservices into highly scalable applications. By abstracting away infrastructure, OpenWhisk frees small teams to rapidly work on independent pieces of code simultaneously, keeping development focused solely on creating essential business logic. OpenWhisk allows you to create rules to connect events with actions and compose microservices that get executed independently and in parallel.
With a bit of code, you can have OpenWhisk process events from your Swift Object Storage; similar to what you can do with Lambda functions and AWS S3 storage. As an example, we will demonstrate how you can create an OpenWhisk action to transform an image into a thumbnail whenever a new (larger) image is uploaded into a Swift Container.
The document summarizes recent evolutions to the Bullhorn REST API including enhancements to authentication, new entities, and SDKs to simplify front-end development. Key points include:
- Authentication was simplified to directly retrieve an auth code from customizations or get the access token in two steps.
- New entities like billable charges and invoice statements were added to support the Bullhorn One time tracking and invoicing workflows.
- Entities can now have effective dates to support updating values over time.
- The Taurus JavaScript SDK and Bullhorn types library make querying data and building the front-end easier through features like auto-caching and reactive programming.
- Custom cards can be built
Screencast dave dev-introtoask-andecho-july2015David Isbitski
This document introduces Amazon Echo and the Alexa Skills Kit (ASK). It discusses how Alexa is the cloud service used by Echo devices and how the ASK allows developers to build new voice experiences for Echo using skills. It provides an overview of the Alexa architecture and how skills are built with configuration data and a hosted service. It also demonstrates configuring a new skill and building a sample skill using JavaScript and Node.js.
Cooking your Ravioli "al dente" with Hexagonal ArchitectureJeroen Rosenberg
Hexagonal architecture (a.k.a. ports and adapters) is a fancy name for designing your application in a way that the core domain is separated from the outside world by input and output ports. With a little bit of imagination one can visualise this as a hexagon made up of domain objects, use cases that operate on them, and input and output ports that provide an interface to the outside world.
Many projects involve integration or communication with external software systems. Think of databases, 3rd party services, but also application platforms or SDKs. Such integrations and dependencies can quickly get in your way, clutter your core domain and reduce the testability of your core business logic. In this talk, I will demonstrate how a hexagonal architecture helps you to reduce dependencies on external software systems and enables you to apply standard software engineering best practices on the core domain of your application, such as testability, separation of concerns, and reusability.
Join this talk to learn the ins and outs (pun intended) of the hexagonal architecture paradigm and get practical advice and examples to apply to your software projects right away!
This document discusses serverless architectures using AWS Lambda. It provides an overview of serverless computing and AWS Lambda, outlines some common use cases and challenges at OpsGenie, and describes their serverless technology stack. Some key points include:
- AWS Lambda allows running code without managing servers and only paying for the compute time used
- OpsGenie uses AWS Lambda along with other serverless AWS services like DynamoDB, S3, and API Gateway for various use cases including reporting, indexing data to Elasticsearch, and a service management pilot
- Challenges of using serverless include Java cold starts, proper monitoring without agents, and deployment processes
A brief 30 minute tutorial on Spring Cloud Service Discovery - Centralized, distributed service registration and discovery mechanism. Helps you quickly get started with Services discovery concept and framework provisioned by Spring Cloud Netflix module which is very well known as 'Eureka'.
How to Build a Big Data Application: Serverless EditionLecole Cole
How to Build a Big Data Application: Serverless Edition
Come learn how do build, launch, and scale a Big Data application in a serverless context. This is going to be an information packed meetup around Big Data processing, Lambda functions, Lambda Step functions, and everything that ties them together.
Web components allow developers to create reusable custom elements with encapsulated styles and markup. They include APIs for custom elements, shadow DOM, and HTML templates. Web components solve challenges like maintaining a consistent and unified UI across frameworks. Common problems are addressed through standards like custom elements, shadow DOM, and templates. Web components are supported across major browsers and offer benefits like portability, isolated styles, and execution speed.
Rails 5 – most effective features for apps upgradationAndolasoft Inc
Rails 5 introduces several new features that improve the development experience, including Action Cable for real-time functionality, Turbolinks 5 for faster page loads, and the ability to generate API-only applications. It also upgrades dependencies like Ruby to version 2.2+ and ActiveRecord, adding features like where.or queries and required belongs_to associations. Overall, Rails 5 contains many upgrades that enhance performance and functionality for building web applications.
API-based client/server applications with TDD and ActiveResource
github: http://github.com/wolframarnold/tdd_with_activeresource
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructuredevopsdaysaustin
The document discusses the need for hybrid infrastructure and hybrid DevOps to manage different cloud platforms and physical infrastructure in a consistent way. It notes that while no single API or platform can meet all needs, AWS dominance means its operational patterns have become the benchmark. The key is developing composable infrastructure modules that can be orchestrated together to provide portability across environments using a common operational process.
2016 - Safely Removing the Last Roadblock to Continuous Deliverydevopsdaysaustin
Presentation by Shannon Lietz
Software needs to be awesome, resilient, available and “secure”, but Security has long been a big roadblock to fast deployments and software improvement. What if it wasn’t?
Continuous delivery requires operational functions to shift left and for an iterative approach to be taken. Security has not been easy to shift left and taking an iterative approach requires everyone to take responsibility. With a continuos security approach and everyone in the Software Supply Chain taking on the tasks of including security, its possible to achieve Rugged Software. This talk aims to provide a journey towards this approach and provide the path.
Software needs to be awesome, resilient, available and “secure”, but Security has long been a big roadblock to fast deployments and software improvement. What if it wasn’t?
Continuous delivery requires operational functions to shift left and for an iterative approach to be taken. Security has not been easy to shift left and taking an iterative approach requires everyone to take responsibility. With a continuos security approach and everyone in the Software Supply Chain taking on the tasks of including security, its possible to achieve Rugged Software. This talk aims to provide a journey towards this approach and provide the path.
Continuous Acceleration: Why Continuous Everything Needs A Supply Chain Approach - by @joshcorman
Today we write less code & consume more re-usable open source code. Innovation accelerates & complexity grows. Complexity is the enemy of quality. Poor quality creates break-fixes & slows dev. It’s a continuous loop.
Learn about software supply chain management strategies to accelerate delivery: scrutinize your 'suppliers,' minimize risk & bloat, and improve traceability, visibility & response times.
Draws upon work from:
@iamthecavalry https://www.iamthecavalry.org
@RuggedSoftware https://www.ruggedsoftware.org
@gauntlt
@RuggedDevOps
@RealGeneKim https://www.itrevolution.com The PhoenixProject
@JezHumble
2016 - IGNITE - ChatOps for Developers and Everyone Else, Toodevopsdaysaustin
Ignite Presentation by Lee Fox
ChatOps isn't just for Operations. With just a little outside thinking, other disciplines within a company can make great use of ChatOps, too. That's what I'll be giving ideas on how this can happen.
2016 - Fail Proof Ways to Run Beautiful Tests Regardless Of Browser Choicedevopsdaysaustin
Presentation by Kevin Berg
This talk will discuss how access to cloud-based Selenium Grids makes it easier than ever to run functional test suites in every imaginable operating system and browser combination. Join Dr. Kevin Berg of Sauce Labs as he shares hands-on insight into ways you can optimize your tests for cross-browser functional testing.This talk will discuss how access to cloud-based Selenium Grids makes it easier than ever to run functional test suites in every imaginable operating system and browser combination. Join Dr. Kevin Berg of Sauce Labs as he shares hands-on insight into ways you can optimize your tests for cross browser functional testing.
This document traces the evolution of DevOps from its origins to increasingly specialized and expanded forms over time. It starts with "RIP DevOps" and a headstone picture, then lists Twitter handles incorporating terms like "Agile Infrastructure", "Cloud", "Developers Operating", and "Operators Developing". These eventually expand into longer terms incorporating additional concerns from different parts of organizations like "Enterprise", "Legal", "HR", "Finance", "Security", "Networking", "Government", and "Customers". The document concludes that DevOps is now a cultural movement focused on building high velocity organizations, and that everyone can be considered DevOps practitioners as specialists working together across roles.
2016 - IGNITE - 17th Century Shipbuild and Your Failed Software Projectdevopsdaysaustin
Ignite presentation by Pete Cheslock
The Vasa is a 17th century warship built which failed dramatically after launch. Learn how the process of building this ship parallels software engineering projects.
2016 - DevOpsDays Austin Keynote - 2016 State of DevOpsdevopsdaysaustin
The document discusses the state of DevOps. It outlines proven benefits of DevOps like fewer failures and faster recovery times. Continuous delivery and lean practices directly correlate with high-performing IT organizations. Several large companies like Ticketmaster, Target, and HP have seen success adopting DevOps. The year ahead will see changes to configuration management, immutable delivery, service orchestration, serverless apps, and unikernels. Adopting DevOps, lean practices, and security together remains a challenge that requires cultural changes and an entire organization's commitment.
DevOpsDays Austin: Helping Horses Become Unicorns, Chef's Operations Maturity...Matt Ray
This document outlines Chef's Operations Maturity Model, which provides a roadmap for organizations to improve their operational maturity and move from being like horses to being like unicorns (highly automated and resilient). It discusses key areas of operational maturity like hardware management, operating system management, incident management, and postmortem analysis. Each area is broken down into levels of maturity from ad-hoc processes to fully automated continuous delivery. The goal is to help organizations understand where they are at and identify steps to improve areas like mean time to recovery and time to production. Ultimately, adopting the right culture is emphasized as more important than any specific technologies.
2016 - IGNITE - Terraform to go from Zero to Prod in less than 1 month and TH...devopsdaysaustin
Ignite Presentation by Satish Kumar
This talk will
- describe how Kasasa used Terraform to build our Enterprise Datawarehouse infrastructure in AWS.
- what we learned as more teams used Terraform.
Scaling a Start-up DevOps team to 10x while scaling the system 50x Stefan Zier
Sumo Logic has built a strong DevOps culture. All our back-end developers are on the on-call rotation, taking responsibility for running the system 24/7 and rolling out new code multiple times a week. This talk is about how we successfully grew that culture. The lessons learned, things that worked, things that didn’t. How our culture has evolved.
2016 - IGNITE - The Cynefin Model for Operational Transformationdevopsdaysaustin
Ignite Presentation by Dave Mangot
The Cynefin Framework gives us a model for describing and categorizing problems especially in the realm of chaotic or complex adaptive systems. In this talk, we'll share some observations about how you can use this to mature the operations practice at your organization.
Devopsdays Austin 2015 - Guns, Germs and MicroservicesJohn Willis
Abstract:
This presentation is loosely based on Jared Diamonds Pulitzer Prize winning nonfiction "Guns, Germs, and Steel: The Fates of Human Societies". The concept that certain gaps in power and technology between human societies originate in environmental differences, which are amplified by various positive feedback loops.
In this presentation we will first level set on the core definitions of Containers and Microservices. We will also discuss another technology called Data Gravity and how the convergence of the three will create a positive feedback loop that will change how we do computing. Of course, Devops and culture will be a core theme to this presentation and an attempt will be made to conclude a consistent tie back to the aforementioned title of this presentation.
2016 - Orchestrating multi-container apps: How I came to love the poddevopsdaysaustin
Presentation by Bill Maxwell
In this presentation we will look at running microservices using Docker and Rancher. We provide a brief overview of microservices - what is a microservice, how does it differentiate from your traditional monolithic application, and how do you use containers to manage these micro services. From there, we will demonstrate a real world example of deploying a service while at the same time addressing CI/CD, configuration management, orchestration, health checks, metadata services, service discovery, load balancing, DNS and other tools. We will discuss Docker Swarm and Kuberenetes, and best practices around monitoring, logging and operations.
These slides do not particularly mirror the content of the talk and are largely meant to play a humorous counterpoint to an exciting story of a small firefighting ops team trying to bring the devops koolaid to a municipal government IT shop. BMC sponsored video for all DevOpsDays Austin 2014 talks, so there will be an opportunity to watch all the talks at some point in the future.
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...DynamicInfraDays
Slides from Patrick Mizer & Steve Woodruff's talk "Easing Your Way Into Docker: Lessons From a Journey to Production" at ContainerDays NYC 2015: http://dynamicinfradays.org/events/2015-nyc/programme.html#sparefoot
This document summarizes a company's journey to implementing Docker containers in production. It begins with using Docker in hackathons and development environments. Early production uses involved deploying individual services as containers but lacked orchestration. They then tried microservices and deploying to a self-hosted registry, which had stability issues. They eventually selected Rancher for orchestration and Quay.io for the registry. Secret configuration is managed using SaltStack pillars. Templating allows a single docker-compose file across environments. Rancher-compose is used to deploy versions to environments and roll back if needed. This overcomes earlier challenges and provides a smooth path to containerized microservices in production.
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationErica Windisch
This document summarizes Docker's growth over 15 months, including its community size, downloads, projects on GitHub, enterprise support offerings, and the Docker platform which includes the Docker Engine, Docker Hub, and partnerships. It also provides overviews of key Docker technologies like libcontainer, libchan, libswarm, and how images work in Docker.
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.
This document discusses containers and container orchestration on Azure. It begins with an introduction to containers and their advantages over virtual machines. It then covers building Dockerfiles, container commands, and hosting container registries and applications on Azure. Container orchestration with Kubernetes is discussed as a way to deploy and scale containerized applications on the cloud, providing capabilities like auto-scaling, self-healing, service discovery and load balancing. The document points to additional future content on using Azure Kubernetes Service.
You might (or might not) have heard of Docker. But you have no idea what it is and why you should care. But if you are a database or APEX developer and still work with Virtual Machines, it is about time to broaden your horizon.
In this session you'll learn what Docker is and how you can benefit from it in your daily work.
In this presentation we will walk through the following subjects:
- What is Docker
- Where do I get my images
- Pull an image
- Start a Docker container / Stop / Restart
- Use a Docker container for APEX Development : Via the browser, SQL Developer, SQL Plus, etc
- Make host directories accessible within the container
- Use scripts to modify the image or create your own one
Dockerize your Symfony application - Symfony Live NYC 2014André Rømcke
With the advent of docker it is now easier then ever to make sure you develop, test and deploy using the same environment, resulting in no more issues caused by differences or missing libraries. Talk will go into the basics of containers, docker, and showcase how you might setup a basic php + mysql environment for your symfony app.
https://joind.in/12188
Choosing the Right Framework for Running Docker Containers in ProdJosh Padnick
In this talk, I cover the key elements of running multiple Docker containers per VM, the major frameworks available to assist with this, and when to choose each.
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12dotCloud
Slides of the presentation by Ben Golub and Nick Stinemates. Video can be found here: https://www.youtube.com/watch?v=7VODU7Wr_fI
The document discusses using Docker containers with OpenStack to deploy applications. It begins with an introduction to Docker and its benefits. It then covers adding Docker support to the OpenStack Nova computing controller to deploy containers instead of virtual machines. The remainder demonstrates setting up DevStack to use Docker with OpenStack and shows examples of launching Docker containers through the OpenStack Horizon web interface.
This document discusses Anat Kisel's company SAW's usage of Docker for their DevOps processes. It covers how they use Docker for local developer environments, internal single node deployments, AWS deployments, and continuous integration builds. Docker helped solve challenges around complex infrastructure setup and long manual processes by standardizing environments and automating deployments. Their Docker workflow includes building images, running integration tests, and pushing images to internal and AWS repositories.
Docker - Demo on PHP Application deployment Arun prasath
Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.
In this demo, I will show how to build a Apache image from a Dockerfile and deploy a PHP application which is present in an external folder using custom configuration files.
The document provides an overview of containerization and Kubernetes. It discusses how containerization can help with software delivery, running polyglot applications, encapsulation, repeatability, provenance, and microservice architectures. It addresses common questions around containerizing applications and mapping application architectures to Kubernetes. It also highlights how OpenShift can help build containers, reuse Dockerfiles, and manage the Kubernetes lifecycle from development to production.
This document summarizes Docker, an open-source containerization platform. It discusses Docker's rapid growth since its launch 1 year prior, with over 370 contributors and 1 million downloads. Docker addresses the challenge of running applications across different environments by allowing applications and their dependencies to run in isolated containers that can be moved between servers. This eliminates inconsistencies between development and production environments. The document outlines benefits of Docker for developers, operations teams, and its role in microservices architecture.
ContainerDayVietnam2016: Dockerize a small businessDocker-Hanoi
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.
This presentation by Andrew Aslinger discusses best practices and pitfalls of integrating Docker into Continuous Delivery Pipelines. Learn how Andrew and his team used Docker to replace Chef to simplify their development and migration processes.
Slides from DockerCon SF 2015 –
Docker at Lyft: Speeding up development w/ Matthew Leventi
Talk description: Learn how Docker enables Lyft to increase developer productivity across our engineering organization. We'll go through a local development model that decreases our developer onboard time, and keeps our teams focused on delivering product goals. We'll also talk about how we use Docker to test changes to our servers and allow QA testing of our mobile clients. You'll come out of the talk with techniques and reasons for integrating docker not just in the cloud but also onto developer's laptops.
3 years ago, Meetic chose to rebuild it's backend architecture using microservices and an event driven strategy. As we where moving along our old legacy application, testing features became gradually a pain, especially when those features rely on multiple changes across multiple components. Whatever the number of application you manage, unit testing is easy, as well as functional testing on a microservice. A good gherkin framework and a set of docker container can do the job. The real challenge is set in end-to-end testing even more when a feature can involve up to 60 different components.
To solve that issue, Meetic is building a Kubernetes strategy around testing. To do such a thing we need to :
- Be able to generate a docker container for each pull-request on any component of the stack
- Be able to create a full testing environment in the simplest way
- Be able to launch automated test on this newly created environment
- Have a clean-up process to destroy testing environment after tests To separate the various testing environment, we chose to use Kubernetes Namespaces each containing a variant of the Meetic stack. But when it comes to Kubernetes, managing multiple namespaces can be hard. Yaml configuration files need to be shared in a way that each people / automated job can access to them and modify them without impacting others.
This is typically why Meetic chose to develop it's own tool to manage namespace through a cli tool, or a REST API on which we can plug a friendly UI.
In this talk we will tell you the story of our CI/CD evolution to satisfy the need to create a docker container for each new pull request. And we will show you how to make end-to-end testing easier using Blackbeard, the tool we developed to handle the need to manage namespaces inspired by Helm.
1) The document discusses Docker containers and provides an introduction to Docker concepts like building images, running containers, storage, networking and linking containers.
2) It includes an agenda for the Docker 101 session which covers container basics, building images, storage, networking and a demo of images, building and networking modes.
3) Examples and exercises are provided around building an image, pushing to a registry, running containers with volumes, linking and networking.
2016 - Open Mic - IGNITE - The Power of #DadOps for women in techdevopsdaysaustin
This document discusses how fathers and male relatives can help encourage women in tech through #DadOps. It suggests that dads can share personal projects and help their daughters iterate through failures. By involving daughters in technical hobbies and letting them explore technology at home, dads can help girls gain confidence in their technical abilities at a young age. Debating ideas and communicating effectively can also help prepare girls for technical fields where they may be in the minority.
This document introduces Shaun Mouton, who works in operations at Kasasa and previously worked as a busboy. It provides Shaun's Twitter handle and links to two websites, tirefi.re and tirefir.es, as well as a GitHub page where pull requests are accepted. Shaun notes being busy breaking things and moving fast but provides a link to another site, clownsho.es, for a CZ shot.
2016 - IGNITE - An ElasticSearch Cluster Named George Armstrong Custerdevopsdaysaustin
Ignite Presentation by Will Button
The Battle of Little Big Horn is over, but Custer's work isn't done. Attend this Ignite Session and learn the tale of an Elasticsearch cluster named Custer and all the lessons George Armstrong Custer can teach you about scaling, monitoring and troubleshooting your elasticsearch cluster.
Ignite Presentation by Boyd Hemphill
Are you an asshole? Do you put up with assholes? Tired of assholery? Inspired by the book, "The No Asshole Rule" by Robert Sutton, you can take the pledge to build a better DevOps Culture.
Ignite Presentation by Derek E. Weeks
Pictures help describe how we work, how our work flows, and what’s actually flowing where. I'll share insights from 31 DevOps and Continuous Delivery real-world reference architectures that have been key to building DevOps empathy -- when it’s not about people and who screwed up...it’s about a picture of a system that works great or needs improvement.
2016 - You Don't Belong Here: Dealing with Impostor Syndromedevopsdaysaustin
Presentation by Jody Wolfborn
An estimated 70% of people will experience Impostor Syndrome at some point in their lives, despite having objective evidence of success in their field, sometimes in copious amounts. People in all fields of work experience pervasive psychological distress, believing that they are intellectual frauds and fearing being recognized as impostors. The objective of this presentation is to provide relief to those suffering from Impostor Syndrome by analyzing possible sources of this distress, exploring tactics to overcome these feelings, and recognizing that we have a community of peers sharing the same experience.
Presentation by Matt Ray
Compliance and security are the next steps after Infrastructure as Code and Test-Driven Infrastructure in expanding your DevOps workflow. Chef's open-source InSpec and audit cookbooks provide an accessible pattern for building compliance into your continuous delivery pipelines.
2016 - IGNITE - Being an introvert and at a conference, not as hellish as you...devopsdaysaustin
Ignite presentation by JJ Asghar
I'd like to give some advice on how to deal with conferences as an introvert.
Over the last couple years I've grown and learned to engage with the tech community in ways that an introvert would find challenging.
2016 - The Ops Must Be Crazy - Hack Your Team's Ops Culture With One Weird Trickdevopsdaysaustin
Presentation by Nick Silkey
The habits of highly effective operations are so very real. This talk aims to showcase strategies for succeeding at hacking your product team's culture in order to get all on the team to value operations and working towards 'simply shipping, every time' without sacrificing velocity. Hear tips and tactics for how behaviors helped influence the cultural transformation of a product team which now values and takes steps towards operational stability.
2016 - DevOps Meets APIs - Model once. Benefit everywhere.devopsdaysaustin
Presentation by Marc MacLeod
Models are a critical for DevOps. Without models, collaboration, automation, and process improvement across the organization is slow and expensive. API models are emerging as a way to address these problems.
2016 - Continuously Delivering Microservices in Kubernetes using Jenkinsdevopsdaysaustin
The document discusses continuous integration and delivery (CI/CD) workflows using Kubernetes and Jenkins. It describes using Jenkins to automate the process of building, testing, and deploying code changes to Kubernetes clusters. The workflow includes steps for continuous integration testing, deploying to staging environments, and approving deployments to production with manual approval gates. It provides examples of implementing the workflow using a Jenkinsfile and Kubernetes resources like deployments.
2016 - 10 questions you should answer before building a new microservicedevopsdaysaustin
Session Presentation by Brian Kelly
Microservices appear simple to build on the surface, but there's more to creating them than just launching some code running in a container. This talk outlines 10 important questions that should be answered about any new microservice before development begins on it - - and certainly before it gets deployed into production.
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfTechSoup
In this webinar we will dive into the essentials of generative AI, address key AI concerns, and demonstrate how nonprofits can benefit from using Microsoft’s AI assistant, Copilot, to achieve their goals.
This event series to help nonprofits obtain Copilot skills is made possible by generous support from Microsoft.
What You’ll Learn in Part 2:
Explore real-world nonprofit use cases and success stories.
Participate in live demonstrations and a hands-on activity to see how you can use Microsoft 365 Copilot in your own work!
Societal challenges of AI: biases, multilinguism and sustainabilityJordi Cabot
Towards a fairer, inclusive and sustainable AI that works for everybody.
Reviewing the state of the art on these challenges and what we're doing at LIST to test current LLMs and help you select the one that works best for you
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Versionsaimabibi60507
Copy & Past Link👉👉
https://dr-up-community.info/
Pixologic ZBrush, now developed by Maxon, is a premier digital sculpting and painting software renowned for its ability to create highly detailed 3D models. Utilizing a unique "pixol" technology, ZBrush stores depth, lighting, and material information for each point on the screen, allowing artists to sculpt and paint with remarkable precision .
🌍📱👉COPY LINK & PASTE ON GOOGLE http://drfiles.net/ 👈🌍
Adobe Illustrator is a powerful, professional-grade vector graphics software used for creating a wide range of designs, including logos, icons, illustrations, and more. Unlike raster graphics (like photos), which are made of pixels, vector graphics in Illustrator are defined by mathematical equations, allowing them to be scaled up or down infinitely without losing quality.
Here's a more detailed explanation:
Key Features and Capabilities:
Vector-Based Design:
Illustrator's foundation is its use of vector graphics, meaning designs are created using paths, lines, shapes, and curves defined mathematically.
Scalability:
This vector-based approach allows for designs to be resized without any loss of resolution or quality, making it suitable for various print and digital applications.
Design Creation:
Illustrator is used for a wide variety of design purposes, including:
Logos and Brand Identity: Creating logos, icons, and other brand assets.
Illustrations: Designing detailed illustrations for books, magazines, web pages, and more.
Marketing Materials: Creating posters, flyers, banners, and other marketing visuals.
Web Design: Designing web graphics, including icons, buttons, and layouts.
Text Handling:
Illustrator offers sophisticated typography tools for manipulating and designing text within your graphics.
Brushes and Effects:
It provides a range of brushes and effects for adding artistic touches and visual styles to your designs.
Integration with Other Adobe Software:
Illustrator integrates seamlessly with other Adobe Creative Cloud apps like Photoshop, InDesign, and Dreamweaver, facilitating a smooth workflow.
Why Use Illustrator?
Professional-Grade Features:
Illustrator offers a comprehensive set of tools and features for professional design work.
Versatility:
It can be used for a wide range of design tasks and applications, making it a versatile tool for designers.
Industry Standard:
Illustrator is a widely used and recognized software in the graphic design industry.
Creative Freedom:
It empowers designers to create detailed, high-quality graphics with a high degree of control and precision.
F-Secure Freedome VPN 2025 Crack Plus Activation New Versionsaimabibi60507
Copy & Past Link 👉👉
https://dr-up-community.info/
F-Secure Freedome VPN is a virtual private network service developed by F-Secure, a Finnish cybersecurity company. It offers features such as Wi-Fi protection, IP address masking, browsing protection, and a kill switch to enhance online privacy and security .
Adobe Lightroom Classic Crack FREE Latest link 2025kashifyounis067
🌍📱👉COPY LINK & PASTE ON GOOGLE http://drfiles.net/ 👈🌍
Adobe Lightroom Classic is a desktop-based software application for editing and managing digital photos. It focuses on providing users with a powerful and comprehensive set of tools for organizing, editing, and processing their images on their computer. Unlike the newer Lightroom, which is cloud-based, Lightroom Classic stores photos locally on your computer and offers a more traditional workflow for professional photographers.
Here's a more detailed breakdown:
Key Features and Functions:
Organization:
Lightroom Classic provides robust tools for organizing your photos, including creating collections, using keywords, flags, and color labels.
Editing:
It offers a wide range of editing tools for making adjustments to color, tone, and more.
Processing:
Lightroom Classic can process RAW files, allowing for significant adjustments and fine-tuning of images.
Desktop-Focused:
The application is designed to be used on a computer, with the original photos stored locally on the hard drive.
Non-Destructive Editing:
Edits are applied to the original photos in a non-destructive way, meaning the original files remain untouched.
Key Differences from Lightroom (Cloud-Based):
Storage Location:
Lightroom Classic stores photos locally on your computer, while Lightroom stores them in the cloud.
Workflow:
Lightroom Classic is designed for a desktop workflow, while Lightroom is designed for a cloud-based workflow.
Connectivity:
Lightroom Classic can be used offline, while Lightroom requires an internet connection to sync and access photos.
Organization:
Lightroom Classic offers more advanced organization features like Collections and Keywords.
Who is it for?
Professional Photographers:
PCMag notes that Lightroom Classic is a popular choice among professional photographers who need the flexibility and control of a desktop-based application.
Users with Large Collections:
Those with extensive photo collections may prefer Lightroom Classic's local storage and robust organization features.
Users who prefer a traditional workflow:
Users who prefer a more traditional desktop workflow, with their original photos stored on their computer, will find Lightroom Classic a good fit.
Adobe Master Collection CC Crack Advance Version 2025kashifyounis067
🌍📱👉COPY LINK & PASTE ON GOOGLE http://drfiles.net/ 👈🌍
Adobe Master Collection CC (Creative Cloud) is a comprehensive subscription-based package that bundles virtually all of Adobe's creative software applications. It provides access to a wide range of tools for graphic design, video editing, web development, photography, and more. Essentially, it's a one-stop-shop for creatives needing a broad set of professional tools.
Key Features and Benefits:
All-in-one access:
The Master Collection includes apps like Photoshop, Illustrator, InDesign, Premiere Pro, After Effects, Audition, and many others.
Subscription-based:
You pay a recurring fee for access to the latest versions of all the software, including new features and updates.
Comprehensive suite:
It offers tools for a wide variety of creative tasks, from photo editing and illustration to video editing and web development.
Cloud integration:
Creative Cloud provides cloud storage, asset sharing, and collaboration features.
Comparison to CS6:
While Adobe Creative Suite 6 (CS6) was a one-time purchase version of the software, Adobe Creative Cloud (CC) is a subscription service. CC offers access to the latest versions, regular updates, and cloud integration, while CS6 is no longer updated.
Examples of included software:
Adobe Photoshop: For image editing and manipulation.
Adobe Illustrator: For vector graphics and illustration.
Adobe InDesign: For page layout and desktop publishing.
Adobe Premiere Pro: For video editing and post-production.
Adobe After Effects: For visual effects and motion graphics.
Adobe Audition: For audio editing and mixing.
How can one start with crypto wallet development.pptxlaravinson24
This presentation is a beginner-friendly guide to developing a crypto wallet from scratch. It covers essential concepts such as wallet types, blockchain integration, key management, and security best practices. Ideal for developers and tech enthusiasts looking to enter the world of Web3 and decentralized finance.
Get & Download Wondershare Filmora Crack Latest [2025]saniaaftab72555
Copy & Past Link 👉👉
https://dr-up-community.info/
Wondershare Filmora is a video editing software and app designed for both beginners and experienced users. It's known for its user-friendly interface, drag-and-drop functionality, and a wide range of tools and features for creating and editing videos. Filmora is available on Windows, macOS, iOS (iPhone/iPad), and Android platforms.
Discover why Wi-Fi 7 is set to transform wireless networking and how Router Architects is leading the way with next-gen router designs built for speed, reliability, and innovation.
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Eric D. Schabell
It's time you stopped letting your telemetry data pressure your budgets and get in the way of solving issues with agility! No more I say! Take back control of your telemetry data as we guide you through the open source project Fluent Bit. Learn how to manage your telemetry data from source to destination using the pipeline phases covering collection, parsing, aggregation, transformation, and forwarding from any source to any destination. Buckle up for a fun ride as you learn by exploring how telemetry pipelines work, how to set up your first pipeline, and exploring several common use cases that Fluent Bit helps solve. All this backed by a self-paced, hands-on workshop that attendees can pursue at home after this session (https://o11y-workshops.gitlab.io/workshop-fluentbit).
Adobe After Effects Crack FREE FRESH version 2025kashifyounis067
🌍📱👉COPY LINK & PASTE ON GOOGLE http://drfiles.net/ 👈🌍
Adobe After Effects is a software application used for creating motion graphics, special effects, and video compositing. It's widely used in TV and film post-production, as well as for creating visuals for online content, presentations, and more. While it can be used to create basic animations and designs, its primary strength lies in adding visual effects and motion to videos and graphics after they have been edited.
Here's a more detailed breakdown:
Motion Graphics:
.
After Effects is powerful for creating animated titles, transitions, and other visual elements to enhance the look of videos and presentations.
Visual Effects:
.
It's used extensively in film and television for creating special effects like green screen compositing, object manipulation, and other visual enhancements.
Video Compositing:
.
After Effects allows users to combine multiple video clips, images, and graphics to create a final, cohesive visual.
Animation:
.
It uses keyframes to create smooth, animated sequences, allowing for precise control over the movement and appearance of objects.
Integration with Adobe Creative Cloud:
.
After Effects is part of the Adobe Creative Cloud, a suite of software that includes other popular applications like Photoshop and Premiere Pro.
Post-Production Tool:
.
After Effects is primarily used in the post-production phase, meaning it's used to enhance the visuals after the initial editing of footage has been completed.
Exploring Wayland: A Modern Display Server for the FutureICS
Wayland is revolutionizing the way we interact with graphical interfaces, offering a modern alternative to the X Window System. In this webinar, we’ll delve into the architecture and benefits of Wayland, including its streamlined design, enhanced performance, and improved security features.
Interactive Odoo Dashboard for various business needs can provide users with dynamic, visually appealing dashboards tailored to their specific requirements. such a module that could support multiple dashboards for different aspects of a business
✅Visit And Buy Now : https://bit.ly/3VojWza
✅This Interactive Odoo dashboard module allow user to create their own odoo interactive dashboards for various purpose.
App download now :
Odoo 18 : https://bit.ly/3VojWza
Odoo 17 : https://bit.ly/4h9Z47G
Odoo 16 : https://bit.ly/3FJTEA4
Odoo 15 : https://bit.ly/3W7tsEB
Odoo 14 : https://bit.ly/3BqZDHg
Odoo 13 : https://bit.ly/3uNMF2t
Try Our website appointment booking odoo app : https://bit.ly/3SvNvgU
👉Want a Demo ?📧 [email protected]
➡️Contact us for Odoo ERP Set up : 091066 49361
👉Explore more apps: https://bit.ly/3oFIOCF
👉Want to know more : 🌐 https://www.axistechnolabs.com/
#odoo #odoo18 #odoo17 #odoo16 #odoo15 #odooapps #dashboards #dashboardsoftware #odooerp #odooimplementation #odoodashboardapp #bestodoodashboard #dashboardapp #odoodashboard #dashboardmodule #interactivedashboard #bestdashboard #dashboard #odootag #odooservices #odoonewfeatures #newappfeatures #odoodashboardapp #dynamicdashboard #odooapp #odooappstore #TopOdooApps #odooapp #odooexperience #odoodevelopment #businessdashboard #allinonedashboard #odooproducts
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AIdanshalev
If we were building a GenAI stack today, we'd start with one question: Can your retrieval system handle multi-hop logic?
Trick question, b/c most can’t. They treat retrieval as nearest-neighbor search.
Today, we discussed scaling #GraphRAG at AWS DevOps Day, and the takeaway is clear: VectorRAG is naive, lacks domain awareness, and can’t handle full dataset retrieval.
GraphRAG builds a knowledge graph from source documents, allowing for a deeper understanding of the data + higher accuracy.
FL Studio Producer Edition Crack 2025 Full Versiontahirabibi60507
Copy & Past Link 👉👉
http://drfiles.net/
FL Studio is a Digital Audio Workstation (DAW) software used for music production. It's developed by the Belgian company Image-Line. FL Studio allows users to create and edit music using a graphical user interface with a pattern-based music sequencer.
AgentExchange is Salesforce’s latest innovation, expanding upon the foundation of AppExchange by offering a centralized marketplace for AI-powered digital labor. Designed for Agentblazers, developers, and Salesforce admins, this platform enables the rapid development and deployment of AI agents across industries.
Email: [email protected]
Phone: +1(630) 349 2411
Website: https://www.fexle.com/blogs/agentexchange-an-ultimate-guide-for-salesforce-consultants-businesses/?utm_source=slideshare&utm_medium=pptNg
2. Who am I?
Steve Woodruff
❏ Director of DevOps at SpareFoot
implementing CI/CD
❏ Spent 10+ years at Motorola doing
embedded development (C, C++)
❏ Spent 5 years at IBM as a sys admin in a
large server farm (Linux, AIX, Solaris)
[email protected]
Twitter: @sjwoodr
GitHub: sjwoodr
3. ● Think Hotels.com for self storage*
● All infrastructure in AWS
● 40 Developers on 7 Teams
○ Continuous Delivery
● Docker in production since 2014
*This kind of storage:
4. The Beginning: SpareFoot + Docker
Hackathon! Docker + Fig
(now compose) allowed us to
run production architecture
locally.
5. Yim - Call Center Application
Used exclusively by our
call center
Chrome ONLY
Node version n+1
React + Flux
Vers. n
+1
Vers. n
+1
Vers. n
6. Yim - Call Center Application
Used exclusively by our
call center
Chrome ONLY
Node version n+1
React + Flux
Vers. n
+1
Vers. n
+1
Vers. n
7. CI and deployments
Janky shell scripts… slow builds, etc…
Used Bamboo to build images
feature branches were built/deployed to Dev
master branch was built/deployed to Staging
Dynamically created custom container start script
Tried to auto-detect when the containers started to begin post-deploy test
Build times were rather long
Spent an awful long time doing docker push (to our registry) and docker pull (on the target hosts)
8. Ok, so Docker feels like the a solution
… and we kind of know how to do this. But....
Continuous Integration / Delivery?
○ Docker Registry
○ Bamboo
○ Deployments
● Host Volumes and Port Forwarding rules?
○ Not saved with the source code
● Get Docker to run in local, dev, staging, and production environments?
○ Configuration?
9. Docker in Production (technically)!
We had 2 load balanced
EC2 instances running a
node app.
ELB
443
3000 3000
10. Docker in Production (technically)!
We had 2 load balanced
EC2 instances running a
node app.
Now we have 2 load
balanced EC2 instances
running docker containers
that run a node app!
ELB
443
3000 3000
ELB
App 1 App 1
3000 3000
443
11. Docker in Production (technically)!
ELB ELB
App 1 App 1
We had 2 load balanced
EC2 instances running a
node app.
Now we have 2 load
balanced EC2 instances
running docker containers
that run a node app!
NEW443
3000 3000 3000 3000
443
12. Yim: Trouble in Docker Paradise
Hosting our own Docker registry was a bad idea
Stability was a problem
No level of access control on the registry itself
Mimicking servers - 1 container per host. Need orchestration please!
Amazon Linux AMI -> old version of Docker… doh!
Docker push/pull to/from registry was very slow
build - push to registry
deploy - pull from registry to each host, serially
Performance was fine….
But stability was the issue
This internal-facing nodejs app was moved to a pair of EC2 instances and out of Docker after about 4
months of pain and suffering
13. Yim: Lessons Learned
We need orchestration
Rolling our own docker deployments was confusing to OPS and to the Dev team
Our own docker registry is a bad idea
Stability was a problem
No level of access control on the registry itself
Our S3 backend would grow by several GB per month with no automated
cleanup
No easy way to rollback failed deploys
Just fix it and deploy again...
All this culminated in a poor build process and affected CI velocity
Longer builds, longer deploys, no real gain
15. Like everyone else....
...we were “deconstructing the monolith”
Application
REST API
Data
Microservice
REST API
Data
Microservice
REST API
Data
Microservice
REST API
Data
Microservice
API Gateway
16. A Better Docker Registry
With Yim we learned that rolling our own Registry was a bad idea.
Limited Access Control
We have to maintain it
18. We’ve learned some things...
● Easier than we thought
● Quay was the glue we needed
○ Use an off the shelf solution.
○ We like Quay.io
● Bolting on to our existing CI pipeline worked really well.
○ Developers didn’t have to learn new process
○ Microservice consumers can pull tagged versions
○ We can automate tests against all versions
Now we talk containers from local -> dev -> staging but NOT
in production.
20. Production - What is still needed
Orchestration
Yim sucked because we tried to do this ourselves
Better Deployments
With rollbacks
Configuration Management
We have things to hide
23. Production - Software Selection
Choosing orchestration software / container service in early 2015
StackEngine
Lacked docker-compose support
Kubernetes
PhD Required
Mesosphere
Nice, but slow to deploy
EC2 Container Service
Lacked docker-compose support and custom AMIs
Tutum (now Docker Cloud)
Rancher
24. Production - Enter Rancher
After running proof-of-concepts of both Tutum and Rancher, we decided to continue down our
path to production deploys with Rancher.
Had more mature support for docker-compose files.
Tutum added this after our evaluation had ended
Did not require us to orchestrate the deployments through their remote endpoint
Rancher server runs on our EC2 instances and we are in full control of all the things
Had a full API we can work with in addition to the custom rancher-compose cli
Had a very-active user community and a beta-forum where the Rancher development team
was active in answering questions and even troubleshooting configuration problems.
26. Overlaying Docker on AWS
Why the extra HAProxy layer?
Allows us to create the ELB and leave them alone
When we deploy new versioned services we update the service alias / haproxy links
Allows for fast rollback to previous version of the service
27. Deployments and Rollbacks
Developers can deploy to production whenever they want
HipChat bot commands to deploy and rollback/revert
Deployments to each of the 3 environments use rancher-compose to
Deploy new versioned services / containers
Create or update service aliases / haproxy links
Delete previous versioned services except for current and previous
When things go haywire…
We simply rollback
Production deploy creates a docker-compose-rollback.yml file
Query Rancher API to get list of running services
Allows us to change haproxy and service alias links back to the previous version
Super fast to rollback, no containers need to be spun up!
32. Secret Management
We’re already using SaltStack to manage our EC2 minions (VMs)
Salt Grains are used for some common variables used in salt states
Salt Pillar Data exists which is configuration data available only to certain
minions
This Salt Pillar Data is already broken down by environment (dev/stage/prod)
We should just use this data to dynamically create the docker-compose and
rancher-compose files!
33. Technical Challenge - docker-compose
We needed to support a single docker-compose.yml file, maintained by
developers of an app or service
They don’t want to maintain local, dev, stage, and prod versions of this file
Changes to multiple files would be error-prone
Must support differences in the architecture or configuration of services across environments
Secret Secret, I’ve got a Secret
34. A templated rancher-compose file
{% set sf_env = grains['bookingservice-env'] %}
{% set version = grains['bookingservice-version'] %}
bookingservice-{{ sf_env }}-{{ version }}:
scale: 1
We use a scale of 1 because we use global host scheduling combined with host affinity so that one
container of this service is deployed to each VM of the specified environment (dev/stage/prod). This
allows us to spin up a new Rancher host and easily deploy to the new host VM.
37. Deployments with rancher-compose
Deployments to Dev and Staging are done via Bamboo
Deployments to Production are done by developers via HipChat commands
In the end, everything is invoking our salt-deploy.py script
Set some salt grains for target env, version, buildid, image tag in quay.io
Services get versioned with a timestamp and bamboo build id
Render jinja2 / Inject Salt grains and pillar data via salt minion python code
caller.sminion.functions['cp.get_template'](cwd + '/docker-compose.yml', cwd + '/docker-compose-
salt.yml')
caller.sminion.functions['cp.get_template'](cwd + '/rancher-compose.yml', cwd + '/rancher-compose-
salt.yml')
Invokes rancher-compose create / up
Cleanup to keep the live verison of a service and live-1 version. The rest are purged.
38. Surprise! Rancher Adds Variable Support
Does the support for interpolating variables, added in Rancher 0.41, deprecate the
work we've done with Salt and rendering jinja2 templates?
No. We already maintain data in grains and pillars so we just reuse that data.
Rancher implementation uses the environment variables on the host running
rancher-compose to fill in the blanks
It would require logic to load those env variables based on the target env (dev/
stage/prod) so might as well get the data out of salt pillar which has separate
pillars for each service and then broken down by target environment.
45. Where are we now?
52 Microservices in production with Rancher + Docker
5-10 Deployments per day on average
Busiest services handling around 50 requests / second
Consumer facing applications being containerized in development
New teams cutting their teeth
Keep on “Strangling”*
* DO NOT: google image search for “strangling hands”