SlideShare a Scribd company logo
1 of 43
Download to read offline
DevOps	
  in	
  prac-ce	
  –	
  
How	
  to	
  keep	
  focus	
  on	
  
your	
  product?	
  
André	
  Christ	
  
Startup	
  Camp	
  Berlin,	
  March	
  	
  2015	
  
Hint:	
  The	
  former	
  capital	
  ;-­‐)	
  
2	
  
Photo:	
  Michael	
  Sondermann/Bundesstadt	
  Bonn	
  
About	
  
3	
  
André	
  Christ	
  
•  Co-­‐Founder	
  &	
  Co-­‐CEO	
  
•  Responsible	
  for	
  IT	
  &	
  Finance	
  
•  Before:	
  DHL,	
  HTGF,	
  Startups	
  
LeanIX	
  GmbH	
  
•  SaaS-­‐Provider	
  for	
  IT	
  Architecture	
  Mgmt	
  
•  Self-­‐Funded,	
  Founded	
  2012	
  in	
  Bonn	
  
•  >	
  20	
  Customers	
  in	
  US,	
  Europe	
  and	
  Australia	
  
	
  
What’s	
  your	
  level	
  of	
  experience	
  with	
  
these	
  tools?	
  
4	
  
“Build,	
  ship,	
  and	
  run	
  
distributed	
  applicaZons”	
  
“Building/tesZng	
  soware	
  
projects	
  conZnuously”	
  
“IT	
  automaZon	
  engine	
  that	
  
automates	
  applicaZon	
  
deployment,	
  configuraZon	
  
management,	
  ….”	
  
Ansible	
  and	
  Docker	
  clearly	
  connected	
  to	
  the	
  
DevOps	
  “Hype”	
  …	
  
5	
  Source:	
  Google	
  Trends	
  
DevOps	
  
Docker	
  
Ansible	
  
…	
  while	
  Jenkins	
  is	
  really,	
  really	
  mature	
  and	
  
widely	
  adopted	
  by	
  all	
  company	
  sizes	
  
6	
  Source:	
  Google	
  Trends	
  
DevOps	
  
Docker	
  
Ansible	
  
Jenkins	
  
Agenda	
  
7	
  
Docker	
  
Ansible	
  
Jenkins	
  
Mo-va-on	
  –	
  How	
  to	
  keep	
  focus	
  on	
  your	
  product?	
  
Summary	
  /	
  Learnings	
  
Challenge	
  1:	
  Serve	
  high-­‐profile	
  customers	
  
worldwide	
  with	
  very	
  limited	
  resources	
  
8	
  
Challenge	
  2:	
  Scale	
  the	
  plahorm	
  with	
  the	
  right	
  
tools	
  for	
  the	
  job	
  
2012	
   2014	
  2013	
  
“MVP”	
  
SSO	
  &	
  Micro	
  
services	
  
Professional	
  Build	
  
Process	
  
Service-­‐	
  &	
  
Quality	
  Ensurance	
  
2015	
  
Single	
  Page	
  
JS	
  App	
  
Challenge	
  3:	
  B2B-­‐SaaS	
  requires	
  flexible	
  
deployment	
  models	
  –	
  Cloud	
  and	
  On-­‐Premise	
  	
  
10	
  
Different	
  cloud	
  environments	
  
•  Amazon	
  Webservices	
  (US	
  &	
  Australia)	
  
•  Strato	
  (Germany)	
  
•  Further	
  providers	
  planned	
  (e.g.	
  Azure)	
  
•  …	
  
Individual	
  plaPorms	
  per	
  company	
  
•  Ubuntu	
  Linux	
  
•  Redhat	
  
•  Windows	
  
•  ….	
  
	
  
11	
  
Write	
  proper	
  
documenta-on	
  and	
  
manuals?!	
  
Does	
  not	
  solve	
  our	
  issues*	
  
•  High	
  effort	
  to	
  test	
  
•  Not	
  repeatable	
  
•  Outdated	
  very	
  soon	
  
•  Prohibits	
  scale	
  
•  Not	
  customer	
  friendly	
  
(e.g.	
  on	
  premise)	
  
*)	
  Does	
  not	
  mean	
  we	
  don’t	
  write	
  proper	
  documentaZon	
  
where	
  needed	
  J	
  
ProducZon	
  
Servers	
  US	
  
ProducZon	
  
Servers	
  US	
  
Our	
  solu-on:	
  Highly	
  automated	
  
build,	
  test	
  and	
  deploy	
  tool	
  chain	
  
12	
  
Develop	
   Build	
   Test	
   Deploy	
  
Staging	
  
Server	
  
ProducZon	
  
Servers	
  Europe	
  
Developer	
  
Machines	
  
Real-­‐life	
  example:	
  
LeanIX	
  Synclog	
  micro	
  service	
  
13	
  
Track	
  synchroniza-on	
  results:	
  Success,	
  errors	
  
etc.	
  of	
  all	
  LeanIX	
  3rd	
  party	
  integraZons	
  
Synclog	
  
Microservice	
  
Synclog	
  Architecture:	
  RESTful	
  micro	
  service	
  
with	
  database	
  and	
  Single	
  Page	
  App	
  GUI	
  
DB	
  
Synclog	
  
REST-­‐API	
  
Synclog	
  GUI	
   Angular.JS	
  
Nginx	
  Webserver	
  
Postgres	
  
Java	
  
Dropwizard	
  
API	
  
Agenda	
  
14	
  
Docker	
  
Ansible	
  
Jenkins	
  
MoZvaZon	
  –	
  How	
  to	
  keep	
  focus	
  on	
  your	
  product?	
  
Summary	
  /	
  Learnings	
  
How	
  does	
  Docker	
  compare	
  to	
  virtual	
  
machines?	
  
15	
  
Server	
  
Host	
  OS	
  
Hypervisor	
  
Server	
  
Host	
  OS	
  
Docker	
  Engine	
  
Guest	
  OS	
  
Bins/Libs	
  
App	
  A	
  
Guest	
  OS	
  
Bins/Libs	
  
App	
  B	
  
Svc	
  1	
   Svc	
  2	
  
Bins/Libs	
  
Virtualisa-on	
   Docker	
   Advantages	
  
•  Significantly	
  faster	
  
deployment	
  
•  Much	
  less	
  overhead	
  
•  Easier	
  migraZon	
  
•  Faster	
  restart	
  &	
  cleanup	
  
•  Fits	
  perfect	
  to	
  micro	
  
services	
  architectures	
  
Topics	
  to	
  be	
  adressed	
  
•  IsolaZon	
  /	
  Security	
  
•  Requires	
  Linux	
  Kernel	
  
(Workarounds	
  via	
  
boot2docker)	
  
•  Maturity	
  of	
  tools	
  
VM	
   VM	
  
Container	
   Container	
  
Svc	
  3	
  
