This slightly tongue in cheek lightning talk shows how to get started with Microsoft SQL server on Linux in Docker.It explains installation, startup, data base creation on a local volume and how to connect using ODBC or JDBC.
Practical information on how to Optimize Virtual Machines for High Performance by Boyan Krosnov, Chief Product Officer at StorPool Storage
Presentation delivered at OpenNebula TechDay Sofia on 25-th of February 2016
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebula Project
How to use Bacula and live snapshot’s capabilities on OpenNebula to make backups of your virtual machines and store them.
Author Biography
Automate all the things! I love using any tool to make things to work automagically.
Historically, sharing a Linux server entailed all kinds of untenable compromises. In addition to the security concerns, there was simply no good way to keep one application from hogging resources and messing with the others. The classic “noisy neighbor” problem made shared systems the bargain-basement slums of the Internet, suitable only for small or throwaway projects.
Serious use-cases traditionally demanded dedicated systems. Over the past decade virtualization (in conjunction with Moore’s law) has democratized the availability of what amount to dedicated systems, and the result is hundreds of thousands of websites and applications deployed into VPS or cloud instances. It’s a step in the right direction, but still has glaring flaws.
Most of these websites are just piles of code sitting on a server somewhere. How did that code got there? How can it can be scaled? Secured? Maintained? It’s anybody’s guess. There simply isn’t enough SysAdmin talent in the world to meet the demands of managing all these apps with anything close to best practices without a better model.
Containers are a whole new ballgame. Unlike VMs, you skip the overhead of running an entire OS for every application environment. There’s also no need to provision a whole new machine to have a place to deploy, meaning you can spin up or scale your application with orders of magnitude more speed and accuracy.
Docker introduction based on webdevops environment and some tips about using docker for developing Neos CMS.
Presented at the Neos Meetup Munich on 23rd August 2017.
This document provides instructions for installing and configuring the OpenStack Glance image service. It begins with setting up the necessary variables and creating the Glance service and database in Keystone. It then walks through installing and configuring Glance, verifying the installation, and uploading two test images. It concludes by discussing some concepts of Glance like image formats and providing references for more documentation. The next steps outlined are expanding the deployment to two servers by modifying Vagrant files and installing necessary Nova packages to introduce compute functionality.
This document discusses various techniques for customizing and optimizing virtual machine images in QCOW2 format. These include mounting images to modify files, using libguestfs and virt-tools, creating CDROMs and scripts for customization, and optimizing images with virt-sparsify to remove unused data and compress images.
This document summarizes a presentation on KVM optimizations and best practices for both desktop and datacenter use. It covers tools like Libvirtd and virt-manager, virtio drivers, image backends like Qcow2, CPU pinning and cgroups, networking configurations, desktop sharing with SPICE, and challenges in cloud deployments around live migration, storage, and network isolation.
MS Cloud Day - Building web applications with Azure storageSpiffy
This document provides an overview and agenda for a Microsoft Cloud Day session on building web applications with Azure Storage. The session will cover Blob, Table, and Queue storage capabilities in Azure, including how to create storage accounts, upload and retrieve blobs, create and query tables, and use queues for communication between services. Attendees will learn best practices for scalability when using Azure Storage.
Practical information on how to Optimize Virtual Machines for High Performance by Boyan Krosnov, Chief Product Officer at StorPool Storage
Presentation delivered at OpenNebula TechDay Sofia on 25-th of February 2016
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebula Project
How to use Bacula and live snapshot’s capabilities on OpenNebula to make backups of your virtual machines and store them.
Author Biography
Automate all the things! I love using any tool to make things to work automagically.
Historically, sharing a Linux server entailed all kinds of untenable compromises. In addition to the security concerns, there was simply no good way to keep one application from hogging resources and messing with the others. The classic “noisy neighbor” problem made shared systems the bargain-basement slums of the Internet, suitable only for small or throwaway projects.
Serious use-cases traditionally demanded dedicated systems. Over the past decade virtualization (in conjunction with Moore’s law) has democratized the availability of what amount to dedicated systems, and the result is hundreds of thousands of websites and applications deployed into VPS or cloud instances. It’s a step in the right direction, but still has glaring flaws.
Most of these websites are just piles of code sitting on a server somewhere. How did that code got there? How can it can be scaled? Secured? Maintained? It’s anybody’s guess. There simply isn’t enough SysAdmin talent in the world to meet the demands of managing all these apps with anything close to best practices without a better model.
Containers are a whole new ballgame. Unlike VMs, you skip the overhead of running an entire OS for every application environment. There’s also no need to provision a whole new machine to have a place to deploy, meaning you can spin up or scale your application with orders of magnitude more speed and accuracy.
Docker introduction based on webdevops environment and some tips about using docker for developing Neos CMS.
Presented at the Neos Meetup Munich on 23rd August 2017.
This document provides instructions for installing and configuring the OpenStack Glance image service. It begins with setting up the necessary variables and creating the Glance service and database in Keystone. It then walks through installing and configuring Glance, verifying the installation, and uploading two test images. It concludes by discussing some concepts of Glance like image formats and providing references for more documentation. The next steps outlined are expanding the deployment to two servers by modifying Vagrant files and installing necessary Nova packages to introduce compute functionality.
This document discusses various techniques for customizing and optimizing virtual machine images in QCOW2 format. These include mounting images to modify files, using libguestfs and virt-tools, creating CDROMs and scripts for customization, and optimizing images with virt-sparsify to remove unused data and compress images.
This document summarizes a presentation on KVM optimizations and best practices for both desktop and datacenter use. It covers tools like Libvirtd and virt-manager, virtio drivers, image backends like Qcow2, CPU pinning and cgroups, networking configurations, desktop sharing with SPICE, and challenges in cloud deployments around live migration, storage, and network isolation.
MS Cloud Day - Building web applications with Azure storageSpiffy
This document provides an overview and agenda for a Microsoft Cloud Day session on building web applications with Azure Storage. The session will cover Blob, Table, and Queue storage capabilities in Azure, including how to create storage accounts, upload and retrieve blobs, create and query tables, and use queues for communication between services. Attendees will learn best practices for scalability when using Azure Storage.
This document discusses containerization using Docker and compares it to virtual machines. It explains that containers provide operating system-level virtualization using less resources than full virtual machines. Docker simplifies containerization of applications and services, provides tools for building, sharing, and running containerized applications across environments. Key Docker commands and concepts are demonstrated including building images, running containers, linking and networking containers, managing container storage and configuration, and using Docker Compose and Swarm for orchestration.
MySQL NDB 8.0 clusters in your laptop with dbdeployerGiuseppe Maxia
- dbdeployer is a command line tool that allows users to quickly deploy and manage MySQL and MySQL Cluster (NDB) databases across multiple nodes.
- It can install single MySQL sandboxes, master-slave replication clusters, and MySQL Cluster configurations with 3 or more nodes.
- When deploying a MySQL Cluster, dbdeployer automatically generates configuration files, starts the NDB management and data nodes, and then starts the MySQL nodes to connect to the cluster. This simplifies setting up test and development environments for MySQL Cluster.
This document summarizes the 2008 MySQL Conference. It provides information on the dates, location, speakers, and over 2000 attendees. It outlines several new features discussed at the conference, including MySQL 5.1, Workbench, hot backups, memcached integration, and testing tools. It also covers topics like Amazon EC2 storage, Gearman, query caching, backups, InnoDB improvements, and scaling strategies used by companies like Facebook, Flickr, and Wikipedia.
Performance is fundamentally, a UX concern. Sites that are slow to render or janky to interact with are a bad user experience. We strive to write performant code for our users, but users don’t directly interact with our code - it all happens through the medium of the browser. The browser is the middleman between us and our users; therefore to make our users happy, we first have to make the browser happy. But how exactly do we do that?
In this talk, we’ll learn how browsers work under the hood: how they request, construct, and render a website. At each step along the way, we’ll cover what we can do as developers to make the browser’s job easier, and why those best practices work. You’ll leave with a solid understanding of how to write code that works with the browser, not against it, and ultimately improves your users’ experience.
This document provides instructions for setting up a MongoDB replica set across multiple virtual machines. It describes installing MongoDB on each VM, creating directories to store data, configuring the yum repository, and installing MongoDB packages. It then explains how to initialize and configure a local 3-node replica set, add members, and check the replica set status. Finally, it briefly discusses connecting to primary and secondary members, performing CRUD operations, and setting up MongoDB Management Service (MMS) for monitoring and backups.
Giuseppe Maxia presents dbdeployer, a command line tool for deploying MySQL sandboxes. Dbdeployer allows for easy installation of single server, replication, and cluster topologies of various MySQL technologies. It supports versions from MySQL 5.0 to 8.0. Dbdeployer installations are isolated, have no dependencies, and allow customization. The tool handles tasks like listing install options, deploying sandboxes, managing operations, and removing installations.
The document discusses Windows Azure Drive, which allows mounting cloud storage as a disk volume. It describes uploading files to Azure blob storage by writing them in pages. It also covers how to work with Azure Drive, including mounting, unmounting, and retrying operations using snapshots if an exception occurs. The drive can be mounted in read-only or read-write modes, and files can be accessed directly as if they were on a local disk.
This document discusses Conair, a Docker implementation that uses systemd for container management and Btrfs for snapshots. It advocates for using fewer configurations and more conventions. Key aspects include using Archlinux as a base image, systemd-networkd for networking, and Btrfs subvolumes and snapshots to manage container images. Conair provides commands like "conair init" to set up the environment and "conair run" and others to manage containers, taking advantage of systemd integration while running multiple services within a single container.
Test complex database systems in your laptop with dbdeployerGiuseppe Maxia
Giuseppe Maxia is a software explorer at VMware who has created several tools for MySQL over the decades, including MySQL-Sandbox. He rewrote MySQL-Sandbox in Go to create a new tool called dbdeployer. Dbdeployer allows users to easily install, configure, and manage isolated MySQL sandboxes on their local machine without dependencies. It provides functionality for single server, replication, and group replication deployments through an intuitive command line interface. The tool handles tasks like port allocation and initialization automatically to simplify the sandbox development workflow.
This document discusses Azure Backup (Recovery Services) and provides an overview of its key concepts and usage scenarios. Azure Backup allows backing up of on-premises servers and virtual machines to Azure storage. It uses storage vaults mapped to Azure Blob storage to store backup recovery points. The Azure Backup Agent installs on machines to perform backups and restores and manage the backup schedule. Site Recovery allows disaster recovery between on-premises and Azure environments, or between two on-premises sites. References and contacts are provided for further information.
This document discusses MongoDB performance tuning and load testing. It provides an overview of areas to optimize like OS, storage and database tuning. Specific techniques are outlined like using SSDs, adjusting journal settings and compacting collections. Load testing is recommended to validate upgrades and hardware changes using tools like Mongo-Perf. The document is from a presentation by Ron Warshawsky of Enteros, a software company that provides performance management and load testing solutions for databases.
Putting rails and couch db on the cloud - Indicthreads cloud computing confe...IndicThreads
This document discusses using CouchDB and NoSQL databases in the cloud. It provides an example application of parsing and storing the Bible in CouchDB. It discusses CouchDB features like document orientation, MapReduce, JSON/HTTP interface and creating views. It also discusses hosting a Rails application using these features on Heroku and scaling options for CouchDB including replication and using a proxy like CouchDB Lounge.
The document discusses best practices for backing up MongoDB databases. It explains that backups are important for availability and recovery from data loss. There are two main types of backups: one-time snapshots that capture a point-in-time view and incremental backups that capture changes since the last snapshot. The key steps for taking a one-time snapshot of a sharded cluster are to stop the balancer, take snapshots of the config servers and secondaries of each shard, restart the balancer, and copy the snapshots. Important considerations for backups include minimizing downtime and optimizing storage efficiency.
Common Pitfalls for your Drupal Site, and How to Avoid ThemAcquia
Drupal can be a resource-intensive system. Any moderately complicated site will generate a lot of database queries and use a fair amount of memory to build pages to serve to visitors. With some judicious tuning, however, Drupal can perform really well, and at scale.
In this webinar, Drew Webber, Principal Support Engineer at Acquia, will discuss some common pitfalls encountered by sites that struggle in the face of increased traffic. Attendees will walk away with a deeper understanding of:
-The most common problems encountered when it comes to Drupal site performance
-Ways of identifying performance bottlenecks on your Drupal site
-How to avoid these common pitfalls and remedy these issues (often without writing a single line of code!)
-What not to do when building and running your site
Tuesday, July 30th session of the vBrownBag OpenStack Sack Lunch Series: Couch to OpenStack. We cover Nova, the Compute Service that deploys and runs VMs.
The document discusses dbdeployer, a command line tool for deploying and testing MySQL database topologies. It can deploy single or multiple MySQL instances, as well as complex topologies like replication, group replication, and multi-source replication with a single command. Dbdeployer aims to make deploying and testing databases fast and easy by avoiding repetitive manual tasks. It has features for upgrading and importing existing databases.
This document summarizes configuration management tools and introduces Ansible. It notes that Puppet and bcfg2 are pull-based with custom authentication and performance issues, while Ansible is push-based using SSH keys, fast with no daemons. Ansible can be installed with pip and used immediately in one-shot mode or with playbooks for complete configuration management. Playbooks allow defining collections of actions like one-shot mode with notifications. The document concludes that Ansible can go from zero to production in minutes with no custom setup or dependencies.
Like all frameworks, Drupal comes with a performance cost, but there are many ways to minimise that cost.
This session explores different and complementary ways to improve performance, covering topics such as caching techniques, performance tuning, and Drupal configuration.
We'll touch on benchmarking before presenting the results from applying each of the performance techniques against copies of a number of real-world Drupal sites.
Deploying Windows Containers on Windows Server 2016Ben Hall
This document discusses deploying Docker containers on Windows Server 2016. It provides an introduction to Docker and containers, explains how containers work on Windows, and demonstrates how to deploy common applications like IIS and ASP.NET within Windows containers. It also covers building Windows-based Docker images, running containers in production, and the future of containers on Windows platforms.
This document provides an overview of Docker for web developers. It defines Docker as a platform for developing, shipping and running applications using container virtualization technology. It describes the main Docker products and tools. It provides examples of using Docker for various programming languages and frameworks like PHP, Java, Python, Node.js, Go, databases and content management systems like WordPress, Joomla and Drupal. The document also discusses Dockerfiles, Docker Compose, Docker commands and repositories.
This document discusses containerization using Docker and compares it to virtual machines. It explains that containers provide operating system-level virtualization using less resources than full virtual machines. Docker simplifies containerization of applications and services, provides tools for building, sharing, and running containerized applications across environments. Key Docker commands and concepts are demonstrated including building images, running containers, linking and networking containers, managing container storage and configuration, and using Docker Compose and Swarm for orchestration.
MySQL NDB 8.0 clusters in your laptop with dbdeployerGiuseppe Maxia
- dbdeployer is a command line tool that allows users to quickly deploy and manage MySQL and MySQL Cluster (NDB) databases across multiple nodes.
- It can install single MySQL sandboxes, master-slave replication clusters, and MySQL Cluster configurations with 3 or more nodes.
- When deploying a MySQL Cluster, dbdeployer automatically generates configuration files, starts the NDB management and data nodes, and then starts the MySQL nodes to connect to the cluster. This simplifies setting up test and development environments for MySQL Cluster.
This document summarizes the 2008 MySQL Conference. It provides information on the dates, location, speakers, and over 2000 attendees. It outlines several new features discussed at the conference, including MySQL 5.1, Workbench, hot backups, memcached integration, and testing tools. It also covers topics like Amazon EC2 storage, Gearman, query caching, backups, InnoDB improvements, and scaling strategies used by companies like Facebook, Flickr, and Wikipedia.
Performance is fundamentally, a UX concern. Sites that are slow to render or janky to interact with are a bad user experience. We strive to write performant code for our users, but users don’t directly interact with our code - it all happens through the medium of the browser. The browser is the middleman between us and our users; therefore to make our users happy, we first have to make the browser happy. But how exactly do we do that?
In this talk, we’ll learn how browsers work under the hood: how they request, construct, and render a website. At each step along the way, we’ll cover what we can do as developers to make the browser’s job easier, and why those best practices work. You’ll leave with a solid understanding of how to write code that works with the browser, not against it, and ultimately improves your users’ experience.
This document provides instructions for setting up a MongoDB replica set across multiple virtual machines. It describes installing MongoDB on each VM, creating directories to store data, configuring the yum repository, and installing MongoDB packages. It then explains how to initialize and configure a local 3-node replica set, add members, and check the replica set status. Finally, it briefly discusses connecting to primary and secondary members, performing CRUD operations, and setting up MongoDB Management Service (MMS) for monitoring and backups.
Giuseppe Maxia presents dbdeployer, a command line tool for deploying MySQL sandboxes. Dbdeployer allows for easy installation of single server, replication, and cluster topologies of various MySQL technologies. It supports versions from MySQL 5.0 to 8.0. Dbdeployer installations are isolated, have no dependencies, and allow customization. The tool handles tasks like listing install options, deploying sandboxes, managing operations, and removing installations.
The document discusses Windows Azure Drive, which allows mounting cloud storage as a disk volume. It describes uploading files to Azure blob storage by writing them in pages. It also covers how to work with Azure Drive, including mounting, unmounting, and retrying operations using snapshots if an exception occurs. The drive can be mounted in read-only or read-write modes, and files can be accessed directly as if they were on a local disk.
This document discusses Conair, a Docker implementation that uses systemd for container management and Btrfs for snapshots. It advocates for using fewer configurations and more conventions. Key aspects include using Archlinux as a base image, systemd-networkd for networking, and Btrfs subvolumes and snapshots to manage container images. Conair provides commands like "conair init" to set up the environment and "conair run" and others to manage containers, taking advantage of systemd integration while running multiple services within a single container.
Test complex database systems in your laptop with dbdeployerGiuseppe Maxia
Giuseppe Maxia is a software explorer at VMware who has created several tools for MySQL over the decades, including MySQL-Sandbox. He rewrote MySQL-Sandbox in Go to create a new tool called dbdeployer. Dbdeployer allows users to easily install, configure, and manage isolated MySQL sandboxes on their local machine without dependencies. It provides functionality for single server, replication, and group replication deployments through an intuitive command line interface. The tool handles tasks like port allocation and initialization automatically to simplify the sandbox development workflow.
This document discusses Azure Backup (Recovery Services) and provides an overview of its key concepts and usage scenarios. Azure Backup allows backing up of on-premises servers and virtual machines to Azure storage. It uses storage vaults mapped to Azure Blob storage to store backup recovery points. The Azure Backup Agent installs on machines to perform backups and restores and manage the backup schedule. Site Recovery allows disaster recovery between on-premises and Azure environments, or between two on-premises sites. References and contacts are provided for further information.
This document discusses MongoDB performance tuning and load testing. It provides an overview of areas to optimize like OS, storage and database tuning. Specific techniques are outlined like using SSDs, adjusting journal settings and compacting collections. Load testing is recommended to validate upgrades and hardware changes using tools like Mongo-Perf. The document is from a presentation by Ron Warshawsky of Enteros, a software company that provides performance management and load testing solutions for databases.
Putting rails and couch db on the cloud - Indicthreads cloud computing confe...IndicThreads
This document discusses using CouchDB and NoSQL databases in the cloud. It provides an example application of parsing and storing the Bible in CouchDB. It discusses CouchDB features like document orientation, MapReduce, JSON/HTTP interface and creating views. It also discusses hosting a Rails application using these features on Heroku and scaling options for CouchDB including replication and using a proxy like CouchDB Lounge.
The document discusses best practices for backing up MongoDB databases. It explains that backups are important for availability and recovery from data loss. There are two main types of backups: one-time snapshots that capture a point-in-time view and incremental backups that capture changes since the last snapshot. The key steps for taking a one-time snapshot of a sharded cluster are to stop the balancer, take snapshots of the config servers and secondaries of each shard, restart the balancer, and copy the snapshots. Important considerations for backups include minimizing downtime and optimizing storage efficiency.
Common Pitfalls for your Drupal Site, and How to Avoid ThemAcquia
Drupal can be a resource-intensive system. Any moderately complicated site will generate a lot of database queries and use a fair amount of memory to build pages to serve to visitors. With some judicious tuning, however, Drupal can perform really well, and at scale.
In this webinar, Drew Webber, Principal Support Engineer at Acquia, will discuss some common pitfalls encountered by sites that struggle in the face of increased traffic. Attendees will walk away with a deeper understanding of:
-The most common problems encountered when it comes to Drupal site performance
-Ways of identifying performance bottlenecks on your Drupal site
-How to avoid these common pitfalls and remedy these issues (often without writing a single line of code!)
-What not to do when building and running your site
Tuesday, July 30th session of the vBrownBag OpenStack Sack Lunch Series: Couch to OpenStack. We cover Nova, the Compute Service that deploys and runs VMs.
The document discusses dbdeployer, a command line tool for deploying and testing MySQL database topologies. It can deploy single or multiple MySQL instances, as well as complex topologies like replication, group replication, and multi-source replication with a single command. Dbdeployer aims to make deploying and testing databases fast and easy by avoiding repetitive manual tasks. It has features for upgrading and importing existing databases.
This document summarizes configuration management tools and introduces Ansible. It notes that Puppet and bcfg2 are pull-based with custom authentication and performance issues, while Ansible is push-based using SSH keys, fast with no daemons. Ansible can be installed with pip and used immediately in one-shot mode or with playbooks for complete configuration management. Playbooks allow defining collections of actions like one-shot mode with notifications. The document concludes that Ansible can go from zero to production in minutes with no custom setup or dependencies.
Like all frameworks, Drupal comes with a performance cost, but there are many ways to minimise that cost.
This session explores different and complementary ways to improve performance, covering topics such as caching techniques, performance tuning, and Drupal configuration.
We'll touch on benchmarking before presenting the results from applying each of the performance techniques against copies of a number of real-world Drupal sites.
Deploying Windows Containers on Windows Server 2016Ben Hall
This document discusses deploying Docker containers on Windows Server 2016. It provides an introduction to Docker and containers, explains how containers work on Windows, and demonstrates how to deploy common applications like IIS and ASP.NET within Windows containers. It also covers building Windows-based Docker images, running containers in production, and the future of containers on Windows platforms.
This document provides an overview of Docker for web developers. It defines Docker as a platform for developing, shipping and running applications using container virtualization technology. It describes the main Docker products and tools. It provides examples of using Docker for various programming languages and frameworks like PHP, Java, Python, Node.js, Go, databases and content management systems like WordPress, Joomla and Drupal. The document also discusses Dockerfiles, Docker Compose, Docker commands and repositories.
This document introduces Docker and provides an overview of its key features and benefits. It explains that Docker allows developers to package applications into lightweight containers that can run on any Linux server. Containers deploy instantly and consistently across environments due to their isolation via namespaces and cgroups. The document also summarizes Docker's architecture including storage drivers, images, and the Dockerfile for building images.
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQJérôme Petazzoni
Docker is the Open Source container engine. This is an introduction to Docker, what it is, how it works, and some material presenting the new features in versions 0.8 and 0.9.
This document discusses Docker and containers. It begins with an introduction to Docker and the container model. It explains that containers provide isolation using namespaces and cgroups. Containers deploy applications efficiently by sharing resources and deploying anywhere due to standardization. The document then covers building images with Dockerfiles for reproducible builds. It concludes by discussing Docker's future including networking, metrics, logging, plugins and orchestration.
If you're not familiar with Docker yet, here is your chance to catch up: a quick overview of the Open Source Docker Engine, and its associated services delivered through the Docker Hub. It also includes Jérôme will also discuss the new features of Docker 1.0, and briefly explain how you can run and maintain Docker on Azure. In addition, an Azure team member will demonstrate how deploy docker to Azure. The presentation will be followed by a Q&A session!
This document introduces Docker and provides an overview of its key concepts and capabilities. It explains that Docker allows deploying applications into lightweight Linux containers that are isolated but share resources and run at native speeds. It describes how Docker uses namespaces and cgroups for isolation and copy-on-write storage for efficiency. The document also outlines common Docker workflows for building, testing, and deploying containerized applications both locally and in production environments at scale.
This document provides an introduction and overview of Docker and Docker Compose. It begins with background on the speaker and a history of session-based, non-session based, and container-based computing. Key benefits of containers are then outlined. The document explains the terminology used in Docker and provides examples of pulling an image, building an image, and using Docker Compose to define and run a multi-container application with services like Redis, Node, and Nginx. It also lists and briefly explains many common Docker commands.
This document discusses Docker and provides an introduction and overview. It introduces Docker concepts like Dockerfiles, commands, linking containers, volumes, port mapping and registries. It also discusses tools that can be used with Docker like Fig, Baseimage, Boot2Docker and Flynn. The document provides examples of Dockerfiles, commands and how to build, run, link and manage containers.
Scaling Docker Containers using Kubernetes and Azure Container ServiceBen Hall
This document discusses scaling Docker containers using Kubernetes and Azure Container Service. It begins with an introduction to containers and Docker, including how containers improve dependency and configuration management. It then demonstrates building and deploying containerized applications using Docker and discusses how to optimize Docker images. Finally, it introduces Kubernetes as a tool for orchestrating containers at scale and provides an example of deploying a containerized application on Kubernetes in Azure.
Introduction to Docker at the Azure Meet-up in New YorkJérôme Petazzoni
This is the presentation given at the Azure New York Meet-Up group, September 3rd.
It includes a quick overview of the Open Source Docker Engine and its associated services delivered through the Docker Hub. It also covers the new features of Docker 1.0, and briefly explains how to get started with Docker on Azure.
Docker is an open-source container platform that allows applications to run in isolated containers. It provides lightweight virtualization that is portable and can run anywhere. Fig is a developer-friendly tool that builds upon Docker by providing isolated development environments and allowing applications to be shipped with their configuration through a simple YAML file format. Reconnix uses Docker and Fig to develop and deploy applications in a standardized and portable way.
This document discusses how Docker can be used to improve Drupal development. Some of the key benefits mentioned include:
- Setting up new projects and environments is much faster
- Developers can have consistent environments that match production
- Complex stacks with multiple services are easier to configure and maintain
- Upgrades to dependencies like PHP versions are simpler
The document provides examples of using Docker Compose files and custom images to build development, testing, and production environments for Drupal projects with services like MySQL, Solr, Redis, and more. It also demonstrates some tools developed by the author's company to help automate common tasks within Docker environments.
Docker and friends at Linux Days 2014 in Praguetomasbart
Docker allows deploying applications easily across various environments by packaging them along with their dependencies into standardized units called containers. It provides isolation and security while allowing higher density and lower overhead than virtual machines. Core OS and Mesos both integrate with Docker to deploy containers on clusters of machines for scalability and high availability.
This document discusses puppetizing complex applications like sipXecs, an open source voice over IP telephony server. It provides an overview of Puppet and how it can be used to deploy and configure sipXecs in a repeatable, automated way. Challenges with the existing sipXecs installation and configuration are discussed. The document explores potential approaches like using test frameworks and APIs but concludes there is no perfect solution yet and engagement with upstream suppliers may be needed.
Presentation at March 2019 Dutch Postgres User Group Meetup on lessons learnt while migrating from Oracle to Postgres, demo'ed via vagrant test environments and using generic pgbench datasets.
This document discusses running the Elastic Stack (Elasticsearch, Kibana, and Logstash) using Docker. It begins with an introduction and overview of the Elastic ecosystem. It then covers installing and running Elasticsearch, Kibana, and Logstash as Docker images. It demonstrates how to create custom Docker images for each component using Dockerfiles. Finally, it shows how to tie the components together using Docker Compose to deploy the full Elastic Stack with one command.
This document provides an overview of Docker and instructions for installing and using Docker. It discusses what Docker is, the main Docker tools, how to install Docker on different operating systems, and common Docker commands for pulling images, running containers, linking containers, building images with Dockerfiles, and more. The goal is to teach the reader how to containerize a web application using Docker.
Similar to Microsoft SQL Server with Linux and Docker (20)
Expanding skill sets - Broaden your perspective on designroskakori
The term design can mean different things to people from different backgrounds. This talk from the PyGRAZ and UX Graz meetup from 2023-07-25 acts as basis for an open discussion between these two user groups. It describes the "minimum viable everything" design of an actual application under development. Starting from the problem to solve it explores the evolution of the data models and visualizes a major rework. It also showcases a few approaches to "low effort" UI in the early phase of a project when concepts are still in flux.
Die Kombination von Django als Backend und Flutter als mobile App oder Frontend ermöglicht die Entwicklung von Anwendungen in kurzer Zeit mit gut wartbarem Quellcode. Dieser Vortrag von der enterPy 22 Konferenz zeigt an Hand einer Beispielanwendung, wie das geht.
Multiple django applications on a single server with nginxroskakori
This talk explains how to install and setup multiple Django applications on a single server.
The general principle is to setup a systend service for each application that runs in nginx and gunicorn on Ubunto 20 LTS. This results in a lightweight installation that requires only a few and small configuration files that is well integrated in the existing tool chain around systemd.
Helpful pre commit hooks for Python and Djangoroskakori
Pre-commit hooks can help to keep your source code consistent and discover broken code before it makes it into the repository. This lightning talk describes pre-commit hooks that can be helpful when developing with Python, especially when using the Django framework. It also provides consistent example configurations for hooks that have conflicting defaults.
While the Python logging module makes it simple to add flexible logging to your application, wording log messages and choosing the appropriate level to maximize their helpfulness is a topic hardly covered in the documentation. This talk give guidelines on when to choose a certain log level, what information to include and which wording templates to use.
While the technical aspects of using Java logging frameworks are well described in the respective documentation and various blogs, less thought is given on how to actually word log messages, which information to include/exclude and in which situations to apply certain log levels. In this talk we are going to take a closer look at these topics in order to make your software easier to debug and support.
Einführung in Kommunikation und Konfliktmanagement für Software-Entwicklerroskakori
Die Einführung gibt Anregungen, wie Software-Entwickler strukturiert auch in emotionalen Situationen mit underterministischen Zielen effizient zu sachlichen Lösungsansätzen kommen können.
Analyzing natural language feedback using pythonroskakori
This talk outlines how to analyze natural language feedback from restauranteering using Python. It is accompanied by a Jupyter notebook that shows how to use spaCy to split long texts into sentences and token, access the lemma of a token. Next a lexicon is used to match the tokens and assign a topic and rating to each sentence.While the presented algorithm is quite simple to implement and understand it can resolve that constructs like "not very tasty" represent a sentiment of "somewhat bad" despite the positive word "tasty".
This talk describes the design decisions, implementation steps and collected experiences related to migrating data oriented financial applications from Python 2.6 to Python 3.5 in the Raiffeisen Rechenzentrum.
Pygments is a Python package to syntax hightlight over 300 programming languages and text formats. This talk gives an overview on using the pygmentize tool to render source code as HTML, RTF or latex. It then explains the basics of lexers and tokens and show how to use the pygments API to implement source code converters. Finally a step by step life coding section describes how to implement your own lexer step by step.
This document discusses processing XML documents in Python. It introduces XML and its features like namespaces and provides an example XML file. It explains how to use the lxml library to read the XML file into a document object model, extract elements and attributes using XPath queries, and access element tags and text. Namespaces are important in XML and are represented in Clark notation when examining element tags. The document shows how to parse the example XML, extract specific elements matching an XPath, and print out names and other attributes or text of the elements.
Die Darstellung von Unicode-Zeichen in Python ist teilweise nicht ganz einfach nachvollziehbare Thematik. Diese Präsentation gibt Hilfstellungen, um den berüchtigten UnicodeError zu vermeiden. Behandelte Themen sind die Wahl eines Encodings, der richtige Zeitpunkt zum en- und decoden sowie die Erkennung eines verwendeten Encodings ohne entsprechende Dokumentation.
This document introduces how to build a simple trading bot using Python. It outlines communicating with exchanges via APIs, performing trades, analyzing data, and testing without real transactions. The bot queries balances, orders, and market data, applies trading algorithms, and logs statistics. Mock connections allow testing bot decisions against scenario files to validate functionality without financial risk. Overall, Python provides libraries to easily create initial trading bots for learning, even if profits are unlikely.
Python offers several tool and public services that simplify starting and maintaining an open source project. This presentation show cases some of the most helpful one and explains the process, beginning with an empty folder and finishing with a published PyPI package.
Ant ist ein Build-Werkzeug aus der Java-Welt, das auch für Python Projekte verwendbar ist. Diese Präsentation zeigt Beispiele für häufige Aufgaben und beschreibt, wie eine Einbindung in Jenkins zur continuous integration erfolgeb kann.
Kanban zur Abwicklung von Reporting-Anforderungenroskakori
Aufträge zu Auswertungen im Bankwesen stelle durch ihre eine hohe Anzahl möglicher Auftraggeber, eine breite Streuung in der Komplexität und Umsetzungszeit sowie das weit gestreute Technologie-Set eine Herausforderung dar. Kanban ist eine schlanke und flexible Abwicklung, die unterstützt, solche Aufträge produktiv und prompt zu erledigen, so dass sowohl der Kunde als auch der Bearbeiter zufrieden sind. Eine Präsentation erfolgte auf der 9. Anwenderkonferenz für Software Qualität und Test (ASQT) 2011.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving
What began over 115 years ago as a supplier of precision gauges to the automotive industry has evolved into being an industry leader in the manufacture of product branding, automotive cockpit trim and decorative appliance trim. Value-added services include in-house Design, Engineering, Program Management, Test Lab and Tool Shops.
The Microsoft 365 Migration Tutorial For Beginner.pptxoperationspcvita
This presentation will help you understand the power of Microsoft 365. However, we have mentioned every productivity app included in Office 365. Additionally, we have suggested the migration situation related to Office 365 and how we can help you.
You can also read: https://www.systoolsgroup.com/updates/office-365-tenant-to-tenant-migration-step-by-step-complete-guide/
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Conversational agents, or chatbots, are increasingly used to access all sorts of services using natural language. While open-domain chatbots - like ChatGPT - can converse on any topic, task-oriented chatbots - the focus of this paper - are designed for specific tasks, like booking a flight, obtaining customer support, or setting an appointment. Like any other software, task-oriented chatbots need to be properly tested, usually by defining and executing test scenarios (i.e., sequences of user-chatbot interactions). However, there is currently a lack of methods to quantify the completeness and strength of such test scenarios, which can lead to low-quality tests, and hence to buggy chatbots.
To fill this gap, we propose adapting mutation testing (MuT) for task-oriented chatbots. To this end, we introduce a set of mutation operators that emulate faults in chatbot designs, an architecture that enables MuT on chatbots built using heterogeneous technologies, and a practical realisation as an Eclipse plugin. Moreover, we evaluate the applicability, effectiveness and efficiency of our approach on open-source chatbots, with promising results.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
2. Why would I want to use
Microsoft SQL Server on Linux?
●
You don’t. Instead, use PostgreSQL (for larger
projects) or sqllite (for trivial things).
●
When does it still make sense?
– When you locally develop on Linux for customers using
Windows and MS SQL.
– When you want to educate yourself.
– When you want to irritate people on Linuxtage!
3. Why would I want to use Docker for
Microsoft SQL Server?
●
Less clutter after installation.
●
Simple updates of SQL server
→ Container images are maintained by Microsoft.
●
Because Docker is hip!
4. Install docker
●
Depends on several things:
https://docs.docker.com/install/
●
Typically community edition (CE) sufces.
●
With Ubuntu: use Ubuntu Software shop
5. Install MS SQL Server
●
From docker store (requires login):
https://store.docker.com/images/mssql-server-linu
x
●
From command line:
https://docs.microsoft.com/en-us/sql/linux/quickst
art-install-connect-docker?view=sql-server-linux-2
017
$ sudo docker pull microsoft/mssql-server-
linux:2017-latest
6. Run the server
●
sudo docker run
-e 'ACCEPT_EULA=Y'
-e 'MSSQL_SA_PASSWORD=x2-B3.k4'
-p 1401:1433
--name mssql
-d microsoft/mssql-server-linux:2017-latest
●
See also: quick installation guide.
●
Consider changing SA password stored in
environment variable as described there.
7. Running commands in the container
●
Open a shell in the container:
sudo docker exec -it mssql "bash"
●
Send a single shell command to the container:
sudo docker exec -it mssql echo hello world
8. Execute SQL commands
●
Use command line tool sqlcmd
●
Full path: /opt/mssql-tools/bin/sqlcmd
●
Has various options
9. Sqlcmd online help
●
$ sudo docker exec -it mssql
/opt/mssql-tools/bin/sqlcmd -?
●
Useful options:
-b if SQL command fails, abort and set exit code
-S host[,port]
-U username
-P password
-Q run SQL command and exit
-q run SQL command and remain in sqlcmd console
-i some.sql to run SQL commands stored in fle
10. Create a new database
●
sudo docker exec -it mssql
/opt/mssql-tools/bin/sqlcmd
-S localhost
-U SA -P x2-B3.k4
-b -Q "create database linuxtage"
●
Creates data base on container volume
→ will be deleted upon docker rm <image>
●
Use more command line options to create
database on local disk
11. Run with mounted local volume
●
sudo mkdir /home/roskakori/mssql
●
sudo docker run
-e 'ACCEPT_EULA=Y'
-e 'MSSQL_SA_PASSWORD=x2-B3.k4'
-p 1401:1433
-v /home/roskakori/mssql:/var/opt/mssql
--name mssql
-d microsoft/mssql-server-linux:2017-latest
12. Create database on local volume
●
sudo docker exec -it mssql
/opt/mssql-tools/bin/sqlcmd
-S localhost
-U SA -P x2-B3.k4
-b -Q "create database linuxtage on
(name=’ltg_data’,
filename=’/var/opt/mssql/ltg.dat’) log on
(name=’ltg_log’,
filename=’/var/opt/mssql/ltg.log’) "
13. How to access from software
●
On docker, MS SQL runs on port 1433
●
Locally mapped to port 1401
●
To access from local you need drivers
– JDBC driver:
https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sq
l-server?view=sql-server-2017
– ODBC driver for Linux
https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-mic
rosoft-odbc-driver-for-sql-server?view=sql-server-2017
– Avoid jTDS, has issues with modern servers and is not really maintained any
more
●
Supported by various programming languages
– Java: JDBC driver
– Python: pyodbc
14. Install local ODBC for MS SQL
●
See Installing the Microsoft ODBC Driver for SQL Server on Linux and macOS
●
Example for Ubuntu 17.10:
– curl >/tmp/microsoft.asc https://packages.microsoft.com/keys/microsoft.asc
– sudo apt-key add </tmp/microsoft.asc
– curl >/tmp/prod.list https://packages.microsoft.com/confg/ubuntu/17.10/prod.list
– sudo cp /tmp/prod.list /etc/apt/sources.list.d/mssql-release.list
– sudo apt-get update
– sudo ACCEPT_EULA=Y apt-get install msodbcsql17
– sudo ACCEPT_EULA=Y apt-get install mssql-tools
– echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profle
– echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
– source ~/.bashrc
15. Local sqlcmd to docker
●
Port 1401 must be specifed as part of the
hostname
●
Unintuitive syntax using comma
●
sqlcmd -S localhost,1401,1401 -U SA -P x2-B3.k4
-b -Q "select 'hello world'"
16. Summary
●
MS SQL on Linux
– It can be done.
– It does work.
●
Use postgreSQL if possible.
●
Use MS SQL if necessary.
●
Use sqlite if appropriate.
●
Don’t use MySQL / MariaDB.