Despite massive use of public cloud resources, it is often practical and sometimes necessary to build local test environments. Even without a permanent internet connection, features can be tested, developed and researched. There are many different frameworks and tools for building a local test environment. There are big differences in terms of intended use, resource consumption and compatibility. In the presentation the different possibilities will be discussed in more detail and the advantages and disadvantages of the individual products will be presented. It will also be shown how an intelligent sharing of the created environments is possible.
8. Requirements for local environments
Small footprint in terms of
resources
Mainly similar to
production
Completly local
DB
Application
Server
Webserver ...
Endian OS
Versions Libraries
Storage CPU
RAM
Performan
ce
14. Container
• Less overhead from environment
• Shared kernel, but seperate libaries and runtime environment
• Flexibel
• OS dependencies
• Docker
• Podman
• Libvirt
Host
OS
ContainerContainer
AppDB
Container Runtime
15. Docker
• Large distribution
• Large amout of prebuild images available
on hub.docker.com
• Build described as code (Dockerfile)
16. Sandbox
• Less overhead from environment
• Shared kernel and libraries but separated runtime environment
• Wine / CrossOver
• Windows Subsystem for Linux (Wsl)
Host
OS
Runtime envRuntime env
AppDB
18. Dependencies
• Maybe different for developer (linux, windows, macOS)
• Maybe different ways of working (IDEs)
• Maybe diffrent requirements for frontend, backend, mobile, …
• Available integration for IDEs
• Breakpoints
• Watching variables
• Tool dependencies
• Docker and Virtual box not in parallel
20. Automation
• Automatic setup and update of the environment
• Including Network
• Automatic start and stop with dependencies
• Automatic local deployment
• Same for all developers
21. vagrant init
vagrant up
vagrant ssh
Vagrant
• Easy setup
• Large community and ready to use images + vagrantfiles
on app.vagrantup.com
• Syntax based on Ruby
• Virtual Box, Docker, libvirt, …
22. Docker compose
• Only for Docker images
• YAML files for the config
• Supports data persistence, but must be configured
23. Kubernetes
• Container orchestration
• Only for docker or RKT images
• Integrated in docker desktop
• YAML / JSON files for the config
• Supports data persistance, but must be configured
24. Handmade Scripts
• Very flexible
• Huge amount of effort
• Hard to fit several environments / OS / …
• Seperated tests
26. Sharing of environments
• Fully virtualized operating system
• Remove all controlers (audio/usb)
• Remove all images (cd /disktette)
• Use VMDK format (short for Virtual Machine Disk) supported by Virtual Box, Vmware , Parallels
Desktop, …
• Split disks into 2g files
• Virtual box
• Install latest vbaddins
• Use the same version of virtual box
27. Sharing of environments
• Cointainer
• Share definition file (Dockerfile) and image
• Small images (minimise additional libraries)
• Easy rebuild with docker file
29. Conclusion
• A Large bunch of tools and options
• Combinations are possible and often useful
• Do it yourself is often to much work
• Prebuild images are the key to fast testing and current versions
• Be careful with network access to your local OS
30. What I use ...
• Windows Subsystem for Linux (WSL)
• Virtual box
• Docker inside virtual box
• Sometimes an additional DNS server
• Vagrant, only for basic vm setup
Hier seht Ihr die wichtigsten Facts & Figures auf einen Blick.
Trivadis wurde 1994 als unabhängiges Dienstleistungs-Unternehmen gegründet.
Heute beschäftigen wir rund 700 Mitarbeitende in 16 Workspaces in der Schweiz, Deutschland, Österreich, Dänemark und Rumänien.
Im letzten Geschäftsjahr haben wir Erfahrungen in über 1900 Kundenprojekte gesammelt und einen Umsatz von rund 118 Millionen CHF erzielt.
Neben der grossen Zahl an Projekten unterstützen wir unsere Kunden in über 250 Service Level Agreements.
Die Basis für die nachhaltige, technologische Exzellenz ergibt sich aus unserem Forschungs- und Entwicklungsbudget. Jährlich investieren wir ca. 5 Mio CHF in die Analyse und Evaluation neuer Technologien und die Ausarbeitung unserer Methoden und Produkte.
Gemeinsam mit unseren Kunden und Partnern gestalten wir die digitale Zukunft.
Überleitung zur nächsten Folie:
Ganz im Sinne unserer Mission
Virtual Box:
- Alle defaults: 3 clicks
- sonst über 10 ohne OS