Container	
  
Bins/Libs	
  
What	
  is	
  a	
  Docker	
  container	
  and	
  image?	
  
16	
  
Docker	
  
Client	
  
Host	
   Docker	
  
Registry	
  
Docker	
  
Deamon	
  
Container	
  1	
  
Container	
  2	
  
Container	
  3	
  
Image	
  1	
  
Container	
  N	
  
Image	
  2	
  
Image	
  3	
  
Image	
  4	
  
Docker	
  API	
  
Private	
  running	
   stopped	
  
Simple	
  example:	
  Run	
  a	
  Database	
  
17	
  
Docker	
  
Client	
  
Host	
   Docker	
  
Registry	
  
Docker	
  
Deamon	
  
mydb	
  
leanix-­‐synclog	
  
postgres:9.4	
  
nginx	
  
leanix-­‐synclog	
  
// Start a Postgres DB
$ docker pull postgres:9.4
$ docker run –name mydb postgres:9.4
$ docker stop mydb
// Create a new image
$ docker build –-tag=“leanix/leanix-
synclog” .
$ docker push leanix/leanix-synclog
Docker	
  API	
  
…	
  
Private	
  running	
   stopped	
  
Docker	
  Registry	
  (Docker	
  Hub)	
  
18	
  
•  100	
  „Official“	
  
images	
  
•  >	
  45.000	
  public	
  
images	
  
•  SubscripZon	
  model	
  
for	
  private	
  images	
  
(similar	
  to	
  GitHub)	
  
Our	
  example	
  is	
  cut	
  into	
  3	
  containers	
  
19	
  
DB	
  
Synclog	
  
REST-­‐API	
  
Synclog	
  GUI	
   Angular.JS	
  
Nginx	
  Webserver	
  
Postgres	
  
Java	
  
Dropwizard	
  
Example	
   Docker	
  Images	
  
postgres:9.4	
  
leanix-­‐synclog	
  
leanix-­‐synclog-­‐client	
  
Synclog	
  service	
  in	
  context	
  of	
  enZre	
  
leanIX	
  architecture	
  
20	
  
Reverse	
  Proxy	
  (nginx)	
  
eam	
  
	
  
(Core	
  App)	
  
mtm	
  
	
  
(User	
  Mgmt)	
  
synclog	
  	
  
export	
  
webhooks	
  
noZficaZons	
  
images	
  
….	
  
Requests	
  
•  Auth	
  between	
  
Services:	
  oAuth2	
  
•  Single	
  Sign	
  on	
  (with	
  
customer)	
  SAML	
  
2.0	
  
Create	
  custom	
  docker	
  image	
  based	
  
on	
  exisZng	
  images	
  
21	
  Source:	
  Docker	
  
FROM dockerfile/java:oracle-java7
# Copy JAR and config into container
COPY target/leanix-synclog-0.1.0 /
COPY config.yml /
COPY run.sh /
RUN chmod +x /run.sh
# Expose port 9100 and run java process
EXPOSE 9100
WORKDIR /
# Run command
CMD ["./run.sh"]
leanix-­‐synclog/Dockerfile	
  
$ docker build –-tag=“leanix/leanix-synclog” .
$ docker push leanix/leanix-synclog
How	
  to	
  Ze	
  everything	
  together?	
  
docker-­‐compose	
  (was:	
  fig)	
  
22	
  
api:
build: .
links:
- db
ports:
- "9100:9100”
db:
image: postgres
docker-­‐compose.yml	
  
$ docker-compose up
$ docker-compose stop
#!/bin/bash
# Replace address
sed -i "s/localhost:5432/
$DB_1_PORT_5432_TCP_ADDR:5432/" config.yml
java -jar leanix-synclog-0.1.0.jar db migrate
config.yml
java -jar leanix-synclog-0.1.0.jar server
config.yml
leanix-­‐synclog/run.sh	
  
Docker	
  UI	
  –	
  Get	
  visual	
  overview	
  and	
  controls	
  
for	
  Docker	
  (made	
  with	
  Angular)	
  
23	
  
$ docker run -d -p
9999:9000 --name
dockerui --
privileged -v /var/
run/docker.sock:/
var/run/docker.sock
dockerui/dockerui
Keep	
  an	
  eye	
  on:	
  Giant	
  swarm	
  
Docker	
  orchestraZon	
  made	
  easy	
  
24	
  
{	
  
	
  	
  	
  	
  "app_name":	
  "leanix-­‐synclog",	
  
	
  	
  	
  	
  "services":	
  [{	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "service_name":	
  "leanix-­‐synclog",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "components":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "component_name":	
  "leanix-­‐synclog",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "image":	
  ”leanix/leanix-­‐synclog",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "ports":	
  [	
  ”80/tcp"	
  ],	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "domains":	
  {	
  "synclog-­‐andrechrist.giganZc.io":	
  	
  	
  "80"	
  },	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "dependencies":	
  [	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "name":	
  "db_1",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "port":	
  5432}]	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "component_name":	
  "db_1",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "image"	
  :	
  "postgres:9.4",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "ports":	
  ["5432/tcp"]	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ]	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  ]	
  
}
$ swarm login
$ swarm up
$ swarm logs <ID>
$ swarm stop
$ swarm scaleup <COMP>
swarm.json	
  
Agenda	
  
25	
  
Docker	
  
Ansible	
  
Jenkins	
  
MoZvaZon	
  –	
  How	
  to	
  keep	
  focus	
  on	
  your	
  product?	
  
Summary	
  /	
  Learnings	
  
Jenkins	
  Overview	
  
26	
  
Simple	
  
Extensible	
  
Scalable	
  
Flexible	
  
Open	
  Source	
  
Community	
  
Good	
  Web	
  GUI	
  
ConZnuous	
  IntegraZon	
  (CI)	
  
Server	
  
Thousands	
  of	
  plug-­‐ins	
  
Distributed	
  BUILD	
  System	
  
ConfiguraZon	
  of	
  Jobs	
  
MIT	
  License	
  
Very	
  acZve	
  (since	
  2011)	
  
Jenkins	
  Job:	
  leanix-­‐synclog	
  
27	
  Image	
  Source:	
  robots.com	
  
Trigger:	
  GitHub	
  Push	
  
	
  
1.  Builds,	
  e.g.	
  using	
  
maven	
  (Java)	
  
2.  Executes	
  Unit	
  Tests	
  
3.  Creates	
  Docker	
  image	
  
4.  Pushes	
  Docker	
  image	
  
to	
  Docker	
  Hub	
  
5.  Deploys	
  to	
  staging	
  
system	
  (via	
  Ansible)	
  
Agenda	
  
28	
  
Docker	
  
Ansible	
  
Jenkins	
  
MoZvaZon	
  –	
  How	
  to	
  keep	
  focus	
  on	
  your	
  product?	
  
