SlideShare a Scribd company logo
DEVOPS FOR SCALA
Cloud Building
for Scala Enthusiasts
Michele SciabarrĂ 
michele@sciabarra.com
Let's do
Big Data!
Mission
Statement
What I tried
Cloudera Distribution
DC/OS
Ambari
Tectonic
Tuning your
requirements
What they sell What you need
The problem
with customisation
Amount of Customisation
Effort
Home Grown
Third Part
What I want
• What I want:
– Everything in AWS
– Everything in Docker
– Everything built with
Jenkins
• And, of course:
– Easy customizability
– Easy orchestration
– Cheapest solution in
the cloud
What
I do NOT want
• What I DO NOT want:
– Hadoop
• (even if I like it)
– Unused components
eating precious memory
in the cloud
– Be stuck to one version
of a component
Introducing
Mosaico
• It is not a
distribution!
• It is not a
framework!
• Open Source
http://github.com
/sciabarra/Mosaico
• It is a "starter kit" for
– creating a cloud in AWS
with CloudFormation
– Installing Docker and
Docker Swarm with
Ansible
– Building Images with
Jenkins and SBT
– Orchestrating services
with Docker ComposeAmmonite
Warning: documentation not yet ready!
Building on the
shoulders of giants
Ammonite
The real life of
a DevOps
How I feel when
I script with
BASH SCALA
Ammonite
Introducing
by Li Haoyi
Used as
REPL in
Dotty
(Scala 3.0)
Ammonite
Scripting features
How a DevOps
DevEnv Looks like
But we can do
a bit better
Ammonite
within Atom
An Ammonite
script to rule it all
Building the
Images
Building Images
with SBT
The base Image
• Built on top of Alpine Linux
– an "in-memory" ultrasmall linux distro
• Daemontools
– provides monitoring of applications
• Augeas
– Configuration file helper
• Serf
– Provides autodiscovery and inter-container
communication
What is wrong
about
Dockerfile?
• Why do I need SBT to build images?
• No preprocessing available
– download
– move files around
• No dependencies between containers
• No builds using other containers
• No configuration files
• No profiles
Building with
SBT-DOCKER
MosaicoDocker
SBT Plugin
• Extends SBT-
DOCKER
• Model dependencies
between containers
• Can script Dockerfile
generation in scala
• External configuration
files
• Downloading of files
before building the
image
• Ability to compile and
build packages using
other images
• Smart "unpacking" of
archives (removing
unnesessary files)
Four Steps
to the Enlightment
1 2
3 4
Step 1: building
the cloud
Ammonite
Actually: creating the VMs....
Cloud Formation
Customising
cloudformation.yml
conf/cloudformation.yml
lib/Params.sc
how you
create the VMs
CloudFormation
in Action
Step 2 Deploying
Docker Swarm
Ammonite
How ansible
looks like
A collection of tasks
An inventory
file
(generated)
Ansible & Swarm
Ansible & Swarm
Step 3. Building
Docker Images
Preparing
Jenkins
1 2
3
Create a Jenkins
Job to build
4
Building Images
with Jenkins
Final Result
Step 4
Orchestrate
Docker Compose
Ammonite
Orchestrate
Orchestration
Thank You!

More Related Content

What's hot (20)

PDF
Securing Containers From Day One | null Ahmedabad Meetup
Kumar Ashwin
 
PDF
MJ Berends talk - Women & Non-Binary Focused Intro to AWS
AWS Chicago
 
PDF
Heroku
Eberhard Wolff
 
PDF
Magnum Networking Update
Daneyon Hansen
 
PDF
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Fwdays
 
PPTX
ASP.NET vNext
Alex Thissen
 
PDF
Introduction 2 to aws and storage options
Szilveszter Molnár
 
PPTX
Don't worry with bower
Frank van der Linden
 
PPTX
Polarbear recent windows 0day
Japneet Singh
 
PPTX
Ansible day 1.ppt
Gourav Varma
 
PPTX
Run your Dockerized ASP.NET application on Windows and Linux!
Alex Thissen
 
PPTX
From OpenStack to Docker swarm
Nikolay Milovanov
 
PDF
DockerCon US 2015 - Engine Breakout Session
Arnaud Porterie
 
PDF
Immutable infrastructure with Boxfuse
Lars Ă–stling
 
PDF
SF DevOps: Introducing Vagrant
Mitchell Hashimoto
 
PDF
Containerize All the (Multi-Platform) Things! by Phil Estes
Docker, Inc.
 
PDF
Tame your test environment with Docker Compose
Kevin Bell
 
PPTX
Serverless Pune Meetup 1
Vishal Biyani
 
PDF
Fuse integration-services
Christian Posta
 
PDF
Building a bakery of Windows servers with Packer - London WinOps
Ricard Clau
 
Securing Containers From Day One | null Ahmedabad Meetup
Kumar Ashwin
 
