integration and automation @ mobile.de (ebay tech talk)

30

Upload: karen-almog

Post on 21-Jan-2017

209 views

Category:

Internet


1 download

TRANSCRIPT

Page 1: Integration and Automation @ mobile.de (eBay Tech Talk)
Page 2: Integration and Automation @ mobile.de (eBay Tech Talk)
Page 3: Integration and Automation @ mobile.de (eBay Tech Talk)

Integration  Systems  @  mobile.deKaren  Almog  Sr.  Web  Operations  Engineer,  Mobile  International  GmbH  [email protected]

!

Page 4: Integration and Automation @ mobile.de (eBay Tech Talk)

4

Our  Platform "

mobile.de

Over  2.7M  ads  Approx.  50k  ads  per  

day

eBay  Kleinanzeigen

Nearly  12M  ads  Over  200k  ads  per  day

Page 5: Integration and Automation @ mobile.de (eBay Tech Talk)

+50

Developers/QA

11

Teams

1826

VMs

Our  Platform

Page 6: Integration and Automation @ mobile.de (eBay Tech Talk)

6

What  Does  PD  Want? "

# $

%&

'Requirements

REPRODUCTION CONSISTENT  TEST    DATA

SIMPLE  SETUP ROLLBACK

Page 7: Integration and Automation @ mobile.de (eBay Tech Talk)

A  Standard  Integra  setup  @  mobile

7

What  Does  PD  Need? (

!O/S  Installation Debian/Solaris

"

#

Server  ConfigurationTomcats,  Databases,  Search  Indexers,  DNS,  Proxy  Servers  and  more

Data  Initialization Initial  Test  Data  Sets

Application  DeploymentWAR/JAR

Approx.  60  Virtual  machines  per  environment Ñ VM  Install

$

Page 8: Integration and Automation @ mobile.de (eBay Tech Talk)

8

What  Does  SiteOps  Want? "

[ ©

Page 9: Integration and Automation @ mobile.de (eBay Tech Talk)

9

The  Solution:  Autoconf "

*

%

'

A  Server  Provisioning  system  and  CMDB

Automated  HW  and  VM  server  provisioning

Servers  inventoried  as  a  resource  in  a  database%

'

Reduces  provisioning  time  from  hours  to  minutes)

Page 10: Integration and Automation @ mobile.de (eBay Tech Talk)

10

Inventory  Database  Overview "

Page 11: Integration and Automation @ mobile.de (eBay Tech Talk)

11

Inventory  Database  Overview "

insert into server set manufacturer='VMware, Inc.', productname='VMware Virtual Platform'; select last_insert_id() into @var_server_id; insert into serverdetails set server_id=@var_server_id,detailkey='datacenter_number', detailvalue='44'; insert into serverdetails set server_id=@var_server_id,detailkey='virtual', detailvalue='vmware'; insert into serverdetails set server_id=@var_server_id,detailkey='vmware_createopts_desire_hdd', detailvalue='12'; insert into serverdetails set server_id=@var_server_id,detailkey='vmware_createopts_desire_mem', detailvalue='3072'; insert into serverdetails set server_id=@var_server_id,detailkey='vmware_createopts_desire_cpu', detailvalue='1'; insert into assignment_queue set server_id=@var_server_id, serverclass_id=477, sequence_number=48, hostsuffix=2; select * from view_assignment_queue_hostdetails where server_id=@var_server_id;

Page 12: Integration and Automation @ mobile.de (eBay Tech Talk)

12

There’s  No  Shame  in  Using  A  Mouse! "

Page 13: Integration and Automation @ mobile.de (eBay Tech Talk)

13

The  Solution:  Genesis "

*

%

'

A  “Master”  Autoconf  Instance  for  Integras

Based  on  Autoconf

Includes  a  Web-­‐UI  and  API%

'

DB  Resource  for  other  Tools*DNS,  Deployment,  Monitoring,  Puppet

Joined  Project  between  PD  &  SiteOps+

Page 14: Integration and Automation @ mobile.de (eBay Tech Talk)

14

Genesis:  Web-­‐UI   "

Page 15: Integration and Automation @ mobile.de (eBay Tech Talk)

15

Inventory  Database:  Integra  Reference  List   "

Page 16: Integration and Automation @ mobile.de (eBay Tech Talk)

16

Genesis:  API   "

Page 17: Integration and Automation @ mobile.de (eBay Tech Talk)

17

Genesis:  API   "

Page 18: Integration and Automation @ mobile.de (eBay Tech Talk)

root@genesis44-219:~# vm_creator.py -i graphite

Assignment Queue entry for "graphite":

{ "serverClassId": 352, "sequenceNumber": 17, "hostSuffix": "1", "hostPrefix": "graphite", "modificationTime": null, "state": "newrequest", "serverId": 243, "id": 335 }

18

Genesis:  API   "

Page 19: Integration and Automation @ mobile.de (eBay Tech Talk)

19

Genesis:  Data  Initialization "

*

%

'

Set  of  BASH  Scripts

Initializes  Integra’s  Database  according  to  use  case%

'

Sets  up  database  replication  &  Initialization)

