![Page 1: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/1.jpg)
Continuous deployment tool
www.infobip.com
Aleksandar DosticEmir Dzaferovic
![Page 2: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/2.jpg)
Introduction
• Software development
• Test Driven Development
–Unit Testing and Integration Testing
• Built goes through compiling and testing phases
• Continuous Integration
• Data Centers and virtualization
![Page 3: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/3.jpg)
CI Environment
• Source Code Management (SCM)
GIT, TFS, Subversion …
• CI Build Server
Apache Continuum, Hudson/Jenkins ...
• Maven Repository Manager
Archiva, Nexus, Artifactory ...
![Page 4: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/4.jpg)
CI Environment
SCM (Git)
CI server (Jenkins)
Maven Repository Manager(Atrifactory)
...
...
DC Artifactory:
Servers:
...
DC Artifactory:
...
DC Artifactory:
Servers:
......
Servers:
...
Data Center 1 Data Center 2 Data Center N
![Page 5: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/5.jpg)
Manual Deployment Drawbacks
• Can be performed only by specialized people, usually engineers
• The incorrect versions of software can be shipped
• Quick rollback to old versions can be challenging
• Complex maintenance of security across servers
• Difficult or impossible to track who deployed what, when and where• Difficult or impossible to track who deployed what, when and where
![Page 6: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/6.jpg)
Deployment Manager
• Internal tool for maintaining high level of service availability
• Manage of load balancing in private cloud
• Automated deploys on cross-platform environment
• Inter service connectivity configurator
• Properties file management
![Page 7: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/7.jpg)
DEPLOYMENT PROCESS
LVS
![Page 8: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/8.jpg)
DEPLOYMENT PROCESS (STEP 1)
LVS
![Page 9: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/9.jpg)
DEPLOYMENT PROCESS (STEP 2)
LVS
![Page 10: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/10.jpg)
DEPLOYMENT PROCESS (STEP 3)
LVS
![Page 11: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/11.jpg)
DEPLOYMENT PROCESS (STEP 4)
LVS
![Page 12: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/12.jpg)
DC Environment
ssh
ssh
Artifactory
ssh
powershellgateway
session
session
![Page 13: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/13.jpg)
Demo
www.infobip.com
Demo
![Page 14: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/14.jpg)
Main Features
•¸Load Balancing:
−HAProxy (High Availability Proxy)
−Apache Httpd Load Balancer (Apache Module)
−MML Load Balancer (internal service)
• Operating Systems:
−CentOS−CentOS
−Windows Server
−Windows Failover Cluster
![Page 15: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/15.jpg)
Main Features
• Service types:
−WAR
−NodeJS
−Java standalone
−Python
−DotNet−DotNet
−Infobip application bundles(internal package format)
![Page 16: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/16.jpg)
Main Features
• Actions:
−Enable/Disable balancer route
−Start
−Stop
−Deploy
−Deploy configuration−Deploy configuration
−Revert
−Edit configuration
−View application log files
![Page 17: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/17.jpg)
Infobip numbers
• 8 Data Centers
• 100+ Physical Servers
• 250+ Virtual Servers
• 98 Applications
• 284 Application Instances
FrankfurtWashington
Zagreb
Moscow
Lagos
Kinshasa
• 44 Balancers
• 569 Balancer Routes
• 100+ Developers
• 60+ Deployers
![Page 18: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/18.jpg)
Evaluation
• 12785 enable/disable routes (every 2.47 minutes)
• 1770 Deployments (every 17.89 minutes)
• 18 days of deployment (manual 74 days) out of 66 in Q3
284300848900
37 39
71
150 156
July August September
0
50
100
150
200
250
300
Total savings in July/August/September 2013: ~ 440 hours
ho
urs
sp
en
t
DM
Manual
445 447
July August September
0
100
200
300
400
500
600
700
800
An evident increase in the number of deployments in September 2013
# deployments
![Page 19: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/19.jpg)
Future steps
• Deployment into Amazon Web Services
• Smoke test support
• JBoss deployment
• Live log streaming
• Access to server terminal
![Page 20: JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović](https://reader033.vdocuments.mx/reader033/viewer/2022052301/544510f0afaf9fe72b8b4682/html5/thumbnails/20.jpg)
Thank you for your attention.
www.infobip.com