MJ Berends talk - Women & Non-Binary Focused Intro to AWS
AWS Chicago
 
Heroku
Eberhard Wolff
 
Magnum Networking Update
Daneyon Hansen
 
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Fwdays
 
ASP.NET vNext
Alex Thissen
 
Introduction 2 to aws and storage options
Szilveszter Molnár
 
Don't worry with bower
Frank van der Linden
 
Polarbear recent windows 0day
Japneet Singh
 
Ansible day 1.ppt
Gourav Varma
 
Run your Dockerized ASP.NET application on Windows and Linux!
Alex Thissen
 
From OpenStack to Docker swarm
Nikolay Milovanov
 
DockerCon US 2015 - Engine Breakout Session
Arnaud Porterie
 
Immutable infrastructure with Boxfuse
Lars Ă–stling
 
SF DevOps: Introducing Vagrant
Mitchell Hashimoto
 
Containerize All the (Multi-Platform) Things! by Phil Estes
Docker, Inc.
 
Tame your test environment with Docker Compose
Kevin Bell
 
Serverless Pune Meetup 1
Vishal Biyani
 
Fuse integration-services
Christian Posta
 
Building a bakery of Windows servers with Packer - London WinOps
Ricard Clau
 

Similar to DevOps for Scala (20)

PDF
Mihai Criveti - PyCon Ireland - Automate Everything
Mihai Criveti
 
PDF
Connect2016 - 1172 Shipping domino
Matteo Bisi
 
PDF
Connect2016 Shipping Domino
Factor-y S.r.l.
 
PDF
Dockercon eu tour 2015 - Devoxx Casablanca
Michel Courtine
 
PPTX
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Fwdays
 
PDF
Vagrant For DevOps
Lalatendu Mohanty
 
PPTX
Discussing the difference between docker dontainers and virtual machines
Steven Grzbielok
 
PDF
Docker Basics
Peter Perger
 
PDF
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
The Linux Foundation
 
PDF
PC = Personal Cloud (or how to use your development machine with Vagrant and ...
Codemotion
 
PPT
Linux containers and docker
Fabio Fumarola
 
PPTX
A docker love story
Brian de Heus
 
PPTX
Vagrant + Docker
David Giordano
 
ODP
An Introduction To Docker
James fraser
 
PDF
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOS
Julia Mateo
 
PPTX
Manta Unleashed BigDataSG talk 2 July 2013
Christopher Hogue
 
PDF
Docker introduction
Marcelo Ochoa
 
PDF
Consistent Development Environment with Vagrant and Chef
Gerald Villorente
 
PPTX
Domino on docker version 1
Slobodan Lohja
 
PPTX
Docker In Brief
Ritu Kamthan
 
Mihai Criveti - PyCon Ireland - Automate Everything
Mihai Criveti
 
Connect2016 - 1172 Shipping domino
Matteo Bisi
 
Connect2016 Shipping Domino
Factor-y S.r.l.
 
Dockercon eu tour 2015 - Devoxx Casablanca
Michel Courtine
 
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Fwdays
 
Vagrant For DevOps
Lalatendu Mohanty
 
Discussing the difference between docker dontainers and virtual machines
Steven Grzbielok
 
Docker Basics
Peter Perger
 
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
The Linux Foundation
 
PC = Personal Cloud (or how to use your development machine with Vagrant and ...
Codemotion
 
Linux containers and docker
Fabio Fumarola
 
A docker love story
Brian de Heus
 
Vagrant + Docker
David Giordano
 
An Introduction To Docker
James fraser
 
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOS
Julia Mateo
 
Manta Unleashed BigDataSG talk 2 July 2013
Christopher Hogue
 
Docker introduction
Marcelo Ochoa
 
Consistent Development Environment with Vagrant and Chef
Gerald Villorente
 
Domino on docker version 1
Slobodan Lohja
 
Docker In Brief
Ritu Kamthan
 
Ad

Recently uploaded (20)

PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PPTX
Presentation about Database and Database Administrator
abhishekchauhan86963
 
PDF
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
PDF
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PPTX
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PDF
Virtual Threads in Java: A New Dimension of Scalability and Performance
Tier1 app
 
PDF
SAP GUI Installation Guide for macOS (iOS) | Connect to SAP Systems on Mac
SAP Vista, an A L T Z E N Company
 
PDF
AI Image Enhancer: Revolutionizing Visual Quality”
docmasoom
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
Presentation about Database and Database Administrator
abhishekchauhan86963
 
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
Presentation about variables and constant.pptx
kr2589474
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
Virtual Threads in Java: A New Dimension of Scalability and Performance
Tier1 app
 
SAP GUI Installation Guide for macOS (iOS) | Connect to SAP Systems on Mac
SAP Vista, an A L T Z E N Company
 
AI Image Enhancer: Revolutionizing Visual Quality”
docmasoom
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
Activate_Methodology_Summary presentatio
annapureddyn
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
Ad

DevOps for Scala