Can  be  launched  from  the  Genesis  GUI*

Page 20: Integration and Automation @ mobile.de (eBay Tech Talk)

20

Application  Deployment:  Autodeploy "

*

%

'

Continuous  Deployment  System

Web  interface  &  API

Decentralized  architecture%

'

Full  Deployment  in  20  minutes)

Instant  feedback  &  Logging*

Collaborative  effort  between  PD  &  SiteOps+

Page 21: Integration and Automation @ mobile.de (eBay Tech Talk)

21

Autodeploy  Architecture   "

eBay Inc. confidential

Architecture Overview

7

Autodeploy UI

AutoDeploy Web App

AutoDeployDB (infradb)

Apache ZooKeeper

Server running Autodeploy

Agent

Server running Autodeploy

Agent

Server running Autodeploy

Agent

Page 22: Integration and Automation @ mobile.de (eBay Tech Talk)

22

Autodeploy  Architecture:  Host  Agent   "

eBay Inc. confidential

AutoDeploy Agent - What happens during a deployment

8

Text

XMLDEPLOY

PLAN

Autodeploy Agent

TARGET HOST 1. Autodeploy sends deploy instructions to autodeploy agent running on target host.

2. Autodeploy agent executes local deployment script on target host.

3. Deployment script executes deployment steps (autonomous)

deployment script

• Call LBAPI• Call Nagios• Download software• Create properties• Test app• update releases table on

infradb• exit with status

4. Script output and exit code sent back to autodeploy agent

Loggingback to

AutoDeploy

1.

2.

3.4.

Script outputsent to Agent

5. Logging and status reported back to Autodeploy by agent

AutoDeploy Web Application

5.

Page 23: Integration and Automation @ mobile.de (eBay Tech Talk)

23

Autodeploy:  GUI   "

Page 24: Integration and Automation @ mobile.de (eBay Tech Talk)

24

Autodeploy:  GUI   "

Page 25: Integration and Automation @ mobile.de (eBay Tech Talk)

2014

25

Autodeploy:  Stats ,

Production Pre-­‐Production  ( Integra)

Rollouts  Per  Day 8 21

Applica2ons  Changes  per  day  (avg) 29 2017

Deployable  Ar2facts  (Total) 279 279

Deployable  Hosts  (Total) 555 1621

Page 26: Integration and Automation @ mobile.de (eBay Tech Talk)

26

Virtualization  in  Test  Environment ,

0!

450!

900!

1350!

1800!

2006! 2007! 2009! 2010! 2011! 2013! 2014!

Physical! Virtual!

Page 27: Integration and Automation @ mobile.de (eBay Tech Talk)

27

Today ,

CURRENT  STATUS

• We  know  it  well,  it  sbll  consumes  bme  and  there  is  very  licle  led  to  automate.

• IaaS  is  becoming  ubiquitous,  PaaS  is  our  new  challenge.

• Several  IaaS  clouds  are  already  available  at  eBay.

• We  already  have  a  sort  of  IaaS  (VMWare/Autoconf)  of  our  own  and  it  works  well  enough  for  the  short  term.

Page 28: Integration and Automation @ mobile.de (eBay Tech Talk)

28

What  Does  The  Future  Hold? ,

,Development   teams   and   processes  are  moving  towards  Micro-­‐Services

Page 29: Integration and Automation @ mobile.de (eBay Tech Talk)

29

What  Does  The  Future  Hold? ,

Page 30: Integration and Automation @ mobile.de (eBay Tech Talk)

THANK  YOU!  :-­‐)-Karen  Almog  Sr.  Web  Operations  Engineer,  Mobile  International  GmbH  [email protected]