CONTINUOUS DELIVERY @ İYZİCO
WEBRAZZİ ONLINE: CODE - OCT 11, 2016 İSTANBUL
AGENDA
iyzico : easy, fast & happy
Engineering
Tech Stack
Continuous Delivery
İYZİCO: EASY, FAST & HAPPY
November: Acquisition of
, real-time
analytics platform for payments
– Hakan Erdogan (CTO) joins
1.4 1.4
6.2
Jul 2013 Aug 2014 May 2015
Series B
April:
Launched first official
payment product
March:
PCI DSS Level 1
Certification
obtained
November:
Founded by
Barbaros & Tahsin
September: Integration
with Isbank
June: Launched
iyziMarketplace
solution
Series A
Rounds of Financing (USD mn)
2012
2014
2013
2015
2016
Total: USD 9mn
April: Payment
Institution License
Application to
BRSA (BDDK)
April:
 Set-up Iranian Branch
 Launched iyziMulti-Currency
January:
Introduced iyziHybrid
Solution
February:
Contract signed with
Iranian Acquirer PECCO
February:
Set up Istanbul
Office
April: Launched
Installment Payments
for 6 Local Card Families
May - Oct:
 BRSA (BDDK) payment license obtained
 Facebook messenger – iyzico payment
integration launched
 dev.iyzipay.com community site launched
 Expansion of sales force
Seed
December: Completed
Installment Offer:
Adding Card
Notes: 1Turkish Banking Regulation and Supervision Authority
İYZİCO
GROWTH
OFFICE
OFFICE
OFFICE
ENGINEERING
Engineering
24 people
UX
- Designers
- Front-end developers
- Product owner
Infrastructure
- Sys admins
- DBA
- Network engineer
- Office helpdesk
Software
Development
- Software engineers
- Product owners
Team
Odin
- Software engineers
- Product owner
Team
Cronos
- Software engineers
- Product owner
Team
Herakles
- Software engineers
- Product owner
ENGINEERING
MVP
1 Week Sprint
ENGINEERING – THE TEAM
TECHNOLOGY STACK
Groovy
TECH STACK
CONTINUOUS DELIVERY - PRINCIPLES
• Fail fast
• Job fails if any test fails
• Warn if any build fails
• Keep build history
• Do not merge complex code
• Do not merge failed builds
• Continuous feedback & report
CONTINUOUS DELIVERY
feature
Pair
Programming
Test
Automation
Code
Review
ping-pong
rotation
cross-functional
code quality
backup
pull request
(max 2 ppl)
session
(team)
crucible
(max 3 ppl)
integration
unit
functional
master branch
develop branch
feature
branches
a
b
c
d
bamboo builds
merged to develop branch
- unit tests
- integration tests
Continuous Integration
developers’ local environment
Pair
Programming
Test
Automation
Code
Review
ping-pong
rotation
cross-functional
code quality
backup
pull request
(max 2 ppl)
session
(team)
crucible
(max 3 ppl)
integration
unit
functional
master branch
develop branch
feature
branches
a
b
c
d
bamboo builds
merged to develop branch
- unit tests
- integration tests
Continuous Integration
developers’ local environment
releasebranch
artifact release build
- versioning
- unit tests
- integration tests
- artifactory
release
v1.2.3.jar
mergedtomasterbranch
tag
dev environment
profile config
deployment
after deployment
and nightly builds
- functional tests
stg
prod
dr
sand
box
uat after deployment
- functional tests
blue-green deployment
- release notes
- change management
- zero downtime
- smoke tests
Continuous Delivery
Pair
Programming
Test
Automation
Code
Review
ping-pong
rotation
cross-functional
code quality
backup
pull request
(max 2 ppl)
session
(team)
crucible
(max 3 ppl)
integration
unit
functional
master branch
develop branch
feature
branches
a
b
c
d
bamboo builds
merged to develop branch
- unit tests
- integration tests
Continuous Integration
developers’ local environment
releasebranch
artifact release build
- versioning
- unit tests
- integration tests
- artifactory
release
v1.2.3.jar
mergedtomasterbranch
tag
dev environment
profile config
deployment
after deployment
and nightly builds
- functional tests
stg
prod
dr
sand
box
uat after deployment
- functional tests
blue-green deployment
- release notes
- change management
- zero downtime
- smoke tests
Continuous Delivery Production
Monitoring
Splunk
Nagios
Proactive
Monitoring
Pingdom
- cpu
- ram
- disk
- heap
- dashboard
- alert
- outer
healthcheck
- pos uptime
- response time
Pair
Programming
Test
Automation
Code
Review
ping-pong
rotation
cross-functional
code quality
backup
pull request
(max 2 ppl)
session
(team)
crucible
(max 3 ppl)
integration
unit
functional
master branch
develop branch
feature
branches
a
b
c
d
bamboo builds
merged to develop branch
- unit tests
- integration tests
Continuous Integration
developers’ local environment
releasebranch
artifact release build
- versioning
- unit tests
- integration tests
- artifactory
release
v1.2.3.jar
mergedtomasterbranch
tag
dev environment
profile config
deployment
after deployment
and nightly builds
- functional tests
stg
prod
dr
sand
box
uat after deployment
- functional tests
blue-green deployment
- release notes
- change management
- zero downtime
- smoke tests
Continuous Delivery Production
Monitoring
Splunk
Nagios
Proactive
Monitoring
Pingdom
- cpu
- ram
- disk
- heap
- dashboard
- alert
- outer
healthcheck
- pos uptime
- response time
MONITORING
MONITORING
CUMULATIVE FLOW DIAGRAM
DEV.IYZIPAY.COM
OPEN SOURCE COMMUNITY
https://sandbox-merchant.iyzipay.com/register
https://sandbox-api.iyzipay.com
https://github.com/iyzico
https://dev.iyzipay.com
WHAT’S NEXT ?
THANKS
26
@hakanerdogan
hakan@iyzico.com
/hakanerdogan
career@iyzico.com
@iyzico_com
https://www.iyzico.com

Webrazzi online code: iyzico continuous delivery