39
Continuous Delivery @ iyzico 20.09.2016

Continuous delivery @ iyzico

Embed Size (px)

Citation preview

Page 1: Continuous delivery @ iyzico

Continuous Delivery@ iyzico

20.09.2016

Page 2: Continuous delivery @ iyzico

Intro

What is iyzico?

Continuous Delivery

How do we implement Continuous Delivery?

Integrate your CI

How to integrate iyzico in your CI environment?

Demo

Dockerized demo application to test iyzico

Q&A

Any questions?

Page 3: Continuous delivery @ iyzico

intro

Page 4: Continuous delivery @ iyzico

• Founded in Istanbul in 2012• Fintech company focuses on Payment Industry• 62 employees• 25-30 employees in Engineering & Infrastructure Department• https://www.iyzico.com

iyzico

Page 5: Continuous delivery @ iyzico
Page 6: Continuous delivery @ iyzico
Page 7: Continuous delivery @ iyzico
Page 8: Continuous delivery @ iyzico

continuousdelivery

Page 9: Continuous delivery @ iyzico

• 1 week sprint• Cross-functional teams which has own Product Owners and Engineers• No Business Analysts, No Test Engineers• Engineers works as Fullstack• Better functionality & design with UX team• Project Managers define business requirements

engineering team

Page 10: Continuous delivery @ iyzico

Testing Review

Pair Programming

Page 11: Continuous delivery @ iyzico

“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”

http://agilemanifesto.org/principles.html

“Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any

time.”

http://martinfowler.com/bliki/ContinuousDelivery.html

Page 12: Continuous delivery @ iyzico

• Fail fast• Job fails if any test fails• Notify• Warn if any build fails• Keep build history• Do not merge complex code• Do not merge failed builds• Continuous feedback• Report

principles

Page 13: Continuous delivery @ iyzico
Page 14: Continuous delivery @ iyzico
Page 15: Continuous delivery @ iyzico
Page 16: Continuous delivery @ iyzico
Page 17: Continuous delivery @ iyzico
Page 18: Continuous delivery @ iyzico
Page 19: Continuous delivery @ iyzico
Page 20: Continuous delivery @ iyzico
Page 21: Continuous delivery @ iyzico
Page 22: Continuous delivery @ iyzico

• Nightly builds• Nightly static code analysis• Nightly security code scan• Nightly deployment to dev environment• Nightly functional test• Build artifacts• Delivery• Feedback & report• Monitoring

phases

Page 23: Continuous delivery @ iyzico
Page 24: Continuous delivery @ iyzico

• Checkout source code• Version artifact• Run unit tests• Run integration tests• Package• Create release branch• Deploy artifact to artifactory

build artifacts

Page 25: Continuous delivery @ iyzico

• 1.2.1.109– major– minor– bug– continuous build number

version artifacts

Page 26: Continuous delivery @ iyzico

• Environment specific configurations stored in yaml files• Profile naming conventions

– local– dev– stg– sandbox– prod

• java -jar iyzico-service.jar --spring.profiles.active=prod --spring.config.location=/path/to/config.yml

profiles

Page 27: Continuous delivery @ iyzico

• Download artifact stored in CI tool• Checkout devops script• Copy devops script• Copy artifact• Blue-green deployment• Merge release branch into master• Tag

deployment

Page 28: Continuous delivery @ iyzico

deployment

• Download artifact stored in CI tool• Checkout devops script• Copy devops script• Copy artifact• Blue-green deployment• Merge release branch into master• Tag

Page 31: Continuous delivery @ iyzico

• Monitoring after deployment• Splunk• Nagios• System & Application Alerts

monitoring

Page 32: Continuous delivery @ iyzico
Page 33: Continuous delivery @ iyzico
Page 34: Continuous delivery @ iyzico

• feature / master branching• ChatOps• Docker• Bamboo will stay as CI tool• Migrate micro-modules to micro-services

todo

Page 35: Continuous delivery @ iyzico

iyzico sandbox demo

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

API Documentation : https://dev.iyzipay.com/

API & Secret Key : https://sandbox-merchant.iyzipay.com/settings

Iyzico Github : https://github.com/iyzico

Page 36: Continuous delivery @ iyzico
Page 37: Continuous delivery @ iyzico

q&a

Page 39: Continuous delivery @ iyzico

thanks20.09.2016