Summary	
  /	
  Learnings	
  
Ansible	
  Overview	
  
29	
  
YAML	
  Syntax	
  
Library	
  of	
  modules	
  
Switch	
  from	
  ssh	
  push	
  to	
  pull	
  
EncapsulaZon	
  by	
  roles	
  
MIT	
  License	
  
Strong	
  Growth	
  (since	
  2012)	
  
OrchestraZon	
  of	
  Admin-­‐Tasks	
  
Simple	
  
Extensible	
  
Scalable	
  
Flexible	
  
Open	
  Source	
  
Community	
  
Automate	
  repeatable	
  admin	
  tasks,	
  e.g.	
  install	
  
packages,	
  set	
  configs,	
  ...	
  
Image	
  Source:	
  robots.com	
  
Ansible	
  Architecture	
  
30	
  
Tasks	
  
Install	
  Package	
  
Copy	
  file	
  
Apply	
  template	
  
...	
  
Deploy	
  synclog	
  Apply	
  template	
  
Run	
  docker	
  
Roles	
  
init	
  
...	
  
docker	
  
Playbooks	
  
Provision	
  Server	
  
leanix-­‐synclog	
  
...	
  
postgres	
  
Hosts	
  
SVR-­‐DE-­‐TEST	
  
SVR-­‐DE-­‐DEV	
  
SVR-­‐DE-­‐WEB-­‐1	
  
SVR-­‐US-­‐WEB-­‐1	
  
via	
  ssh	
  
...	
  
Ansible	
  Example:	
  Provision	
  servers	
  
31	
  
# Provisions the frontend servers
---
- hosts: frontend
sudo: true
roles:
- {role: 'init'}
- {role: 'docker'}
- {role: 'updates'}
provision_server.yml	
  
$ ansible_playbook provision_server.yml –I hosts/prod -v
hosts/prod	
  
[frontend]
srv-de-web-1.leanix.net
srv-de-web-2.leanix.net
srv-us-web-1.leanix.net
srv-us-web-2.leanix.net
[backend]
srv-de-app-1.leanix.net
srv-de-app-2.leanix.net
srv-us-app-1.leanix.net
srv-us-app-2.leanix.net
Ansible	
  Example:	
  Configure	
  system	
  
32	
  
[…]
- name: Install System Packages
apt: pkg={{ item }} state=latest
with_items: ["curl", "wget", "python-software-properties", "software-properties-
common", "daemon", "supervisor"]
- name: German kb
command: loadkeys de
changed_when: false
- name: Set hostname on boot to short name from inventory list
template: src=hostname.j2 dest=/etc/hostname owner=root group=root mode=0644
register: hostname_file
[…]
roles/init/tasks/main.yml	
  
Ansible	
  Example:	
  Deploy	
  service	
  
33	
  
[…]
- name: Start leanix synclog Docker container
shell: docker run -d
--name {{ item.1.name }}
-p {{ ansible_eth1.ipv4.address }}:{{ item.1.synclog_port }}:{{SERVICE_PORT }}
-e SERVICE=synclog
-e PROXY_SERVICE={{ PROXY_SERVICE }}
-e SWAGGER_BASEPATH={{ SWAGGER_BASEPATH }}
leanix/leanix-synclog
with_indexed_items: SYNCLOG_SERVICES
when: synclog_running.results[{{ item.0 }}].rc != 0
[…]
roles/init/tasks/main.yml	
  
Agenda	
  
34	
  
Docker	
  
Ansible	
  
Jenkins	
  
MoZvaZon	
  –	
  How	
  to	
  keep	
  focus	
  on	
  your	
  product?	
  
Summary	
  /	
  Learnings	
  
Key	
  Issues	
  &	
  SoluZon	
  Approaches	
  
35	
  
•  Docker:	
  Usage	
  of	
  boot2docker	
  
on	
  non	
  Linux	
  (OS	
  X,	
  Win)	
  
•  Docker:	
  Container	
  orchestraZon	
  
on	
  producZon	
  systems	
  with	
  
distributed	
  docker	
  deamons	
  
•  Ansible:	
  v1	
  not	
  running	
  on	
  Win	
  
•  Ansible:	
  For	
  some	
  tasks,	
  special	
  
python	
  libs	
  need	
  to	
  be	
  on	
  the	
  
target	
  host	
  
Contribute	
  to	
  helper	
  tools	
  ;-­‐)	
  
e.g.	
  b2d-­‐sync	
  (node.js	
  tool)	
  
Create	
  custom	
  soluZons	
  based	
  
on	
  Ambassador	
  pa~ern	
  and	
  
etcd	
  orchestrated	
  by	
  Ansible	
  
Use	
  Vagrant	
  or	
  get	
  rid	
  of	
  
Windows	
  ;-­‐))	
  
	
  
Check	
  in	
  tasks,	
  if	
  libraries	
  are	
  
already	
  installed	
  
Summary	
  
36	
  
20	
  days	
  
3	
  hours	
  
<	
  30	
  min	
  
Effort	
  for	
  setup,	
  learning	
  and	
  trouble	
  shooZng	
  for	
  
Ansible	
  &	
  Jenkins	
  
Ramp-­‐Up	
  of	
  a	
  new	
  employee	
  unZl	
  first	
  commit	
  
Time	
  unZl	
  a	
  fresh	
  Server	
  is	
  setup	
  with	
  all	
  required	
  
services	
  
14	
  days	
   For	
  changing	
  our	
  Vagrant	
  based	
  environment	
  to	
  
docker	
  &	
  docker-­‐compose	
  
37	
  
THANKS!	
  
Follow	
  us	
  @leanix_net	
  
Download	
  Ansible	
  Example	
  Code	
  
github.com/leanix/codetalks_2014_demo	
  
We	
  are	
  hiring!!!	
  
•  Frontend	
  Developers	
  
•  Backend	
  Developers	
  
•  MarkeZng	
  &	
  Sales	
  
www.leanix.net	
  
Backup	
  
38	
  
Growth	
  and	
  DigitalizaZon	
  leads	
  to	
  increasing	
  
IT	
  complexity	
  
39	
  
-me	
  
Growth	
  /	
  
Digitaliza-on	
  
20-­‐30	
  ApplicaZons	
  
50-­‐80	
  ApplicaZons	
  
>	
  150	
  ApplicaZons	
  
Lacking	
  transparency	
  of	
  the	
  IT	
  landscape	
  is	
  a	
  
strong	
  barrier	
  for	
  innovaZon	
  
40	
  
35	
  b€	
  overspent	
  due	
  to	
  
redundant	
  applicaZons	
  	
  
Source:	
  Detecon	
  /	
  McKinsey,	
  15%	
  of	
  applicaZons	
  can	
  be	
  consolidated	
  
Inefficient	
  processes	
  
due	
  to	
  head	
  monopoly	
  
