continuous delivery @ iyzico
TRANSCRIPT
Continuous Delivery@ iyzico
20.09.2016
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?
intro
• 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
continuousdelivery
• 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
Testing Review
Pair Programming
“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
• 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
• 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
• Checkout source code• Version artifact• Run unit tests• Run integration tests• Package• Create release branch• Deploy artifact to artifactory
build artifacts
• 1.2.1.109– major– minor– bug– continuous build number
version artifacts
• 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
• Download artifact stored in CI tool• Checkout devops script• Copy devops script• Copy artifact• Blue-green deployment• Merge release branch into master• Tag
deployment
deployment
• Download artifact stored in CI tool• Checkout devops script• Copy devops script• Copy artifact• Blue-green deployment• Merge release branch into master• Tag
http://blog.launchdarkly.com/tag/bluegreen-deployments/
http://blog.octo.com/zero-downtime-deployment/
• Monitoring after deployment• Splunk• Nagios• System & Application Alerts
monitoring
• feature / master branching• ChatOps• Docker• Bamboo will stay as CI tool• Migrate micro-modules to micro-services
todo
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
q&a
thanks20.09.2016