webrazzi online code: iyzico continuous delivery

26
CONTINUOUS DELIVERY @ İYZİCO WEBRAZZİ ONLINE: CODE - OCT 11, 2016 İSTANBUL

Upload: hakan-erdogan

Post on 16-Apr-2017

734 views

Category:

Engineering


18 download

TRANSCRIPT

Page 1: Webrazzi online code: iyzico continuous delivery

CONTINUOUS DELIVERY @ İYZİCO

WEBRAZZİ ONLINE: CODE - OCT 11, 2016 İSTANBUL

Page 2: Webrazzi online code: iyzico continuous delivery

AGENDA

iyzico : easy, fast & happy

Engineering

Tech StackContinuous Delivery

Page 3: Webrazzi online code: iyzico continuous delivery

İYZİCO: EASY, FAST & HAPPY

November: Acquisition of , real-time

analytics platform for payments – Hakan Erdogan (CTO) joins

Jul 2013 Aug 2014 May 2015

1.4 1.4

6.2

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

SolutionFebruary:

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

Page 4: Webrazzi online code: iyzico continuous delivery

İYZİCO

Engineering : 24 50%-50% rule

Team : 3+1+1Office : 900 m2

Merchants : 38 K registered - 8 K live

Daily request : 420 K

Employee : 62 https://www.iyzico.com/biz-kimiz/ekip/

Page 5: Webrazzi online code: iyzico continuous delivery

GROWTH

Page 6: Webrazzi online code: iyzico continuous delivery

OFFICE

Page 7: Webrazzi online code: iyzico continuous delivery

OFFICE

Page 8: Webrazzi online code: iyzico continuous delivery

OFFICE

Page 9: Webrazzi online code: iyzico continuous delivery

ENGINEERING

Engineering24 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

Page 10: Webrazzi online code: iyzico continuous delivery

ENGINEERING

Cross FunctionalSCRUMAGILE MVP

Self Organize

PairsFreedom Under Responsibility

Flat No B.A.No Test Eng.

Full-stack Engineers1 Week Sprint

Feature Team

Page 11: Webrazzi online code: iyzico continuous delivery

ENGINEERING – THE TEAM

Page 12: Webrazzi online code: iyzico continuous delivery

TECHNOLOGY STACK

Spring BootSpring 4JAVA 8 Groovy

MySQL

RestFul APIOpen Source

Redis

HibernateScala

Spark

Page 13: Webrazzi online code: iyzico continuous delivery

TECH STACK

Page 14: Webrazzi online code: iyzico continuous delivery

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

Page 15: Webrazzi online code: iyzico continuous delivery

CONTINUOUS DELIVERY

feature

Page 16: Webrazzi online code: iyzico continuous delivery

Pair Programming

TestAutomation

CodeReview

ping-pong

rotationcross-functional

code qualitybackup

pull request(max 2 ppl)

session(team)

crucible(max 3 ppl)integration

unit

functional

master branch

develop branch

feature branches

a

b

c

featu

re bran

ch

d

bamboo builds

merged to develop branch

- unit tests- integration tests

Continuous Integration

developers’ local environment

Page 17: Webrazzi online code: iyzico continuous delivery

Pair Programming

TestAutomation

CodeReview

ping-pong

rotationcross-functional

code qualitybackup

pull request(max 2 ppl)

session(team)

crucible(max 3 ppl)integration

unit

functional

master branch

develop branch

feature branches

a

b

c

featu

re bran

ch

d

bamboo builds

merged to develop branch

- unit tests- integration tests

Continuous Integration

developers’ local environment

relea

se /

v 1.2.

3

rele

ase

bran

ch artifact release build- versioning- unit tests- integration tests- artifactory

release v1.2.3.jar

mer

ged

to m

aste

r bra

nch

tag

dev environment

profile config

deployment

after deploymentand 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

Page 18: Webrazzi online code: iyzico continuous delivery

Pair Programming

TestAutomation

CodeReview

ping-pong

rotationcross-functional

code qualitybackup

pull request(max 2 ppl)

session(team)

crucible(max 3 ppl)integration

unit

functional

master branch

develop branch

feature branches

a

b

c

featu

re bran

ch

d

bamboo builds

merged to develop branch

- unit tests- integration tests

Continuous Integration

developers’ local environment

relea

se /

v 1.2.

3

rele

ase

bran

ch artifact release build- versioning- unit tests- integration tests- artifactory

release v1.2.3.jar

mer

ged

to m

aste

r bra

nch

tag

dev environment

profile config

deployment

after deploymentand 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 ProductionMonitoring

Splunk

Nagios

Proactive Monitoring

Pingdom

- cpu- ram

- disk- heap

- dashboard- alert

- outer healthcheck

- pos uptime- response time

Page 19: Webrazzi online code: iyzico continuous delivery

Pair Programming

TestAutomation

CodeReview

ping-pong

rotationcross-functional

code qualitybackup

pull request(max 2 ppl)

session(team)

crucible(max 3 ppl)integration

unit

functional

master branch

develop branch

feature branches

a

b

c

featu

re bran

ch

d

bamboo builds

merged to develop branch

- unit tests- integration tests

Continuous Integration

developers’ local environment

relea

se /

v 1.2.

3

rele

ase

bran

ch artifact release build- versioning- unit tests- integration tests- artifactory

release v1.2.3.jar

mer

ged

to m

aste

r bra

nch

tag

dev environment

profile config

deployment

after deploymentand 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 ProductionMonitoring

Splunk

Nagios

Proactive Monitoring

Pingdom

- cpu- ram

- disk- heap

- dashboard- alert

- outer healthcheck

- pos uptime- response time

Page 20: Webrazzi online code: iyzico continuous delivery

MONITORING

Page 21: Webrazzi online code: iyzico continuous delivery

MONITORING

Page 22: Webrazzi online code: iyzico continuous delivery

CUMULATIVE FLOW DIAGRAM

Page 23: Webrazzi online code: iyzico continuous delivery

DEV.IYZIPAY.COM

Page 24: Webrazzi online code: iyzico continuous delivery

OPEN SOURCE COMMUNITY

Merchant Panel & API

Sand-boxJava

Dev Site

Github

https://sandbox-merchant.iyzipay.com/register

https://sandbox-api.iyzipay.com

https://github.com/iyzico.Net PHP

RoR Python NodeJS

https://dev.iyzipay.com

Page 25: Webrazzi online code: iyzico continuous delivery

WHAT’S NEXT ?

HiringDocker

ChatOps

Micro Module Micro Services

Page 26: Webrazzi online code: iyzico continuous delivery

THANKS

26

@hakanerdogan

[email protected]

/hakanerdogan

[email protected]

@iyzico_com

https://www.iyzico.com