leanIX	
  is	
  a	
  smart	
  plahorm	
  which	
  helps	
  
companies	
  to	
  opZmize	
  their	
  IT	
  landscape	
  
41	
  
Fact	
  Sheets	
  &	
  Tagging	
  
Context-­‐based	
  Search	
  
API,	
  Import	
  &	
  Export	
  
Comments	
  &	
  Threads	
  
IT	
  Inventory	
   Collabora-on	
  PlaPorm	
   Interac-ve	
  Repor-ng	
  
AcZvity	
  Stream	
  &	
  
NoZficaZons	
  
SubscripZon	
  
Print	
  &	
  Export	
  (PDF)	
  
Best	
  PracZce	
  Reports	
  
InteracZve	
  AdapZon	
  
leanIX	
  connects	
  the	
  dots	
  in	
  the	
  ecosystem	
  
of	
  modern	
  IT	
  management	
  
42	
  
Collabora-on-­‐	
  &	
  Document	
  Mgmt	
  
IT	
  Service	
  Management	
  &	
  
Help	
  Desk	
  
Requirements-­‐	
  &	
  
Business	
  Process	
  Mgmt	
  
Project	
  PorPolio-­‐	
  and	
  
Ressource-­‐Management	
  
Selected	
  products	
  to	
  illustrate	
  
Out-­‐of-­‐the-­‐box	
  
IntegraZonen	
  
REST	
  API	
  &	
  
SDKs	
  
developer.leanix.net	
  
Partnering	
  /	
  IntegraZon	
  
43	
  
Sync	
  

More Related Content

What's hot

DCEU 18: Docker Enterprise Platform and Architecture
DCEU 18: Docker Enterprise Platform and ArchitectureDCEU 18: Docker Enterprise Platform and Architecture
DCEU 18: Docker Enterprise Platform and ArchitectureDocker, Inc.
 
DockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTRDockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTRDocker, Inc.
 
Nginx conference 2015
Nginx conference 2015Nginx conference 2015
Nginx conference 2015ING-IT
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesSamuel Terburg
 
DCEU 18: Docker Container Security
DCEU 18: Docker Container SecurityDCEU 18: Docker Container Security
DCEU 18: Docker Container SecurityDocker, Inc.
 
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...Andrea Dottor
 
Building a Platform-as-a-Service with Docker and Node.js
Building a Platform-as-a-Service with Docker and Node.jsBuilding a Platform-as-a-Service with Docker and Node.js
Building a Platform-as-a-Service with Docker and Node.jsKevin Swiber
 
DockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDocker, Inc.
 
Introduction to Docker | Docker and Kubernetes Training
Introduction to Docker | Docker and Kubernetes TrainingIntroduction to Docker | Docker and Kubernetes Training
Introduction to Docker | Docker and Kubernetes TrainingShailendra Chauhan
 
Docker pipelines
Docker pipelinesDocker pipelines
Docker pipelinesChris Mague
 
A microservice architecture based on golang
A microservice architecture based on golangA microservice architecture based on golang
A microservice architecture based on golangGianfranco Reppucci
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1Docker, Inc.
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...Oleg Shalygin
 
Continuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on OpenshiftContinuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on OpenshiftCharles Moulliard
 
Building Angular 2.0 applications with TypeScript
Building Angular 2.0 applications with TypeScriptBuilding Angular 2.0 applications with TypeScript
Building Angular 2.0 applications with TypeScriptMSDEVMTL
 
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been ToldDCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been ToldDocker, Inc.
 
DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1Docker, Inc.
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Intro to kubernetesElad Hirsch
 
Microservices - java ee vs spring boot and spring cloud
Microservices - java ee vs spring boot and spring cloudMicroservices - java ee vs spring boot and spring cloud
Microservices - java ee vs spring boot and spring cloudBen Wilcock
 

What's hot (20)

DCEU 18: Docker Enterprise Platform and Architecture
DCEU 18: Docker Enterprise Platform and ArchitectureDCEU 18: Docker Enterprise Platform and Architecture
DCEU 18: Docker Enterprise Platform and Architecture
 
DockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTRDockerCon SF 2015: DHE/DTR
DockerCon SF 2015: DHE/DTR
 
Nginx conference 2015
Nginx conference 2015Nginx conference 2015
Nginx conference 2015
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
 
DCEU 18: Docker Container Security
DCEU 18: Docker Container SecurityDCEU 18: Docker Container Security
DCEU 18: Docker Container Security
 
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
 
Building a Platform-as-a-Service with Docker and Node.js
Building a Platform-as-a-Service with Docker and Node.jsBuilding a Platform-as-a-Service with Docker and Node.js
Building a Platform-as-a-Service with Docker and Node.js
 
DockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times Newsroom
 
Introduction to Docker | Docker and Kubernetes Training
Introduction to Docker | Docker and Kubernetes TrainingIntroduction to Docker | Docker and Kubernetes Training
Introduction to Docker | Docker and Kubernetes Training
 
Docker pipelines
Docker pipelinesDocker pipelines
Docker pipelines
 
A microservice architecture based on golang
A microservice architecture based on golangA microservice architecture based on golang
A microservice architecture based on golang
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
 
Continuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on OpenshiftContinuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on Openshift
 
Building Angular 2.0 applications with TypeScript
Building Angular 2.0 applications with TypeScriptBuilding Angular 2.0 applications with TypeScript
Building Angular 2.0 applications with TypeScript
 
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been ToldDCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
 
DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Intro to kubernetes
 
Microservices - java ee vs spring boot and spring cloud
Microservices - java ee vs spring boot and spring cloudMicroservices - java ee vs spring boot and spring cloud
Microservices - java ee vs spring boot and spring cloud
 

Viewers also liked

Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with AnsibleMartin Etmajer
 
LeanIX Enterprise Architecture Management - Release Notes 3.4
LeanIX Enterprise Architecture Management - Release Notes 3.4 LeanIX Enterprise Architecture Management - Release Notes 3.4
LeanIX Enterprise Architecture Management - Release Notes 3.4 LeanIX GmbH
 
LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016
LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016
LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016LeanIX GmbH
 
Trends in Enterprise Architecture Management (EAM) Tools
Trends in Enterprise Architecture Management (EAM) ToolsTrends in Enterprise Architecture Management (EAM) Tools
Trends in Enterprise Architecture Management (EAM) ToolsLeanIX GmbH
 
GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup
GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile MeetupGraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup
GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile MeetupLeanIX GmbH
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...LeanIX GmbH
 
The Next Big Thing
The Next Big ThingThe Next Big Thing
The Next Big ThingLeanIX GmbH
 
Simple REST-APIs with Dropwizard and Swagger
Simple REST-APIs with Dropwizard and SwaggerSimple REST-APIs with Dropwizard and Swagger
Simple REST-APIs with Dropwizard and SwaggerLeanIX GmbH
 
