This presentation gives a brief understanding of docker architecture, explains what docker is not, followed by a description of basic commands and explains CD/CI as an application of docker.
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
This DevOps Docker Tutorial on what is docker ( Docker Tutorial Blog Series: https://goo.gl/32kupf ) will help you understand how to use Docker Hub, Docker Images, Docker Container & Docker Compose. This tutorial explains Docker's working Architecture and Docker Engine in detail. This Docker tutorial also includes a Hands-On session around Docker by the end of which you will learn to pull a centos Docker Image and spin your own Docker Container. You will also see how to launch multiple docker containers using Docker Compose. Finally, it will also tell you the role Docker plays in the DevOps life-cycle.
The Hands-On session is performed on an Ubuntu-64bit machine in which Docker is installed.
A brief introduction to Docker Container technology done at Gurgaon Docker Container Meetup on 30-Jan-2016.
Includes command to launch a simple 2 container linked application that hosts a Etherlite web application.
Introduction to docker. Docker is open source framework that provides "container virtualization". This does not need hypervisor rather works directly with Kernel. It needs x64 Linux and kernel 3.8+ to provide virtualization
Docker Overview - Rise of the ContainersRyan Hodgin
Containers allow for applications to become more portable, organized more efficiently, and configured to make better use of system resources. This presentation will explain Docker's container technology, DevOps approach, partner ecosystem, popularity, performance, challenges, and roadmap. We'll review how containers are changing application and operating system designs.
This presentation gives a brief understanding of docker architecture, explains what docker is not, followed by a description of basic commands and explains CD/CI as an application of docker.
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
This DevOps Docker Tutorial on what is docker ( Docker Tutorial Blog Series: https://goo.gl/32kupf ) will help you understand how to use Docker Hub, Docker Images, Docker Container & Docker Compose. This tutorial explains Docker's working Architecture and Docker Engine in detail. This Docker tutorial also includes a Hands-On session around Docker by the end of which you will learn to pull a centos Docker Image and spin your own Docker Container. You will also see how to launch multiple docker containers using Docker Compose. Finally, it will also tell you the role Docker plays in the DevOps life-cycle.
The Hands-On session is performed on an Ubuntu-64bit machine in which Docker is installed.
A brief introduction to Docker Container technology done at Gurgaon Docker Container Meetup on 30-Jan-2016.
Includes command to launch a simple 2 container linked application that hosts a Etherlite web application.
Introduction to docker. Docker is open source framework that provides "container virtualization". This does not need hypervisor rather works directly with Kernel. It needs x64 Linux and kernel 3.8+ to provide virtualization
Docker Overview - Rise of the ContainersRyan Hodgin
Containers allow for applications to become more portable, organized more efficiently, and configured to make better use of system resources. This presentation will explain Docker's container technology, DevOps approach, partner ecosystem, popularity, performance, challenges, and roadmap. We'll review how containers are changing application and operating system designs.
Introduction to Containers - From Docker to Kubernetes and everything in betweenAll Things Open
Introduction to Containers - From Docker to Kubernetes and everything in between
Presented at: Open Source 101 at Home 2020
Presented by: Brent Laster, SAS
Abstract: In this workshop, students will get a quick overview of what containers are and why they form the basis for many of the key technologies that we use today in cloud environments.
We’ll explore what makes up a container and how they are managed and leveraged in key industry tooling including Docker, Kubernetes, Helm, and Istio. You’ll also learn the basics of these technologies, what they are used for, and see some simple examples of how to use them.
This workshop will include hands-on labs where you will get experience:
- Building container images, running them as containers, and tagging and pushing them into a Docker repository.
- Creating deployments, services, and pods for containers and instantiating and running those in Kubernetes.
- Working with Helm to leverage templates for Kubernetes objects and managing releases in Kubernetes.
- Working with Istio to do traffic shaping between multiple versions of your app, fault and delay injection for testing and validation in Kubernetes.
We’ll also briefly cover GitOps – the recommend Git-based way to manage infrastructure like your Kubernetes cluster.
For more info: https://opensource101.com
MIT Licensed - Reuse freely, but attribute "Hamilton Turner"
An introduction to the Docker container engine. Focuses on how to use Docker and implications of Docker for Cloud-based services. Shows multiple examples of rapidly starting complex environments using Docker. Very minor discussion on how Docker works technically.
Presentation source is available at https://github.com/hamiltont/intro-to-docker
The ABC of Docker: The Absolute Best Compendium of DockerAniekan Akpaffiong
This presentation is my contribution to the body of work around Docker.
It codifies my experience so far, with Docker. The goal is to provide a concise yet complete introduction to Docker and its ecosystem.
I explore various Docker objects, compare containers and virtualization, provide usage examples, and discuss critical concepts around Docker and Linux. The compendium part of this, is aspirational. I will update and add to it as I have time and my experience with the product evolves.
Let me know what you think. Feedback and Likes are always appreciated.
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...Lucas Jellema
Creating and managing environments for development and R&D activities can be cumbersome. Quickly spinning up databases and web servers, using physical resources in a smart way, installing application components, and having all the elements talk to each other can take a lot of time. This session takes you by the hand and introduces you to Vagrant and Oracle VM VirtualBox for quickly provisioning VMs in which Docker containers run platform components, applications, and microservices—all set up by use of Puppet and interacting with Git(Hub). You’ll start from zero on your laptop and end with both local and public cloud environments in which to develop, test, and run various types of applications. Lean governance and evolution of the environments are discussed too.
Docker Container-Introduction and FeaturesAshnikbiz
The Docker Enterprise Difference
Leading companies rely on our container platform to build, manage and secure all their applications from traditional applications to cutting-edge microservices—and deploy them anywhere.
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and moreAll Things Open
Presented by: Brent Laster, SAS
Presented at All Things Open 2020
Abstract: In this workshop, students will get a quick overview of what containers are and why they form the basis for many of the key technologies that we use today in cloud environments.
We’ll explore what makes up a container and how they are managed and leveraged in key industry tooling including Docker, Kubernetes, Helm, and Istio. You’ll also learn the basics of these technologies, what they are used for, and see some simple examples of how to use them.
This workshop will include hands-on labs where you will get experience:
Building container images, running them as containers, and tagging and pushing them into a Docker repository.
Creating deployments, services, and pods for containers and instantiating and running those in Kubernetes.
Working with Helm to leverage templates for Kubernetes objects and managing releases in Kubernetes.
Working with Istio to do traffic shaping between multiple versions of your app, fault and delay injection for testing and validation in Kubernetes.
We’ll also briefly cover GitOps – the recommended Git-based way to manage infrastructure like your Kubernetes cluster.
Discussing the difference between docker dontainers and virtual machinesSteven Grzbielok
This presentation is designed to give an overview about differences of both virtualization methods to provide the reader with the fundamental knowledge to decide in each use case which technology is more suitable.
Docker is one of the fastest-growing open source projects ever, and the ecosystem that has grown around it is evolving at a similar pace. For these reasons, we want to introduce developers, system administrators, and other computer users of a mixed skillset to the Docker project and Linux container concepts.
Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux and Windows Server apps.
Learn More: http://www.collabnix.com
Containers, Docker, and Microservices: the Terrific TrioJérôme Petazzoni
One of the upsides of Microservices is the ability to deploy often,at arbitrary schedules, and independently of other services, instead of requiring synchronized deployments happening on a fixed time.
But to really leverage this advantage, we need fast, efficient, and reliable deployment processes. That's one of the value propositions of Containers in general, and Docker in particular.
Docker offers a new, lightweight approach to application portability.It can build applications using easy-to-write, repeatable, efficient recipes; then it can ship them across environments using a common container format; and it can run them within isolated namespaces which abstract the operating environment, independently of the distribution,versions, network setup, and other details of this environment.
But Docker can do way more than deploy your apps. Docker also enables you to generalize Microservices principles and apply them on operational tasks like logging, remote access, backups, and troubleshooting.This decoupling results in independent, smaller, simpler moving parts.
Docker for Developers talk from the San Antonio Web Dev Meetup in Aug 2023
Never used Docker? This is perfect for you!
New to Docker? You'll learn something for sure!
Links included for all slides, code, and examples
Go from no Docker experience to a fully running web app in one slide deck!
Introduction to Containers - From Docker to Kubernetes and everything in betweenAll Things Open
Introduction to Containers - From Docker to Kubernetes and everything in between
Presented at: Open Source 101 at Home 2020
Presented by: Brent Laster, SAS
Abstract: In this workshop, students will get a quick overview of what containers are and why they form the basis for many of the key technologies that we use today in cloud environments.
We’ll explore what makes up a container and how they are managed and leveraged in key industry tooling including Docker, Kubernetes, Helm, and Istio. You’ll also learn the basics of these technologies, what they are used for, and see some simple examples of how to use them.
This workshop will include hands-on labs where you will get experience:
- Building container images, running them as containers, and tagging and pushing them into a Docker repository.
- Creating deployments, services, and pods for containers and instantiating and running those in Kubernetes.
- Working with Helm to leverage templates for Kubernetes objects and managing releases in Kubernetes.
- Working with Istio to do traffic shaping between multiple versions of your app, fault and delay injection for testing and validation in Kubernetes.
We’ll also briefly cover GitOps – the recommend Git-based way to manage infrastructure like your Kubernetes cluster.
For more info: https://opensource101.com
MIT Licensed - Reuse freely, but attribute "Hamilton Turner"
An introduction to the Docker container engine. Focuses on how to use Docker and implications of Docker for Cloud-based services. Shows multiple examples of rapidly starting complex environments using Docker. Very minor discussion on how Docker works technically.
Presentation source is available at https://github.com/hamiltont/intro-to-docker
The ABC of Docker: The Absolute Best Compendium of DockerAniekan Akpaffiong
This presentation is my contribution to the body of work around Docker.
It codifies my experience so far, with Docker. The goal is to provide a concise yet complete introduction to Docker and its ecosystem.
I explore various Docker objects, compare containers and virtualization, provide usage examples, and discuss critical concepts around Docker and Linux. The compendium part of this, is aspirational. I will update and add to it as I have time and my experience with the product evolves.
Let me know what you think. Feedback and Likes are always appreciated.
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...Lucas Jellema
Creating and managing environments for development and R&D activities can be cumbersome. Quickly spinning up databases and web servers, using physical resources in a smart way, installing application components, and having all the elements talk to each other can take a lot of time. This session takes you by the hand and introduces you to Vagrant and Oracle VM VirtualBox for quickly provisioning VMs in which Docker containers run platform components, applications, and microservices—all set up by use of Puppet and interacting with Git(Hub). You’ll start from zero on your laptop and end with both local and public cloud environments in which to develop, test, and run various types of applications. Lean governance and evolution of the environments are discussed too.
Docker Container-Introduction and FeaturesAshnikbiz
The Docker Enterprise Difference
Leading companies rely on our container platform to build, manage and secure all their applications from traditional applications to cutting-edge microservices—and deploy them anywhere.
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and moreAll Things Open
Presented by: Brent Laster, SAS
Presented at All Things Open 2020
Abstract: In this workshop, students will get a quick overview of what containers are and why they form the basis for many of the key technologies that we use today in cloud environments.
We’ll explore what makes up a container and how they are managed and leveraged in key industry tooling including Docker, Kubernetes, Helm, and Istio. You’ll also learn the basics of these technologies, what they are used for, and see some simple examples of how to use them.
This workshop will include hands-on labs where you will get experience:
Building container images, running them as containers, and tagging and pushing them into a Docker repository.
Creating deployments, services, and pods for containers and instantiating and running those in Kubernetes.
Working with Helm to leverage templates for Kubernetes objects and managing releases in Kubernetes.
Working with Istio to do traffic shaping between multiple versions of your app, fault and delay injection for testing and validation in Kubernetes.
We’ll also briefly cover GitOps – the recommended Git-based way to manage infrastructure like your Kubernetes cluster.
Discussing the difference between docker dontainers and virtual machinesSteven Grzbielok
This presentation is designed to give an overview about differences of both virtualization methods to provide the reader with the fundamental knowledge to decide in each use case which technology is more suitable.
Docker is one of the fastest-growing open source projects ever, and the ecosystem that has grown around it is evolving at a similar pace. For these reasons, we want to introduce developers, system administrators, and other computer users of a mixed skillset to the Docker project and Linux container concepts.
Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux and Windows Server apps.
Learn More: http://www.collabnix.com
Containers, Docker, and Microservices: the Terrific TrioJérôme Petazzoni
One of the upsides of Microservices is the ability to deploy often,at arbitrary schedules, and independently of other services, instead of requiring synchronized deployments happening on a fixed time.
But to really leverage this advantage, we need fast, efficient, and reliable deployment processes. That's one of the value propositions of Containers in general, and Docker in particular.
Docker offers a new, lightweight approach to application portability.It can build applications using easy-to-write, repeatable, efficient recipes; then it can ship them across environments using a common container format; and it can run them within isolated namespaces which abstract the operating environment, independently of the distribution,versions, network setup, and other details of this environment.
But Docker can do way more than deploy your apps. Docker also enables you to generalize Microservices principles and apply them on operational tasks like logging, remote access, backups, and troubleshooting.This decoupling results in independent, smaller, simpler moving parts.
Docker for Developers talk from the San Antonio Web Dev Meetup in Aug 2023
Never used Docker? This is perfect for you!
New to Docker? You'll learn something for sure!
Links included for all slides, code, and examples
Go from no Docker experience to a fully running web app in one slide deck!
Originally Presented at WebSummit 2015. Find all the materials for the workshop here: https://github.com/emccode/training/tree/master/docker-workshop/websummit
The slides talk about Docker and container terminologies but will also be able to see the big picture of where & how it fits into your current project/domain.
Topics that are covered:
1. What is Docker Technology?
2. Why Docker/Containers are important for your company?
3. What are its various features and use cases?
4. How to get started with Docker containers.
5. Case studies from various domains
Docker introduction.
References : The Docker Book : Containerization is the new virtualization
http://www.amazon.in/Docker-Book-Containerization-new-virtualization-ebook/dp/B00LRROTI4/ref=sr_1_1?ie=UTF8&qid=1422003961&sr=8-1&keywords=docker+book
The Axigen Docker image is provided for users to be able to run an Axigen based mail service within a Docker container.
The following services are enabled and mapped as 'exposed' TCP ports in Docker:
§ SMTP (25 - non secure, 465 - TLS)
§ IMAP (143 - non secure, 993 - TLS)
§ POP3 (110 - non secure, 995 - TLS)
§ WEBMAIL (80 - non secure, 443 - TLS)
§ WEBADMIN (9000 - non secure, 9443 - TLS)
CLI (7000 - non secure
Docker is in all the news and this talk presents you the technology and shows you how to leverage it to build your applications according to the 12 factor application model.
Accelerate your software development with DockerAndrey Hristov
Docker is in all the news and this talk presents you the technology and shows you how to leverage it to build your applications according to the 12 factor application model.
My college ppt on topic Docker. Through this ppt, you will understand the following:- What is a container? What is Docker? Why its important for developers? and many more!
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
3. DOCKER IN ACTION - OVERVIEW
WHAT IS DOCKER?
‣ Docker provides the ability to package and run an application in a
loosely isolated environment called a container.
‣ The isolation and security allow you to run many containers
simultaneously on a given host.
‣ Containers are lightweight because they don’t need the extra load of a
hypervisor, but run directly within the host machine’s kernel.
‣ This means you can run more containers on a given hardware
combination than if you were using virtual machines.
‣ You can even run Docker containers within host machines that are
actually virtual machines!
4. DOCKER IN ACTION - OVERVIEW
WHY DOCKER?
‣ Fast, consistent delivery of your applications
‣ Eliminates hacky deployments, mis-configuration, horrible cycles between the two
milestones “code passed testing” and “trying to deploy on production”.
‣ Responsive deployment and scaling
‣ Docker containers can run on a developer’s local laptop, on physical or virtual
machines in a data center, on cloud providers, or in a mixture of environments.
‣ Running more workloads on the same hardware
‣ Docker is lightweight and fast. It provides a viable, cost-effective alternative to
hypervisor-based virtual machines, so you can use more of your compute capacity to
achieve your business goals. Docker is perfect for high density environments and for
small and medium deployments where you need to do more with fewer resources.
6. DOCKER IN ACTION - CONCEPTS
IMAGES VS. CONTAINERS
‣ A container is launched by running an image. An image is
an executable package that includes everything needed to
run an application–the code, a runtime, libraries,
environment variables, and configuration files.
‣ A container is a runtime instance of an image–what the
image becomes in memory when executed (that is, an
image with state, or a user process). You can see a list of
your running containers with the command, docker ps,
just as you would in Linux.
7. DOCKER IN ACTION - CONCEPTS
CONTAINERS VS. VIRTUAL MACHINES
‣ A container runs natively on Linux and shares the kernel of
the host machine with other containers. It runs a discrete
process, taking no more memory than any other
executable, making it lightweight.
‣ By contrast, a virtual machine (VM) runs a full-blown
“guest” operating system with virtual access to host
resources through a hypervisor. In general, VMs provide an
environment with more resources than most applications
need.
9. DOCKER IN ACTION - ARCHITECTURE
‣ Docker uses a client-server architecture.
‣ Docker client talks to the Docker daemon, which does the
heavy lifting of building, running, and distributing your
Docker containers.
‣ Docker client and daemon can run on the same system, or
you can connect a Docker client to a remote Docker daemon.
‣ Docker client and daemon communicate using a REST API,
over UNIX sockets or a network interface.
DOCKER ARCHITECTTURE
10. DOCKER IN ACTION - ARCHITECTURE
‣ The Docker daemon
The Docker daemon dockerd listens for Docker API requests and manages Docker objects such as
images, containers, networks, and volumes. A daemon can also communicate with other daemons to
manage Docker services.
‣ The Docker client
The Docker client (docker) is the primary way that many Docker users interact with Docker. When you
use commands such as docker run, the client sends these commands to dockerd, which carries them
out. The docker command uses the Docker API. The Docker client can communicate with more than one
daemon.
‣ Docker registries
A Docker registry stores Docker images. Docker Hub and Docker Cloud are public registries that anyone
can use, and Docker is configured to look for images on Docker Hub by default. You can even run your
own private registry. If you use Docker Datacenter (DDC), it includes Docker Trusted Registry (DTR).
DOCKER ARCHITECTTURE
12. DOCKER IN ACTION - ARCHITECTURE
When you use Docker, you are creating and using images, containers, networks, volumes,
plugins, and other objects. This section is a brief overview of some of those objects.
‣ IMAGES
An image is a read-only template with instructions for creating a Docker container. Often, an
image is based onanother image, with some additional customization. For example, you may
build an image which is based on the ubuntu image, but installs the Apache web server and
your application, as well as the configuration details needed to make your application run.
You might create your own images or you might only use those created by others and
published in a registry. To build your own image, you create a Dockerfile with a simple syntax
for defining the steps needed to create the image and run it. Each instruction in a Dockerfile
creates a layer in the image. When you change the Dockerfile and rebuild the image, only
those layers which have changed are rebuilt. This is part of what makes images so
lightweight, small, and fast, when compared to other virtualization technologies.
DOCKER OBJECTS
13. DOCKER IN ACTION - ARCHITECTURE
‣ CONTAINERS
A container is a runnable instance of an image. You can create, start, stop, move,
or delete a container using the Docker API or CLI. You can connect a container to
one or more networks, attach storage to it, or even create a new image based on
its current state.
By default, a container is relatively well isolated from other containers and its
host machine. You can control how isolated a container’s network, storage, or
other underlying subsystems are from other containers or from the host machine.
A container is defined by its image as well as any configuration options you
provide to it when you create or start it. When a container is removed, any
changes to its state that are not stored in persistent storage disappear.
DOCKER OBJECTS
14. DOCKER IN ACTION - INSTALLATION
INSTALLATION
▸ Windows 10 with Hyper-V supported HW:
▸ https://docs.docker.com/docker-for-windows/install/
▸ Windows 8.1, 8 and 7 or no Hyper-V supported HW:
▸ https://docs.docker.com/toolbox/toolbox_install_windows/
▸ Ubuntu:
▸ https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-
repository
▸ macOS:
▸ https://docs.docker.com/docker-for-mac/install/
15. DOCKER IN ACTION - INSTALLATION
INSTALLATION PACKAGE
▸ Docker installation contains two main components:
▸ Docker Engine (core)
▸ Docker Compose
16. DOCKER IN ACTION - INSTALLATION
DOCKER ENGINE
Docker Engine is a client-server application with these major components:
‣ A server which is a type of long-running program called a daemon
process (the dockerd command).
‣ A REST API which specifies interfaces that programs can use to talk to
the daemon and instruct it what to do.
‣ A command line interface (CLI) client (the docker command).
18. DOCKER IN ACTION - INSTALLATION
DOCKER COMPOSE
‣ Compose is a tool for defining and running multi-container Docker applications.
‣ With Compose, you use a YAML file to configure your application’s services. Then,
with a single command, you create and start all the services from your
configuration.
‣ Compose works in all environments: production, staging, development, testing, as
well as CI workflows.
‣ Using Compose is basically a three-step process:
‣ Define your app’s environment with a Dockerfile so it can be reproduced anywhere.
‣ Define the services that make up your app in docker-compose.yml so they can be run together
in an isolated environment.
‣ Run docker-compose up and Compose starts and runs your entire app.
19. DOCKER IN ACTION - DAILY OPERATIONS
DAILY OPERATIONS
▸ Build new image for code updates:
▸ If this is the first time to build a docker image for this
code repo, you need to create an initial tag on source
code using this naming strategy master-0.0.0
▸ git checkout master
▸ git tag master-0.0.0
▸ If not, we can just run build.sh script to build a newer
version of the image.
20. DOCKER IN ACTION - DAILY OPERATIONS
DAILY OPERATIONS
▸ Build new docker image for code changes:
▸ If this is the first time to build a docker image for this code repo, you need to create an initial tag on
source code using this naming strategy master-0.0.0
▸ git checkout master
▸ git tag master-0.0.0
▸ Otherwise, you can just run build.sh script to build a newer version of the image.
▸ Script will do the following steps automatically for you:
▸ Check if there is any modifications done after the latest version of image.
▸ If any code modifications found; it will create a new tag on source code repo incremented by
1 (i.e. master-0.0.1).
▸ Push the new tag to source code repo.
▸ Build a new docker image as described in your Dockerfile
▸ Tag you new docker image with the already incremented tag version master-0.0.1
▸ Push your new docker image to your docker registry.
▸ Tag this image version as latest image.
21. DOCKER IN ACTION - DAILY OPERATIONS
DAILY OPERATIONS
▸ Deploy latest code to any docker environment (i.e.
laptop, testing, staging, production)
▸ Run docker-compose pull from the directory having
docker-compose.yml file to download newer image
version.
▸ Run docker-compose up -d to recreate only those
containers using updated images while other remain
uninterrupted.
22. DOCKER IN ACTION - DAILY OPERATIONS
DAILY OPERATIONS
▸ View running service(s) logs
▸ Run docker-compose logs -tf —tail=all to display
and follow all logs for all of your configured services in
docker-compose.yml file.
▸ To display logs for specific container(s) use this
command docker-compose logs -tf <service_name>
to recreate only those containers using updated images
while other remain uninterrupted.
23. DOCKER IN ACTION - REFERENCES
READ MORE ON
▸ https://docs.docker.com/
▸ https://docs.docker.com/install/
▸ https://docs.docker.com/get-started/part2/
▸ https://docs.docker.com/config/daemon/
▸ https://docs.docker.com/registry/
▸ https://docs.docker.com/registry/recipes/mirror/
▸ https://docs.docker.com/docker-hub/
▸ https://docs.docker.com/docker-store/
▸ https://docs.docker.com/machine/overview/
▸ https://docs.docker.com/docker-cloud/