Live recording with the demos: https://www.youtube.com/watch?v=0XRcmJEiZOM
Contents
- The application distribution challenge
- The current solutions
- Introduction to Docker, Containers, and the Matrix from Hell
- Why people care: Separation of Concerns
- Technical Discussion
- Ecosystem, momentum
- How to build Docker images
- How to make containers talk to each other, how to handle data persistence
- Demo 1: isolation
- Demo 2: real case - installing Go Math! Academy, tail –f containers, unit tests
This document discusses developer workflows using Docker from development to production. It covers using Docker Compose and Docker Swarm for local development and Docker Cloud for managing production deployments. It also discusses using Kubernetes and cloud native PaaS solutions like Deis, OpenShift, and Rancher that are based on Kubernetes. Specifically, it demos deploying a sample application to OpenShift using the Red Hat Container Development Kit.
This document provides an introduction to Docker and includes instructions for several exercises to help users learn Docker in 90 minutes. The document covers downloading and running Docker containers, creating Docker images, understanding Docker layers, exposing container ports, using Dockerfiles to build images, and sharing images in Docker repositories. The exercises guide users through hands-on experience with common Docker commands and concepts.
Architecting .NET Applications for Docker and Container Based DeploymentsBen Hall
This document discusses using Docker containers to deploy .NET applications. It covers running a basic ASP.NET application in a Docker container, linking multiple containers together, and using tools like Docker Gen and Consul for service discovery. It also explores possibilities for the future like running SQL Server and Visual Studio in containers, and how Docker can help close the gap between development and production. The overall message is that Docker is a useful tool for deploying many types of applications, including those built on .NET.
Docker is a technology that uses lightweight containers to package applications and their dependencies in a standardized way. This allows applications to be easily deployed across different environments without changes to the installation procedure. Docker simplifies DevOps tasks by enabling a "build once, ship anywhere" model through standardized environments and images. Key benefits include faster deployments, increased utilization of resources, and easier integration with continuous delivery and cloud platforms.
This document provides an introduction to Docker. It discusses key Docker concepts like OS virtualization using containers as opposed to virtual machines. Containers isolate processes and filesystems using cgroups, namespaces and UnionFS. Namespaces provide isolation for processes, networking, mounts etc. Cgroups are used to limit, account and isolate resource usage. The document also covers Docker storage and networking as well as security best practices.
Docker allows for the delivery of applications using containers. Containers are lightweight and allow for multiple applications to run on the same host, unlike virtual machines which each require their own operating system. Docker images contain the contents and configuration needed to run an application. Images are built from manifests and layers of content and configuration are added. Running containers from images allows applications to be easily delivered and run. Containers can be connected to volumes to preserve data when the container is deleted. Docker networking allows containers to communicate and ports can be exposed to the host.
Docker has created enormous buzz in the last few years. Docker is a open-source software containerization platform. It provides an ability to package software into standardised units on Docker for software development. In this hands-on introductory session, I introduce the concept of containers, provide an overview of Docker, and take the participants through the steps for installing Docker. The main session involves using Docker CLI (Command Line Interface) - all the concepts such as images, managing containers, and getting useful work done is illustrated step-by-step by running commands.
- The document summarizes a meetup on Docker held in Paris on February 10, 2013. It provides an introduction to Docker including its origins at dotCloud, timeline of development, and basic functionality using Linux containers, control groups, and AUFS.
- The presentation covers installing Docker, basic commands like running "hello world" examples, managing containers vs images, and demonstrates a simple app deployment using Docker for local development and pushing changes to production.
- Questions from attendees are solicited at the end to discuss Docker further.
This document outlines the curriculum for an introduction to containerization presentation. It includes slides and hands-on exercises on installing Docker, building Docker images, running containers, viewing processes inside containers, and experimenting with resource isolation using cgroups and namespaces. Attendees will build a Docker image for a sample Flask application, run the container, view logs and processes, and push the image to Docker Hub. The presentation covers definitions of key containerization concepts and the benefits of using containers.
CONTAINERS WORKSHOP DURING SAUDI HPC 2016 : DOCKER 101, DOCKER, AND ITS ECO SYSTEM FOR DISTRIBUTED SYSTEMS by Walid Shaari
This workshop will cover the Theory and hands-on of Docker containers, and Its eco system. The foundations of the Docker platform, including an overview of the platform system components, images, containers and repositories, installation , using Docker containers from repositories e.g. dockerhub, how to create a container using Dockerfile, containers development life cycle. The strategy is to demonstrate through "live demo, and shared exercise" the reuse and customization of components to build a distributed system case service gradually
http://www.hpcsaudi.com/
An introduction to Docker and docker-compose. Starting from single docker run commands we discover docker file basics, docker-compose basics and finally we play around with scaling containers in docker-compose.
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewiredotCloud
This document provides an introduction and overview of Docker and containers. It discusses that Docker is an open source tool that allows applications to be packaged with all their dependencies and run as isolated processes on any machine. Containers provide lightweight virtualization that improves efficiency by sharing resources but still isolating processes. The document outlines how Docker uses containers powered by Linux namespaces and cgroups to package and deploy applications easily and consistently across environments.
This document summarizes a presentation about Docker, a technology that uses containers as a way to deploy applications. Some key points:
- Docker uses containers, not virtual machines, to isolate applications and their dependencies. Containers share the host operating system kernel to improve efficiency over virtual machines.
- Docker makes it easy to package applications and dependencies into images that can run on any infrastructure. Images are versioned and changes are stored like code commits.
- Common uses include development environments and application deployment on servers. Docker Hub is a registry for sharing Docker images.
This document provides an introduction to Docker presented by Tibor Vass, a core maintainer on Docker Engine. It outlines challenges with traditional application deployment and argues that Docker addresses these by providing lightweight containers that package code and dependencies. The key Docker concepts of images, containers, builds and Compose are introduced. Images are read-only templates for containers which sandbox applications. Builds describe how to assemble images with Dockerfiles. Compose allows defining multi-container applications. The document concludes by describing how Docker improves the deployment workflow by allowing testing and deployment of the same images across environments.
Docker-Hanoi @DKT , Presentation about Docker EcosystemVan Phuc
The document provides an overview of Docker Platform and Ecosystem. It begins with introductions and background on Docker, explaining how Docker solves the problem of dependency hell and portability issues by allowing applications to run in isolated containers that package code and dependencies. It then discusses key components of Docker including Engine, Registry, Machine, Swarm, Compose and tools like Toolbox and Cloud. The document concludes with examples of using Docker for continuous integration pipelines and microservices architectures.
Docker from A to Z, including Swarm and OCCSFrank Munz
This document provides an overview of Docker from A to Z including using Docker with Oracle Container Cloud Service. It discusses basics of Docker including how it provides isolation using Linux namespaces and cgroups. It compares Docker containers to virtual machines and covers Docker images, containers, limitations, networking, security concerns and suggestions. It also discusses using Docker with Oracle technologies including Dockerfiles on GitHub, the Oracle Container Registry, and Oracle Container Cloud Service.
This document summarizes Muriel Salvan's presentation on Docker and cargo transport. It discusses how Docker can be used to containerize applications and services, create images from Dockerfiles, run containers from images, and deploy images to registries for sharing. Examples are given on building Ruby and Rails images, running a clustered Rails application in containers, and using a proxy container to load balance requests. Performance benefits of Docker are highlighted such as faster launch times and consistent memory usage across containers.
This document lists 15 tutorials about Docker, an open-source containerization platform. The tutorials cover topics such as installing Docker on various platforms like Ubuntu, Linux, Rackspace, and Digital Ocean; deploying applications like Java, Django, Drupal, and Redis using Docker containers; and using Docker to build services and applications. The tutorials are from 2013 and provide links to blog posts and resources about getting started with Docker.
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
Slides de l'introduction à Docker présentée par Thibaut Marmin et Antoine Boudot lors du premier Docker Tours Meetup (@DockerTours).
Présentation en trois parties :
- Introduction Docker (classique)
- Cas pratique en DEV
- Cas pratique en PROD
http://www.meetup.com/fr/Docker-Tours
Cette présentation à pour but d'expliquer à des néophites les avantages du framework PHP Symfony.
Elle m'a servit en entreprise pour expliquer ses concepts complexe à des non-informaticiens.
The Information Technology have led us into an era where the production, sharing and use of information are now part of everyday life and of which we are often unaware actors almost: it is now almost inevitable not leave a digital trail of many of the actions we do every day; for example, by digital content such as photos, videos, blog posts and everything that revolves around the social networks (Facebook and Twitter in particular). Added to this is that with the "internet of things", we see an increase in devices such as watches, bracelets, thermostats and many other items that are able to connect to the network and therefore generate large data streams. This explosion of data justifies the birth, in the world of the term Big Data: it indicates the data produced in large quantities, with remarkable speed and in different formats, which requires processing technologies and resources that go far beyond the conventional systems management and storage of data. It is immediately clear that, 1) models of data storage based on the relational model, and 2) processing systems based on stored procedures and computations on grids are not applicable in these contexts. As regards the point 1, the RDBMS, widely used for a great variety of applications, have some problems when the amount of data grows beyond certain limits. The scalability and cost of implementation are only a part of the disadvantages: very often, in fact, when there is opposite to the management of big data, also the variability, or the lack of a fixed structure, represents a significant problem. This has given a boost to the development of the NoSQL database. The website NoSQL Databases defines NoSQL databases such as "Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open source and horizontally scalable." These databases are: distributed, open source, scalable horizontally, without a predetermined pattern (key-value, column-oriented, document-based and graph-based), easily replicable, devoid of the ACID and can handle large amounts of data. These databases are integrated or integrated with processing tools based on the MapReduce paradigm proposed by Google in 2009. MapReduce with the open source Hadoop framework represent the new model for distributed processing of large amounts of data that goes to supplant techniques based on stored procedures and computational grids (step 2). The relational model taught courses in basic database design, has many limitations compared to the demands posed by new applications based on Big Data and NoSQL databases that use to store data and MapReduce to process large amounts of data.
Course Website http://pbdmng.datatoknowledge.it/
Contact me to download the slides
Présentation portant sur le système de virtualisation Docker.
Langue : Français.
Auteur : Colin LEVERGER, me@colinleverger.fr, merci de citer vos sources ;)
Sources : Wikipedia / Docker site officiel : https://www.docker.com/
Packaging et déploiement d'une application avec Docker et Ansible @DevoxxFR 2015Stephane Manciot
This document discusses packaging and deploying a Java EE application using Docker and Ansible. It covers using Docker for portability, fast image building, and performance benefits compared to VMs. It discusses using Dockerfiles to package applications, exposing ports, mounting volumes, and setting default commands. It addresses challenges like service discovery and load balancing using an ambassador pattern. Ansible is covered for orchestration, provisioning, deployment, its advantages like being agentless and using YAML playbooks with roles and templates. The document provides examples of Dockerfiles, building images, running containers, and Ansible inventory, playbooks and roles to deploy applications on infrastructure.
Orchestrez vos projets Symfony sans fausses notesXavier Gorse
Retour d'expériences sur tout le processus d'ingénierie logicielle de projets Symfony que nous avons construits au fil du temps depuis nos premiers projets en 2006. Nous aborderons toutes les phases de l'industrialisation nous ayant permis d'accroître la qualité et la réactivité d’intervention sur les projets
Dans un contexte d’entreprise souvent perçu comme rigide, envisager des changements techniques et organisationnels peut sembler impossible. DevOps est un bon contre-exemple car il existe des façons progressives d’introduire une telle méthodologie à plusieurs niveaux de l’entreprise. Cette session revient sur les principes de bases de DevOps (infrastructure-as-code, continuous delivery, culture de collaboration) et leur application pas-à-pas dans différents contextes.
Docker is a system for running applications in isolated containers. It addresses issues with traditional virtual machines by providing lightweight containers that share resources and allow applications to run consistently across different environments. Docker eliminates inconsistencies in development, testing and production environments. It allows applications and their dependencies to be packaged into a standardized unit called a container that can run on any Linux server. This makes applications highly portable and improves efficiency across the entire development lifecycle.
Les architectures microservices sont en pleine explosion actuellement. Beaucoup d’articles sont parus sur le sujet et nombre de projets se lancent sur ce modèle.
Plusieurs frameworks permettant de mettre en place facilement des microservices existent, dont, notamment, Vert.x. Venez les découvrir !
Par Thomas Auffredou et Romain Niveau, consultants chez Xebia
This document provides an introduction and overview of Docker. It discusses why Docker was created to address issues with managing applications across different environments, and how Docker uses lightweight containers to package and run applications. It also summarizes the growth and adoption of Docker in its first 7 months, and outlines some of its core features and the Docker ecosystem including integration with DevOps tools and public clouds.
This document provides an introduction to Docker, including:
- Docker allows developers to package applications with all dependencies into standardized units called containers that can run on any infrastructure.
- Docker uses namespaces and control groups to provide isolation and security between containers while allowing for more efficient use of resources than virtual machines.
- The Docker architecture includes images which are templates for creating containers, a Dockerfile to automate image builds, and Docker Hub for sharing images.
- Kubernetes is an open-source platform for automating deployment and management of containerized applications across clusters of hosts.
This document provides an introduction to Docker, including why it was created, how it works, and its growing ecosystem. Docker allows applications to be packaged with all their dependencies and run consistently across any Linux server by using lightweight virtual containers rather than full virtual machines. It solves the problem of differences between development, testing, and production environments. The document outlines the technical details and advantages of Docker, examples of how companies are using it, and the growing support in tools and platforms.
Introduction to dockers and kubernetes. Learn how this helps you to build scalable and portable applications with cloud. It introduces the basic concepts of dockers, its differences with virtualization, then explain the need for orchestration and do some hands-on experiments with dockers
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
The document outlines the agenda for the OpenStack Summit in November 2013. The agenda includes sessions on Docker and its ecosystem, using Docker with OpenStack and Rackspace, and a cross-cloud deployment demo. Docker is presented as a solution for developing and deploying applications across multiple environments by encapsulating code and dependencies in portable containers. It can help eliminate inconsistencies between development, testing, and production environments.
Demystifying Containerization Principles for Data ScientistsDr Ganesh Iyer
Demystifying Containerization Principles for Data Scientists - An introductory tutorial on how Dockers can be used as a development environment for data science projects
OpenStack, Containers, and Docker: The Future of Application Deployment
Twenty years ago, developers built static applications on well-defined stacks that ran on proprietary, monolithic hardware. Developers today want freedom to build applications using their choice of services and stacks and, ideally, want to be able to run those applications on any available hardware. Of course, this raises questions about service interaction, the practicality of migrating applications across environments, and the challenges of managing unlimited combinations of services and hardware environment.
By promoting an opensource approach to flexible and inter-operable infrastructure, OpenStack goes a long way towards achieving this vision of the future. This talk discusses the application and platform side of the equation, and the interplay between OpenStack, Container technology (e.g. LXC), and the opensource Docker.io project. Docker.io enables any application and its dependencies to be deployed as lightweight containers that run consistently virtually anywhere. The same containerized application that runs on a developer's laptop can run consistently on a bare metal server, an OpenStack cluster, a Rackspace cloud, a VM,etc. While providing isolation and compatibility, containers have significant size, performance, and deployment advantages over traditional VMs.
Recently, the community created an integration between Docker and OpenStack Nova, opening up exciting possibilities for web scale application deployment, continuous integration and deployment, private PaaS, and hybrid cloud. This session will give an introduction to Docker and containers in the context of OpenStack, and will then demonstrate cross-environment deployment of applications.
Newt Global provides DevOps transformation, cloud enablement, and test automation services. It was founded in 2004 and is headquartered in Dallas, Texas with locations in the US and India. The company is a leader in DevOps transformations and has been one of the top 100 fastest growing companies in Dallas twice. The document discusses an upcoming webinar on Docker 101 that will be presented by two Newt Global employees: Venkatnadhan Thirunalai, the DevOps Practice Leader, and Jayakarthi Dhanabalan, an AWS Solution Specialist.
The document outlines the agenda for the OpenStack Summit in November 2013, including presentations on Docker and its ecosystem, how Docker can be used with OpenStack and Rackspace, and a demonstration of cross-cloud application deployment using Docker. Docker is presented as a solution to the "matrix from hell" of running applications across different environments by providing lightweight, portable containers that can run anywhere regardless of the operating system. The summit aims to educate attendees on Docker and showcase its integration with OpenStack for simplified and efficient application deployment and management across multiple clouds.
The document provides an introduction to Docker, containers, and the problems they aim to solve. It discusses:
- Why Docker was created - to address the "matrix from hell" of developing and deploying applications across different environments and platforms.
- How Docker works at a high level, using lightweight containers that package code and dependencies to run consistently on any infrastructure.
- Some key Docker concepts like images, containers, the Dockerfile for building images, and common Docker commands.
- Benefits of Docker for developers and operations in simplifying deployment, reducing inconsistencies, and improving portability of applications.
This document discusses using Docker containers with OpenStack for application deployment. It begins with an introduction to Docker, describing its growth in usage and integration with various tools. Docker is presented as a solution to issues around deploying applications across different environments and hardware by providing lightweight, portable containers that package code and dependencies. The document demonstrates how Docker can be used with OpenStack through a new hypervisor that allows OpenStack to deploy and manage Linux containers, enabling control of Docker through the OpenStack dashboard.
This document discusses using Docker containers with OpenStack for application deployment. It begins with an introduction to Docker, describing its growth in usage and integration with various tools. Docker is presented as a solution to issues around deploying applications across different environments and hardware by providing lightweight, portable containers that package code and dependencies. The document demonstrates how Docker can be used with OpenStack through a new hypervisor that allows OpenStack to deploy and manage Linux containers, enabling control of Docker through the OpenStack dashboard. It outlines some benefits of Docker combined with OpenStack and the current state of the related OpenStack project.
Docker is an open-source project that allows developers to package applications into lightweight, portable containers that can run on any Linux server. Containers isolate applications from one another and the underlying infrastructure, while still sharing operating system resources to improve efficiency. Docker eliminates inconsistencies between development and production environments by allowing applications to run identically in any computing environment, from a developer's laptop to the cloud. This portability and consistency accelerates the development lifecycle and improves deployment workflows for both developers and operations teams.
Ben Golub argues that while virtual machines (VMs) solved earlier problems of server consolidation, containers provide a better solution for modern application development and deployment needs. Containers offer several advantages over VMs, including faster provisioning, greater density, near bare-metal performance, and more flexibility. Golub outlines how Docker addresses earlier issues with containers by making them lightweight, standardized, interoperable and easy to automate across environments. This allows applications to be packaged and run consistently regardless of infrastructure. Golub believes containers allow for a better separation of application management from infrastructure management compared to VMs.
Getting Started with Docker - Nick StinematesAtlassian
This document summarizes a presentation about Docker and containers. It discusses how applications have changed from monolithic to distributed microservices, creating challenges around managing different stacks and environments. Docker addresses this by providing lightweight containers that package code and dependencies to run consistently on any infrastructure. The presentation outlines how Docker works, its adoption by companies, and its open platform for building, shipping, and running distributed applications. It aims to create an ecosystem similar to how shipping containers standardized cargo transportation globally.
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 provides an introduction and overview of Docker, including its rapid growth and adoption, key benefits for developers and operations teams, technical underpinnings, ecosystem support, use cases, and future plans. Docker provides a way to package applications into lightweight containers that are portable and can run on any infrastructure. It solves issues around dependency management and consistency across environments.
Docker is a system for running applications in lightweight containers that can be deployed across machines. It allows developers to package applications with all dependencies into standardized units for software development. Docker eliminates inconsistencies in environments and allows applications to be easily deployed on virtual machines, physical servers, public clouds, private clouds, and developer laptops through the use of containers.
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.
Similar to The challenge of application distribution - Introduction to Docker (2014 dec 03) (20)
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsEstuary Flow
Unlock the full potential of your data by effortlessly migrating from PostgreSQL to Snowflake, the leading cloud data warehouse. This comprehensive guide presents an easy-to-follow 8-step process using Estuary Flow, an open-source data operations platform designed to simplify data pipelines.
Discover how to seamlessly transfer your PostgreSQL data to Snowflake, leveraging Estuary Flow's intuitive interface and powerful real-time replication capabilities. Harness the power of both platforms to create a robust data ecosystem that drives business intelligence, analytics, and data-driven decision-making.
Key Takeaways:
1. Effortless Migration: Learn how to migrate your PostgreSQL data to Snowflake in 8 simple steps, even with limited technical expertise.
2. Real-Time Insights: Achieve near-instantaneous data syncing for up-to-the-minute analytics and reporting.
3. Cost-Effective Solution: Lower your total cost of ownership (TCO) with Estuary Flow's efficient and scalable architecture.
4. Seamless Integration: Combine the strengths of PostgreSQL's transactional power with Snowflake's cloud-native scalability and data warehousing features.
Don't miss out on this opportunity to unlock the full potential of your data. Read & Download this comprehensive guide now and embark on a seamless data journey from PostgreSQL to Snowflake with Estuary Flow!
Try it Free: https://dashboard.estuary.dev/register
Software development... for all? (keynote at ICSOFT'2024)miso_uam
Our world runs on software. It governs all major aspects of our life. It is an enabler for research and innovation, and is critical for business competitivity. Traditional software engineering techniques have achieved high effectiveness, but still may fall short on delivering software at the accelerated pace and with the increasing quality that future scenarios will require.
To attack this issue, some software paradigms raise the automation of software development via higher levels of abstraction through domain-specific languages (e.g., in model-driven engineering) and empowering non-professional developers with the possibility to build their own software (e.g., in low-code development approaches). In a software-demanding world, this is an attractive possibility, and perhaps -- paraphrasing Andy Warhol -- "in the future, everyone will be a developer for 15 minutes". However, to make this possible, methods are required to tweak languages to their context of use (crucial given the diversity of backgrounds and purposes), and the assistance to developers throughout the development process (especially critical for non-professionals).
In this keynote talk at ICSOFT'2024 I presented enabling techniques for this vision, supporting the creation of families of domain-specific languages, their adaptation to the usage context; and the augmentation of low-code environments with assistants and recommender systems to guide developers (professional or not) in the development process.
Break data silos with real-time connectivity using Confluent Cloud Connectorsconfluent
Connectors integrate Apache Kafka® with external data systems, enabling you to move away from a brittle spaghetti architecture to one that is more streamlined, secure, and future-proof. However, if your team still spends multiple dev cycles building and managing connectors using just open source Kafka Connect, it’s time to consider a faster and cost-effective alternative.
React and Next.js are complementary tools in web development. React, a JavaScript library, specializes in building user interfaces with its component-based architecture and efficient state management. Next.js extends React by providing server-side rendering, routing, and other utilities, making it ideal for building SEO-friendly, high-performance web applications.
Are you wondering how to migrate to the Cloud? At the ITB session, we addressed the challenge of managing multiple ColdFusion licenses and AWS EC2 instances. Discover how you can consolidate with just one EC2 instance capable of running over 50 apps using CommandBox ColdFusion. This solution supports both ColdFusion flavors and includes cb-websites, a GoLang binary for managing CommandBox websites.
A Comparative Analysis of Functional and Non-Functional Testing.pdfkalichargn70th171
A robust software testing strategy encompassing functional and non-functional testing is fundamental for development teams. These twin pillars are essential for ensuring the success of your applications. But why are they so critical?
Functional testing rigorously examines the application's processes against predefined requirements, ensuring they align seamlessly. Conversely, non-functional testing evaluates performance and reliability under load, enhancing the end-user experience.
Attendance Tracking From Paper To DigitalTask Tracker
If you are having trouble deciding which time tracker tool is best for you, try "Task Tracker" app. It has numerous features, including the ability to check daily attendance sheet, and other that make team management easier.
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...onemonitarsoftware
Unlock the full potential of mobile monitoring with ONEMONITAR. Our advanced and discreet app offers a comprehensive suite of features, including hidden call recording, real-time GPS tracking, message monitoring, and much more.
Perfect for parents, employers, and anyone needing a reliable solution, ONEMONITAR ensures you stay informed and in control. Explore the key features of ONEMONITAR and see why it’s the trusted choice for Android device monitoring.
Share this infographic to spread the word about the ultimate mobile spy app!
Cultural Shifts: Embracing DevOps for Organizational TransformationMindfire Solution
Mindfire Solutions specializes in DevOps services, facilitating digital transformation through streamlined software development and operational efficiency. Their expertise enhances collaboration, accelerates delivery cycles, and ensures scalability using cloud-native technologies. Mindfire Solutions empowers businesses to innovate rapidly and maintain competitive advantage in dynamic market landscapes.
Explore the rapid development journey of TryBoxLang, completed in just 48 hours. This session delves into the innovative process behind creating TryBoxLang, a platform designed to showcase the capabilities of BoxLang by Ortus Solutions. Discover the challenges, strategies, and outcomes of this accelerated development effort, highlighting how TryBoxLang provides a practical introduction to BoxLang's features and benefits.
React Native vs Flutter - SSTech SystemSSTech System
Your project needs and long-term objectives will ultimately choose which of React Native and Flutter to use. For applications using JavaScript and current web technologies in particular, React Native is a mature and trustworthy choice. For projects that value performance and customizability across many platforms, Flutter, on the other hand, provides outstanding performance and a unified UI development experience.
2. Credits & references
Intros slides borrowed from
• dotCloud’s « Docker introduction » slideshow
• AWS re:Invent 2014 session APP303, « Lighting Fast Deploys with
Docker Containers and AWS »
3. Agenda
• The application distribution challenge
• The current solutions
• Introduction to Docker, Containers, and the Matrix from Hell
• Why people care: Separation of Concerns
• Technical Discussion
• Ecosystem, momentum
• How to build Docker images
• How to make containers talk to each other, how to handle data
persistence
• Demo 1: isolation
• Demo 2: real case - installing Go Math!, tail –f containers, unit
tests
5. The challenge: apps have fundamentally changed
~2000 2014
Long lived Development is iterative and
constant
Monolithic and built on a
single stack
Built from loosely coupled
components
Deployed to a single server Deployed to a multitude of
servers
10. Current solutions
• ‘Configuration’ tools like Ansible, Chef, Puppet, …
• VM tools : Vagrant
• Container tools: Google’s LMCTFY
11. Goods
Multiplicity of
transporting/storing
Multipilicity of
methods for
Do I worry about
how goods
interact (e.g.
coffee beans next
to spices)
Can I transport
quickly and
smoothly
(e.g. from boat to
train to truck)
Cargo Transport Pre-1960
13. Multiplicity of
Goods
Multiplicity of
methods for
transporting/storin
g
Do I worry about
how goods
interact (e.g.
coffee beans next
to spices)
Can I transport
quickly and
smoothly
(e.g. from boat to
train to truck)
Solution: Intermodal Shipping Container
…in between, can be loaded
and unloaded, stacked,
transported efficiently over long
distances, and transferred from
one mode of transport to
another
A standard container that is
loaded with virtually any
goods, and stays sealed until
it reaches final delivery.
15. Static website User DB Web frontend Queue Analytics DB
Dev VM
QA server Public Cloud
Contributor’s
laptop
Docker is a shipping container system for code
Multiplicity of
Stacks
Multiplicity of
hardware
environments
Production
Cluster
Customer Data
Center
Do services and
apps interact
appropriately?
Can I migrate
smoothly and
quickly
…that can be manipulated
using standard operations and
run consistently on virtually any
hardware platform
An engine that enables any
payload to be encapsulated
as a lightweight, portable,
self-sufficient container…
16. Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Dev VM QA Server
Single Prod
Server
Onsite
Cluster
Public Cloud
Contributor’s
laptop
Customer
Servers
Docker eliminates the matrix from Hell
17. Good for developers
• Build once…(finally) run anywhere*
• A clean, safe, hygienic and portable runtime environment for your app.
• No worries about missing dependencies, packages and other pain points during
subsequent deployments.
• Run each app in its own isolated container, so you can run various versions of
libraries and other dependencies for each app without worrying
• Automate testing, integration, packaging…anything you can script
• Reduce/eliminate concerns about compatibility on different platforms, either your
own or your customers.
• Cheap, zero-penalty containers to deploy services? A VM without the overhead of a
VM? Instant replay and reset of image snapshots? That’s the power of Docker
* Anywhere = any x86 server running a modern Linux kernel (3.2+ generally. 2.6.32+ for RHEL 6.5+, Fedora, &
related)
18. Good for (Dev)Ops
• Configure once…run anything
• Make the entire lifecycle more efficient, consistent, and repeatable
• Increase the quality of code produced by developers.
• Eliminate inconsistencies between development, test, production, and customer
environments
• Support segregation of duties
• Significantly improves the speed and reliability of continuous deployment and
continuous integration systems
• Because the containers are so lightweight, address significant performance, costs,
deployment, and portability issues normally associated with VMs
19. Why it works—separation of concerns
• Dan the Developer
– Worries about what’s “inside” the
container
• His code
• His Libraries
• His Package Manager
• His Apps
• His Data
– All Linux servers look the same
• Oscar the Ops Guy
• Worries about what’s
“outside” the container
• Logging
• Remote access
• Monitoring
• Network config
• All containers start, stop,
copy, attach, migrate, etc. the
same way
20. Under the hood
• To learn more about how it works, some background:
–Linux namespaces
• PID
• IPTables
• UTS (~hostname)
• Mount
• IPC (inter-process)
–CGroups
–LXC Containers
21. Containers vs. VMs
App
A
Bins
/
Libs
Bins
/
Libs
Bins
/
Libs
Hypervisor (Type 2)
Host OS
Server
Guest
OS
App
A’
Gues
t
OS
App
B
Gues
t
OS
App A’
Docker
Host OS
Server
App A
Bins/Libs
Bins/Libs
App B
App B’
App B’
App B’
VM
Container
Containers are isolated,
but share OS and, where
appropriate, bins/libraries
Guest
OS
Guest
OS
…result is significantly faster
deployment, much less overhead,
easier migration, faster restart
22. Why are Docker containers lightweight?
VMs Containers
App
A
Bins
/
Libs
Original App
(No OS to take
up space, resources,
or require restart)
App
Δ
Bins
/
App
A
Bins
/
Libs
App
A’
Bins
/
Libs
Gues
t
OS
Modified App
Copy on write
capabilities allow us to
only save the diffs
between container A
and container A’
VMs
App
A
Bins
/
Libs
Guest
OS
Every app, every copy of an
app, and every slight modification
of the app requires a new virtual server
App
A
Copy of
App
No OS. Can
Share bins/libs
Guest
OS
Guest
OS
25. What are the basics of the Docker system?
Dockerfile
For
A
Source
Code
Repositor
y
Docker Engine
Docker
Container
Image
Registry
Build
Docker
Host 2 OS (Linux)
Container A
Container B
Container C
Container A
Push
Search
Pull
Run
Host 1 OS
(Linux)
26. Changes and Updates
App
A’’
Bins
/
Libs
Docker Engine
Docker
Container
Image
Registry
Push
Update
Docker Engine
App
A
Bins
/
Libs
App
Δ
Bins
/
Base
Container
Image
Host is now running
A’’
Container
Mod A’’
App
Δ
Bins
/
App
A
Bins
/
Libs
Bins
/
Host running A wants to upgrade to A’’.
Requests update. Gets only diffs
Container
Mod A’
27. A new open source project… or the next big thing?
• Compatible with Jenkins, Travis, Chef, Puppet, Vagrant and OpenStack…
• Ecosystem: lots of tools, even by serious contributors (Google –
Kubernetes, cAdvisor - NetFlix …), new IAAS provider emerge (like
Tutum),
• Supported by Amazon, Google, Microsoft, Rackspace, Digital Ocean,
Joyent, RedHat, …
• Momentum... See pull requests numbers and frequency to get an idea
• Used in production… even by big players (HP, Ebay, New Relic, Etsy,
Yelp, Spotify, …)
28. Ecosystem Support
• Operating systems
– Virtually any distribution with a 2.6.32+ kernel
– Red Hat/Docker collaboration to make work across RHEL 6.4+, Fedora, and other members of the family (2.6.32
+)
– CoreOS—Small core OS purpose built with Docker
• OpenStack
– Docker integration into NOVA (& compatibility with Glance, Horizon, etc.) accepted for Havana release
• Private PaaS
– OpenShift
– Solum (Rackspace, OpenStack)
– Other TBA
• Public PaaS
– Deis, Voxoz, Cocaine (Yandex), Baidu PaaS
• Public IaaS
– Native support in Rackspace, Digital Ocean,+++
– AMI (or equivalent) available for AWS & other
• DevOps Tools
– Integrations with Chef, Puppet, Jenkins, Travis, Salt, Ansible +++
• Orchestration tools
– Mesos, Heat, ++
– Shipyard & others purpose built for Docker
• Applications
– 1000’s of Dockerized applications available at index.docker.io
29. Use Cases
• Ted Dziuba on the Use of Docker for Continuous Integration at Ebay Now
– https://speakerdeck.com/teddziuba/docker-at-ebay
– http://www.youtube.com/watch?feature=player_embedded&v=0Hi0W4gX--4
• Sasha Klizhentas on use of Docker at Mailgun/Rackspace
• http://www.youtube.com/watch?feature=player_embedded&v=CMC3xdAo9RI
• Sebastien Pahl on use of Docker at CloudFlare
• http://www.youtube.com/watch?feature=player_embedded&v=-Lj3jt_-3r0
• Cambridge HealthCare
• http://blog.howareyou.com/post/62157486858/continuous-delivery-with-docker-and-
jenkins-part-i
• Red Hat Openshift and Docker
• https://www.openshift.com/blogs/technical-thoughts-on-openshift-and-docker
30. Use Cases—From the Community
Use Case Examples Link
Clusters Building a MongoDB cluster using docker http://bit.ly/1acbjZf
Production Quality MongoDB Setup with Docker http://bit.ly/15CaiHb
Wildfly cluster using Docker on Fedora http://bit.ly/1bClX0O
Build your own PaaS OpenSource PaaS built on Docker, Chef, and Heroku Buildpacks http://deis.io
Web Based
JiffyLab – web based environment for the instruction, or lightweight use of,
Environment for
Python and UNIX shell
Instruction
http://bit.ly/12oaj2K
Easy Application
Deployment
Deploy Java Apps With Docker = Awesome http://bit.ly/11BCvvu
How to put your development environment on docker http://bit.ly/1b4XtJ3
Running Drupal on Docker http://bit.ly/15MJS6B
Installing Redis on Docker http://bit.ly/16EWOKh
Create Secure
Sandboxes
Docker makes creating secure sandboxes easier than ever http://bit.ly/13mZGJH
Create your own SaaS Memcached as a Service http://bit.ly/11nL8vh
Automated Application
Deployment
Multi-cloud Deployment with Docker http://bit.ly/1bF3CN6
Continuous Integration
and Deployment
Next Generation Continuous Integration & Deployment with dotCloud’s
Docker and Strider
http://bit.ly/ZwTfoy
Testing Salt States Rapidly With Docker http://bit.ly/1eFBtcm
Lightweight Desktop
Virtualization
Docker Desktop: Your Desktop Over SSH Running Inside Of A Docker
Container
http://bit.ly/14RYL6x
31. How to build an image?
Two ways to create an image:
• You work in a container, then commit it for exploratory work
• You build a new image from a Dockerfile for automated,
repeatable process
32. 1 container ?= (1process|1task|other) ?
Best practices appear
• Do not force you to 1 process per container
• Ideal case: 1 ‘task’ per container, with separation of
concerns.
• The task might require 1 single process
• Or 0 (for data-only containers)
• Or several (ex: nginx+php-fpm, monitoring, …)
33. Containers are isolated…
then how to make them talk to each other?
• Private network between containers
• Linking to make them easy to talk to a friend container
• Expose ports
• Mount volumes (rw or ro)
• Advanced/not so trivial other solutions
–Service discovery
–Enter into the container’s namespace
34. How to handle data persistence
• Data only containers, sharing data volumes
• Mounting this data volumes in the running containers
35. How to handle data persistence
How data volume works
36. How to handle data persistence
How data volume works
37. Demo time!
• Quick look at the Docker commands
• Isolation demo
• Multi containers demo: installing and launching Go Math!
Academy in seconds.
• Running unit tests in a container
39. Warning
•Docker is great
–It reduces dependencies, provides isolated and
controlled context
•But it brings new tools, and new technologies, hence
a potential complexity increase
–libswarm, systemd, etcd, ambassadord, fleet, etc
40. Some references
• Start by the online tutorial and documentation, they are
great!
• Here’s some links kept while learning… but so much
available!
–Eight Docker Development Patterns
–Panamax and Docker and Some Best Practices
–Tutum blog
–The 5 Most Important Things I’ve Learned From Using
Docker
–Understanding Docker Volumes
–Docker's Youtube videos
41. More references
First steps
• dotScale 2013 - Solomon Hykes - Why we built Docker (video)
• Twitter University – Solomon Hykes – Introduction to Docker (video)
Going further
• Docker layers cost (blog), on how to optimize your images layer size.
• Twitter University - Docker at Spotify (video)
• Top 10 open-source Docker developer tools (blog, incomplete but gives ideas)
• Docker In-depth: Volumes (blog)
Food for thought / Stimulate your imagination
• AWS re:Invent 2014 - Lightning fast deploys with Docker containers and AWS (video,
slides)
• FutureStack14 - Docker and the Future of Modern Software (New Relic blog, video)
• AWS re:Invent 2014 - Infrastructure as Code (video, more related to Cloudformation
than to Docker but very inspiring if you consider the two technologies)
• Alternative? Rocket by CoreOS… started a debate (like Joyent answer)
42. Tools for dev, day-to-day
• For everyone
• On Mac
– Kitematic UI to manage your images/containers
• On Windows
– Try the new XShell5 beta to easily deal with all your current containers
• So many others… and new ones every week
• Fig (Fast isolated environments, by Docker) repo, site
• A Better Development Environment with Docker and Fig (blog)
• Lots of tools to manage multi containers apps: Kubernetes, Shipyard,
Panamax,