Modernizing IT with Microservices
Modernizing IT with MicroservicesModernizing IT with Microservices
Modernizing IT with MicroservicesLeanIX GmbH
 
SaaS für Enterprise Architecture Management
SaaS für Enterprise Architecture ManagementSaaS für Enterprise Architecture Management
SaaS für Enterprise Architecture ManagementLeanIX GmbH
 
Authorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice EnvironmentsAuthorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice EnvironmentsLeanIX GmbH
 
How to Use Analytics on SlideShare
How to Use Analytics on SlideShareHow to Use Analytics on SlideShare
How to Use Analytics on SlideShareSlideShare
 

Viewers also liked (12)

Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with Ansible
 
LeanIX Enterprise Architecture Management - Release Notes 3.4
LeanIX Enterprise Architecture Management - Release Notes 3.4 LeanIX Enterprise Architecture Management - Release Notes 3.4
LeanIX Enterprise Architecture Management - Release Notes 3.4
 
LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016
LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016
LeanIX Enterprise Architecture Management @ 3rd EA Connect Day 2016
 
Trends in Enterprise Architecture Management (EAM) Tools
Trends in Enterprise Architecture Management (EAM) ToolsTrends in Enterprise Architecture Management (EAM) Tools
Trends in Enterprise Architecture Management (EAM) Tools
 
GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup
GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile MeetupGraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup
GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
 
The Next Big Thing
The Next Big ThingThe Next Big Thing
The Next Big Thing
 
Simple REST-APIs with Dropwizard and Swagger
Simple REST-APIs with Dropwizard and SwaggerSimple REST-APIs with Dropwizard and Swagger
Simple REST-APIs with Dropwizard and Swagger
 
Modernizing IT with Microservices
Modernizing IT with MicroservicesModernizing IT with Microservices
Modernizing IT with Microservices
 
SaaS für Enterprise Architecture Management
SaaS für Enterprise Architecture ManagementSaaS für Enterprise Architecture Management
SaaS für Enterprise Architecture Management
 
Authorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice EnvironmentsAuthorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice Environments
 
How to Use Analytics on SlideShare
How to Use Analytics on SlideShareHow to Use Analytics on SlideShare
How to Use Analytics on SlideShare
 

Similar to Tech Talk: DevOps at LeanIX @ Startup Camp Berlin

O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...Ambassador Labs
 
Was liberty profile and docker
Was liberty profile and dockerWas liberty profile and docker
Was liberty profile and dockersflynn073
 
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsI Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsMichael Lange
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerDavid Currie
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Jonas Rosland
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015{code}
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopJonas Rosland
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline Docker, Inc.
 
Ansible+docker (highload++2015)
Ansible+docker (highload++2015)Ansible+docker (highload++2015)
Ansible+docker (highload++2015)Pavel Alexeev
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017Patrick Chanezon
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessDocker-Hanoi
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDocker, Inc.
 
Containers and Orchestration approaches
Containers and Orchestration approachesContainers and Orchestration approaches
Containers and Orchestration approacheskloia
 
