If you can't read please download the document
Upload
mauro-morales
View
43
Download
1
Embed Size (px)
Citation preview
Before Presentation
[ ] Terminal in the middle of the window
[ ]
Dockerizing Your Infrastructure with Machinery
How I Learned to Stop Worrying and Love the Container
Mauro [email protected]
Background
Data Center Image by Wikieditor243Sysadmin complicated life- many different kinds of apps- many different ways to deploy- critical decisions early on.
Mention DATA CENTER - deeper
Application Containers
Docker promises application will run the same way everywhere (physical, virtual, cloud, openstack, raspberry pi)
Support DevOps approach
Reproducibility
Single purpose containers
LightweightStart/stop time
Lots of containers
Build --- run --- deploy!!!!
Container tech what is it?????Processes isolated kernel features
Runtime runc stuff look for terms
More than the runtime
Docker
Build --- run --- deploy!!!!Container tech what is it?????Processes isolated kernel featuresRuntime runc stuff look for termsMore than the runtimeShow dockerfile to explain
But How Do We Get to This?
Container Ship Image by Ana UlinSeparate applications into more easy to manage services
Easy way to get started
You don't want to start from scratch, you already have a datacenter
Containerize a Rails App
3 tier web app
More explicit:This is how we imagine4 steps 1,23,4 are what is happening and this is what I'll show you
Using Portus as an exampleit is a webfront for the registryit's not required to the containerization but it's part of the example
Demo
Mentions this is step 1, 2, 3, 4
Portus
Web frontend for the registry
way to share docker images
docker hub public image of that
registry is when you do it on your own
SUSE project!!!!
STEP 1
Inspect a system
Show system description in HTMLmention also available from CLI
Do the workload identification manually from HTML
See inside the files!
STEP 2 & 3
Containerize a system description
STEP 4
Orchestrate a containerized system with compose
SUCCESS!!!
Workload Identification
if system.runs_service?("mysql") identify "mariadb", "db" parameter "user", "dbuser" parameter "password", SecureRandom.base64end
Orchestration Template
mariadb: build: ./mariadb volumes: - ./mariadb/data:/var/lib/mysql environment: DB_USER: :user DB_PASS: :password
Summary
we are providing templates, which we recommend, best practices as we know themdynamic fill it with data, more powerfull than tutorials
Machinery
CLI app for creating descriptions
insight into existing systems, to store and track their state
create new systems based on existing ones
comparisons between systems.
export descriptions to other tools for installation, migration, image building, containerization, or cloud deployment
defined interfaces to work with system descriptions from your custom tools.
Modular
SHOW JSON
1 click installsEasy get started guides for debian, rhel, centos, fedora
Opensouceruby
Where to Go From Here?
Workloads
Templates
Orchestration
Really running in production
Node balancers
Kubernetes
Questions?
Get In Touch!
github.com/SUSE/machinery/issues
@_mauromorales
Join us atmachinery-project.org
Thank you.
Corporate HeadquartersMaxfeldstrasse 590409 NurembergGermany
+49 911 740 53 0 (Worldwide)www.suse.com
Join us on:www.opensuse.org
Unpublished Work of SUSE LLC. All Rights Reserved.This work is
an unpublished work and contains confidential, proprietary and
trade secret information of SUSE LLC.
Access to this work is restricted to SUSE employees who have a need
to know to perform tasks within the scope of their assignments. No
part of this work may be practiced, performed, copied, distributed,
revised, modified, translated, abridged, condensed, expanded,
collected, or adapted without the prior written consent of
SUSE.
Any use or exploitation of this work without authorization could
subject the perpetrator to criminal and civil liability.
General DisclaimerThis document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for SUSE products remains at the sole discretion of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.