How (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSHow (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSRyan Crawford
 
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioJérôme Petazzoni
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT CampusAjeet Singh Raina
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyAjeet Singh Raina
 

Similar to Tech Talk: DevOps at LeanIX @ Startup Camp Berlin (20)

O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
 
Demystifying Docker101
Demystifying Docker101Demystifying Docker101
Demystifying Docker101
 
Demystifying Docker
Demystifying DockerDemystifying Docker
Demystifying Docker
 
Was liberty profile and docker
Was liberty profile and dockerWas liberty profile and docker
Was liberty profile and docker
 
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsI Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
Ansible+docker (highload++2015)
Ansible+docker (highload++2015)Ansible+docker (highload++2015)
Ansible+docker (highload++2015)
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
Containers and Orchestration approaches
Containers and Orchestration approachesContainers and Orchestration approaches
Containers and Orchestration approaches
 
How (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSHow (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaS
 
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific Trio
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 

More from LeanIX GmbH

LeanIX Virtual Workspaces
LeanIX Virtual WorkspacesLeanIX Virtual Workspaces
LeanIX Virtual WorkspacesLeanIX GmbH
 
How to reduce complexity by segregating your data with Virtual Workspaces
How to reduce complexity by segregating your data with Virtual WorkspacesHow to reduce complexity by segregating your data with Virtual Workspaces
How to reduce complexity by segregating your data with Virtual WorkspacesLeanIX GmbH
 
Gartner EA: The Rise of Data-driven Architectures
Gartner EA: The Rise of Data-driven ArchitecturesGartner EA: The Rise of Data-driven Architectures
Gartner EA: The Rise of Data-driven ArchitecturesLeanIX GmbH
 
Application Harmonisation using Design Principles in LeanIX
Application Harmonisation using Design Principles in LeanIXApplication Harmonisation using Design Principles in LeanIX
Application Harmonisation using Design Principles in LeanIXLeanIX GmbH
 
Effective EAM: whet your appetite & deliver solutions
Effective EAM: whet your appetite & deliver solutionsEffective EAM: whet your appetite & deliver solutions
Effective EAM: whet your appetite & deliver solutionsLeanIX GmbH
 
Lean EAM with the Microservices Add-on and the Signavio Integration
Lean EAM with the Microservices Add-on and the Signavio IntegrationLean EAM with the Microservices Add-on and the Signavio Integration
Lean EAM with the Microservices Add-on and the Signavio IntegrationLeanIX GmbH
 
Next Level Enterprise Architecture
Next Level Enterprise ArchitectureNext Level Enterprise Architecture
Next Level Enterprise ArchitectureLeanIX GmbH
 
Integration Architecture with the Data Flow
Integration Architecture with the Data FlowIntegration Architecture with the Data Flow
Integration Architecture with the Data FlowLeanIX GmbH
 
LeanIX-ServiceNow Integration
LeanIX-ServiceNow IntegrationLeanIX-ServiceNow Integration
LeanIX-ServiceNow IntegrationLeanIX GmbH
 
Application Rationalization with LeanIX
Application Rationalization with LeanIXApplication Rationalization with LeanIX
Application Rationalization with LeanIXLeanIX GmbH
 
Custom Reports & Integrations with GraphQL
Custom Reports & Integrations with GraphQLCustom Reports & Integrations with GraphQL
Custom Reports & Integrations with GraphQLLeanIX GmbH
 
LeanIX Inventory: Import & Export
LeanIX Inventory: Import & ExportLeanIX Inventory: Import & Export
LeanIX Inventory: Import & ExportLeanIX GmbH
 
Survey Add-on Showcase: Cloud Transformation
Survey Add-on Showcase: Cloud TransformationSurvey Add-on Showcase: Cloud Transformation
Survey Add-on Showcase: Cloud TransformationLeanIX GmbH
 
The LeanIX Microservices Integration
The LeanIX Microservices IntegrationThe LeanIX Microservices Integration
The LeanIX Microservices IntegrationLeanIX GmbH
 
Ensure GDPR Compliance with LeanIX
Ensure GDPR Compliance with LeanIXEnsure GDPR Compliance with LeanIX
Ensure GDPR Compliance with LeanIXLeanIX GmbH
 
LeanIX-Signavio Integration
LeanIX-Signavio IntegrationLeanIX-Signavio Integration
LeanIX-Signavio IntegrationLeanIX GmbH
 
How to set up a Lean Standards Governance
How to set up a Lean Standards GovernanceHow to set up a Lean Standards Governance
How to set up a Lean Standards GovernanceLeanIX GmbH
 
Innovative API-Based LeanIX Enhancements
Innovative API-Based LeanIX EnhancementsInnovative API-Based LeanIX Enhancements
Innovative API-Based LeanIX EnhancementsLeanIX GmbH
 
Moving EA - from where we are to where we should be
Moving EA - from where we are to where we should beMoving EA - from where we are to where we should be
Moving EA - from where we are to where we should beLeanIX GmbH
 
Is next generation EAM more than just agile IT planning?
Is next generation EAM more than just agile IT planning?Is next generation EAM more than just agile IT planning?
Is next generation EAM more than just agile IT planning?LeanIX GmbH
 

More from LeanIX GmbH (20)

LeanIX Virtual Workspaces
LeanIX Virtual WorkspacesLeanIX Virtual Workspaces
LeanIX Virtual Workspaces
 
How to reduce complexity by segregating your data with Virtual Workspaces
How to reduce complexity by segregating your data with Virtual WorkspacesHow to reduce complexity by segregating your data with Virtual Workspaces
How to reduce complexity by segregating your data with Virtual Workspaces
 
Gartner EA: The Rise of Data-driven Architectures
Gartner EA: The Rise of Data-driven ArchitecturesGartner EA: The Rise of Data-driven Architectures
Gartner EA: The Rise of Data-driven Architectures
 
Application Harmonisation using Design Principles in LeanIX
Application Harmonisation using Design Principles in LeanIXApplication Harmonisation using Design Principles in LeanIX
Application Harmonisation using Design Principles in LeanIX
 
Effective EAM: whet your appetite & deliver solutions
Effective EAM: whet your appetite & deliver solutionsEffective EAM: whet your appetite & deliver solutions
Effective EAM: whet your appetite & deliver solutions
 
Lean EAM with the Microservices Add-on and the Signavio Integration
Lean EAM with the Microservices Add-on and the Signavio IntegrationLean EAM with the Microservices Add-on and the Signavio Integration
Lean EAM with the Microservices Add-on and the Signavio Integration
 
Next Level Enterprise Architecture
Next Level Enterprise ArchitectureNext Level Enterprise Architecture
Next Level Enterprise Architecture
 
Integration Architecture with the Data Flow
Integration Architecture with the Data FlowIntegration Architecture with the Data Flow
Integration Architecture with the Data Flow
 
LeanIX-ServiceNow Integration
LeanIX-ServiceNow IntegrationLeanIX-ServiceNow Integration
LeanIX-ServiceNow Integration
 
Application Rationalization with LeanIX
Application Rationalization with LeanIXApplication Rationalization with LeanIX
Application Rationalization with LeanIX
 
Custom Reports & Integrations with GraphQL
Custom Reports & Integrations with GraphQLCustom Reports & Integrations with GraphQL
Custom Reports & Integrations with GraphQL
 
LeanIX Inventory: Import & Export
LeanIX Inventory: Import & ExportLeanIX Inventory: Import & Export
LeanIX Inventory: Import & Export
 
Survey Add-on Showcase: Cloud Transformation
Survey Add-on Showcase: Cloud TransformationSurvey Add-on Showcase: Cloud Transformation
Survey Add-on Showcase: Cloud Transformation
 
The LeanIX Microservices Integration
The LeanIX Microservices IntegrationThe LeanIX Microservices Integration
The LeanIX Microservices Integration
 
Ensure GDPR Compliance with LeanIX
Ensure GDPR Compliance with LeanIXEnsure GDPR Compliance with LeanIX
Ensure GDPR Compliance with LeanIX
 
LeanIX-Signavio Integration
LeanIX-Signavio IntegrationLeanIX-Signavio Integration
LeanIX-Signavio Integration
 
How to set up a Lean Standards Governance
How to set up a Lean Standards GovernanceHow to set up a Lean Standards Governance
How to set up a Lean Standards Governance
 
Innovative API-Based LeanIX Enhancements
Innovative API-Based LeanIX EnhancementsInnovative API-Based LeanIX Enhancements
Innovative API-Based LeanIX Enhancements
 
Moving EA - from where we are to where we should be
Moving EA - from where we are to where we should beMoving EA - from where we are to where we should be
Moving EA - from where we are to where we should be
 
Is next generation EAM more than just agile IT planning?
Is next generation EAM more than just agile IT planning?Is next generation EAM more than just agile IT planning?
Is next generation EAM more than just agile IT planning?
 

Recently uploaded

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Tech Talk: DevOps at LeanIX @ Startup Camp Berlin

  • 1. DevOps  in  prac-ce  –   How  to  keep  focus  on   your  product?   André  Christ   Startup  Camp  Berlin,  March    2015  
  • 2. Hint:  The  former  capital  ;-­‐)   2   Photo:  Michael  Sondermann/Bundesstadt  Bonn  
  • 3. About   3   André  Christ   •  Co-­‐Founder  &  Co-­‐CEO   •  Responsible  for  IT  &  Finance   •  Before:  DHL,  HTGF,  Startups   LeanIX  GmbH   •  SaaS-­‐Provider  for  IT  Architecture  Mgmt   •  Self-­‐Funded,  Founded  2012  in  Bonn   •  >  20  Customers  in  US,  Europe  and  Australia    
  • 4. What’s  your  level  of  experience  with   these  tools?   4   “Build,  ship,  and  run   distributed  applicaZons”   “Building/tesZng  soware   projects  conZnuously”   “IT  automaZon  engine  that   automates  applicaZon   deployment,  configuraZon   management,  ….”  
  • 5. Ansible  and  Docker  clearly  connected  to  the   DevOps  “Hype”  …   5  Source:  Google  Trends   DevOps   Docker   Ansible  
  • 6. …  while  Jenkins  is  really,  really  mature  and   widely  adopted  by  all  company  sizes   6  Source:  Google  Trends   DevOps   Docker   Ansible   Jenkins  
  • 7. Agenda   7   Docker   Ansible   Jenkins   Mo-va-on  –  How  to  keep  focus  on  your  product?   Summary  /  Learnings  
  • 8. Challenge  1:  Serve  high-­‐profile  customers   worldwide  with  very  limited  resources   8  
  • 9. Challenge  2:  Scale  the  plahorm  with  the  right   tools  for  the  job   2012   2014  2013   “MVP”   SSO  &  Micro   services   Professional  Build   Process   Service-­‐  &   Quality  Ensurance   2015   Single  Page   JS  App  
  • 10. Challenge  3:  B2B-­‐SaaS  requires  flexible   deployment  models  –  Cloud  and  On-­‐Premise     10   Different  cloud  environments   •  Amazon  Webservices  (US  &  Australia)   •  Strato  (Germany)   •  Further  providers  planned  (e.g.  Azure)   •  …   Individual  plaPorms  per  company   •  Ubuntu  Linux   •  Redhat   •  Windows   •  ….    
  • 11. 11   Write  proper   documenta-on  and   manuals?!   Does  not  solve  our  issues*   •  High  effort  to  test   •  Not  repeatable   •  Outdated  very  soon   •  Prohibits  scale   •  Not  customer  friendly   (e.g.  on  premise)   *)  Does  not  mean  we  don’t  write  proper  documentaZon   where  needed  J  
  • 12. ProducZon   Servers  US   ProducZon   Servers  US   Our  solu-on:  Highly  automated   build,  test  and  deploy  tool  chain   12   Develop   Build   Test   Deploy   Staging   Server   ProducZon   Servers  Europe   Developer   Machines  
  • 13. Real-­‐life  example:   LeanIX  Synclog  micro  service   13   Track  synchroniza-on  results:  Success,  errors   etc.  of  all  LeanIX  3rd  party  integraZons   Synclog   Microservice   Synclog  Architecture:  RESTful  micro  service   with  database  and  Single  Page  App  GUI   DB   Synclog   REST-­‐API   Synclog  GUI   Angular.JS   Nginx  Webserver   Postgres   Java   Dropwizard   API  
  • 14. Agenda   14   Docker   Ansible   Jenkins   MoZvaZon  –  How  to  keep  focus  on  your  product?   Summary  /  Learnings  
  • 15. How  does  Docker  compare  to  virtual   machines?   15   Server   Host  OS   Hypervisor   Server   Host  OS   Docker  Engine   Guest  OS   Bins/Libs   App  A   Guest  OS   Bins/Libs   App  B   Svc  1   Svc  2   Bins/Libs   Virtualisa-on   Docker   Advantages   •  Significantly  faster   deployment   •  Much  less  overhead   •  Easier  migraZon   •  Faster  restart  &  cleanup   •  Fits  perfect  to  micro   services  architectures   Topics  to  be  adressed   •  IsolaZon  /  Security   •  Requires  Linux  Kernel   (Workarounds  via   boot2docker)   •  Maturity  of  tools   VM   VM   Container   Container   Svc  3   Container   Bins/Libs  
  • 16. What  is  a  Docker  container  and  image?   16   Docker   Client   Host   Docker   Registry   Docker   Deamon   Container  1   Container  2   Container  3   Image  1   Container  N   Image  2   Image  3   Image  4   Docker  API   Private  running   stopped  
  • 17. Simple  example:  Run  a  Database   17   Docker   Client   Host   Docker   Registry   Docker   Deamon   mydb   leanix-­‐synclog   postgres:9.4   nginx   leanix-­‐synclog   // Start a Postgres DB $ docker pull postgres:9.4 $ docker run –name mydb postgres:9.4 $ docker stop mydb // Create a new image $ docker build –-tag=“leanix/leanix- synclog” . $ docker push leanix/leanix-synclog Docker  API   …   Private  running   stopped  
  • 18. Docker  Registry  (Docker  Hub)   18   •  100  „Official“   images   •  >  45.000  public   images   •  SubscripZon  model   for  private  images   (similar  to  GitHub)  
  • 19. Our  example  is  cut  into  3  containers   19   DB   Synclog   REST-­‐API   Synclog  GUI   Angular.JS   Nginx  Webserver   Postgres   Java   Dropwizard   Example   Docker  Images   postgres:9.4   leanix-­‐synclog   leanix-­‐synclog-­‐client  
  • 20. Synclog  service  in  context  of  enZre   leanIX  architecture   20   Reverse  Proxy  (nginx)   eam     (Core  App)   mtm     (User  Mgmt)   synclog     export   webhooks   noZficaZons   images   ….   Requests   •  Auth  between   Services:  oAuth2   •  Single  Sign  on  (with   customer)  SAML   2.0  
  • 21. Create  custom  docker  image  based   on  exisZng  images   21  Source:  Docker   FROM dockerfile/java:oracle-java7 # Copy JAR and config into container COPY target/leanix-synclog-0.1.0 / COPY config.yml / COPY run.sh / RUN chmod +x /run.sh # Expose port 9100 and run java process EXPOSE 9100 WORKDIR / # Run command CMD ["./run.sh"] leanix-­‐synclog/Dockerfile   $ docker build –-tag=“leanix/leanix-synclog” . $ docker push leanix/leanix-synclog
  • 22. How  to  Ze  everything  together?   docker-­‐compose  (was:  fig)   22   api: build: . links: - db ports: - "9100:9100” db: image: postgres docker-­‐compose.yml   $ docker-compose up $ docker-compose stop #!/bin/bash # Replace address sed -i "s/localhost:5432/ $DB_1_PORT_5432_TCP_ADDR:5432/" config.yml java -jar leanix-synclog-0.1.0.jar db migrate config.yml java -jar leanix-synclog-0.1.0.jar server config.yml leanix-­‐synclog/run.sh  
  • 23. Docker  UI  –  Get  visual  overview  and  controls   for  Docker  (made  with  Angular)   23   $ docker run -d -p 9999:9000 --name dockerui -- privileged -v /var/ run/docker.sock:/ var/run/docker.sock dockerui/dockerui
  • 24. Keep  an  eye  on:  Giant  swarm   Docker  orchestraZon  made  easy   24   {          "app_name":  "leanix-­‐synclog",          "services":  [{                          "service_name":  "leanix-­‐synclog",                          "components":  [                                {                                          "component_name":  "leanix-­‐synclog",                                          "image":  ”leanix/leanix-­‐synclog",                                          "ports":  [  ”80/tcp"  ],                                          "domains":  {  "synclog-­‐andrechrist.giganZc.io":      "80"  },                                          "dependencies":  [  {                                                          "name":  "db_1",                                                          "port":  5432}]                                  },                                  {                                          "component_name":  "db_1",                                          "image"  :  "postgres:9.4",                                          "ports":  ["5432/tcp"]                                  }                          ]                  }          ]   } $ swarm login $ swarm up $ swarm logs <ID> $ swarm stop $ swarm scaleup <COMP> swarm.json  
  • 25. Agenda   25   Docker   Ansible   Jenkins   MoZvaZon  –  How  to  keep  focus  on  your  product?   Summary  /  Learnings  
  • 26. Jenkins  Overview   26   Simple   Extensible   Scalable   Flexible   Open  Source   Community   Good  Web  GUI   ConZnuous  IntegraZon  (CI)   Server   Thousands  of  plug-­‐ins   Distributed  BUILD  System   ConfiguraZon  of  Jobs   MIT  License   Very  acZve  (since  2011)  
  • 27. Jenkins  Job:  leanix-­‐synclog   27  Image  Source:  robots.com   Trigger:  GitHub  Push     1.  Builds,  e.g.  using   maven  (Java)   2.  Executes  Unit  Tests   3.  Creates  Docker  image   4.  Pushes  Docker  image   to  Docker  Hub   5.  Deploys  to  staging   system  (via  Ansible)  
  • 28. Agenda   28   Docker   Ansible   Jenkins   MoZvaZon  –  How  to  keep  focus  on  your  product?   Summary  /  Learnings  
  • 29. Ansible  Overview   29   YAML  Syntax   Library  of  modules   Switch  from  ssh  push  to  pull   EncapsulaZon  by  roles   MIT  License   Strong  Growth  (since  2012)   OrchestraZon  of  Admin-­‐Tasks   Simple   Extensible   Scalable   Flexible   Open  Source   Community   Automate  repeatable  admin  tasks,  e.g.  install   packages,  set  configs,  ...   Image  Source:  robots.com  
  • 30. Ansible  Architecture   30   Tasks   Install  Package   Copy  file   Apply  template   ...   Deploy  synclog  Apply  template   Run  docker   Roles   init   ...   docker   Playbooks   Provision  Server   leanix-­‐synclog   ...   postgres   Hosts   SVR-­‐DE-­‐TEST   SVR-­‐DE-­‐DEV   SVR-­‐DE-­‐WEB-­‐1   SVR-­‐US-­‐WEB-­‐1   via  ssh   ...  
  • 31. Ansible  Example:  Provision  servers   31   # Provisions the frontend servers --- - hosts: frontend sudo: true roles: - {role: 'init'} - {role: 'docker'} - {role: 'updates'} provision_server.yml   $ ansible_playbook provision_server.yml –I hosts/prod -v hosts/prod   [frontend] srv-de-web-1.leanix.net srv-de-web-2.leanix.net srv-us-web-1.leanix.net srv-us-web-2.leanix.net [backend] srv-de-app-1.leanix.net srv-de-app-2.leanix.net srv-us-app-1.leanix.net srv-us-app-2.leanix.net
  • 32. Ansible  Example:  Configure  system   32   […] - name: Install System Packages apt: pkg={{ item }} state=latest with_items: ["curl", "wget", "python-software-properties", "software-properties- common", "daemon", "supervisor"] - name: German kb command: loadkeys de changed_when: false - name: Set hostname on boot to short name from inventory list template: src=hostname.j2 dest=/etc/hostname owner=root group=root mode=0644 register: hostname_file […] roles/init/tasks/main.yml  
  • 33. Ansible  Example:  Deploy  service   33   […] - name: Start leanix synclog Docker container shell: docker run -d --name {{ item.1.name }} -p {{ ansible_eth1.ipv4.address }}:{{ item.1.synclog_port }}:{{SERVICE_PORT }} -e SERVICE=synclog -e PROXY_SERVICE={{ PROXY_SERVICE }} -e SWAGGER_BASEPATH={{ SWAGGER_BASEPATH }} leanix/leanix-synclog with_indexed_items: SYNCLOG_SERVICES when: synclog_running.results[{{ item.0 }}].rc != 0 […] roles/init/tasks/main.yml  
  • 34. Agenda   34   Docker   Ansible   Jenkins   MoZvaZon  –  How  to  keep  focus  on  your  product?   Summary  /  Learnings  
  • 35. Key  Issues  &  SoluZon  Approaches   35   •  Docker:  Usage  of  boot2docker   on  non  Linux  (OS  X,  Win)   •  Docker:  Container  orchestraZon   on  producZon  systems  with   distributed  docker  deamons   •  Ansible:  v1  not  running  on  Win   •  Ansible:  For  some  tasks,  special   python  libs  need  to  be  on  the   target  host   Contribute  to  helper  tools  ;-­‐)   e.g.  b2d-­‐sync  (node.js  tool)   Create  custom  soluZons  based   on  Ambassador  pa~ern  and   etcd  orchestrated  by  Ansible   Use  Vagrant  or  get  rid  of   Windows  ;-­‐))     Check  in  tasks,  if  libraries  are   already  installed  
  • 36. Summary   36   20  days   3  hours   <  30  min   Effort  for  setup,  learning  and  trouble  shooZng  for   Ansible  &  Jenkins   Ramp-­‐Up  of  a  new  employee  unZl  first  commit   Time  unZl  a  fresh  Server  is  setup  with  all  required   services   14  days   For  changing  our  Vagrant  based  environment  to   docker  &  docker-­‐compose  
  • 37. 37   THANKS!   Follow  us  @leanix_net   Download  Ansible  Example  Code   github.com/leanix/codetalks_2014_demo   We  are  hiring!!!   •  Frontend  Developers   •  Backend  Developers   •  MarkeZng  &  Sales   www.leanix.net  
  • 39. Growth  and  DigitalizaZon  leads  to  increasing   IT  complexity   39   -me   Growth  /   Digitaliza-on   20-­‐30  ApplicaZons   50-­‐80  ApplicaZons   >  150  ApplicaZons  
  • 40. Lacking  transparency  of  the  IT  landscape  is  a   strong  barrier  for  innovaZon   40   35  b€  overspent  due  to   redundant  applicaZons     Source:  Detecon  /  McKinsey,  15%  of  applicaZons  can  be  consolidated   Inefficient  processes   due  to  head  monopoly  
  • 41. leanIX  is  a  smart  plahorm  which  helps   companies  to  opZmize  their  IT  landscape   41   Fact  Sheets  &  Tagging   Context-­‐based  Search   API,  Import  &  Export   Comments  &  Threads   IT  Inventory   Collabora-on  PlaPorm   Interac-ve  Repor-ng   AcZvity  Stream  &   NoZficaZons   SubscripZon   Print  &  Export  (PDF)   Best  PracZce  Reports   InteracZve  AdapZon  
  • 42. leanIX  connects  the  dots  in  the  ecosystem   of  modern  IT  management   42   Collabora-on-­‐  &  Document  Mgmt   IT  Service  Management  &   Help  Desk   Requirements-­‐  &   Business  Process  Mgmt   Project  PorPolio-­‐  and   Ressource-­‐Management   Selected  products  to  illustrate   Out-­‐of-­‐the-­‐box   IntegraZonen   REST  API  &   SDKs   developer.leanix.net  
  • 43. Partnering  /  IntegraZon   43   Sync