SlideShare a Scribd company logo
1 of 28
Accelerating
Time-to-Market
with Continuous
Delivery
Manoj Awasthi
CTO of JULO
16/05/2023 at Tech In Asia, PDC 2023
Hello, nama saya
Manoj Awasthi!
● CTO at JULO
● Earlier, more than 6 years at
Tokopedia
● Last 7 years in Indonesia
What is JULO?
An innovative financial technology company that was
established in 2016 and have revolutionized access to financial
products for unbanked and underbanked Indonesians
Adrianus Hitijahubessy
Chief Executive Officer
JULO’s Purpose
Empower Indonesians to be able to
achieve a stable financial condition so
that their quality of life increases and
support financial inclusion in Indonesia.
JULO Milestones
2016 2018 2020 2022
2017 2019 2021
Founded
Winner of the
Indonesia Fintech
Festival
Dec 2016
Registered at OJK
#1 Customer
Launched Android
Application
1 million app
downloads
Series A Funding
Winner of the UN
Fintech Challenge
ISO 27001 Data
Security
Certification
(April 2019)
50 Inclusive
Fintech Awards
National coverage
credit distribution
(one of the first
fintech players)
OJK Fully
Licensed (May
2020)
Cumulative Loan
Disbursement
IDR 3 Trillion
Strategic
Collaboration
with Grab
10 million app
downloads
Series B Funding
1 million
customers in all
provinces of
Indonesia
Worksho
p
outline
Overview of CI/CD &
Success stories of CI/CD
adoption
Interactive segment
Q n A
What is CI/CD
COMEDY, IMPROVE AND
DELIVERY
THE CIRCUS OF DEVELOPMENT
THE COMEDY OF ERRORS
Software development is not always
smooth sailing with bugs, typos, and
unexpected issues.
But fear not, our friend CI/CD is here to
rescue us ensuring our code is always ready
for the stage.
Little Bit of History
Requirements
Gathering
Design
Development
Testing
Deployment
Fast forward to era
with CI/CD!
Requirements
Gathering
Design
Development
• CI/CD *
Testing
Deployment
• CD *
CONTINUOUS INTEGRATION: THE IMPROV ACT
● Frequent code merges into a shared repository
with CI server automatically building and testing
the changes
● If tests pass, the code is merged to shared repo
● If tests fail, the developers are notified and they
can address the issue
Just like improv comedy, where actors build the scene together,
Continuous Integration brings devs together to integrate code frequently
… AND WHAT KIND OF TESTING IS DONE AT CI
STAGE
01 Code Quality Tests
02 Unit Tests
03 Integration Tests
04 Security Tests
05 UI Tests and more.
BENEFITS THAT CI BRINGS
Early Detection of Errors Reduced Risk of Integration
Issues
Faster Feedback Loops
Increased confidence in
the code
CONTINUOUS DEPLOYMENT: THE SHOW MUST GO ON
● Delivery: Releasing the CI tested code to a non
production environment for an elaborate testing
● Deployment: Automatic release to production
once the code passes all automated tests. Needs
a high level of confidence and monitoring.
Continuous delivery and deployment ensure a seamless production by
automating the release process.
BENEFITS THAT CD BRINGS
Faster time to market Reduced Risk
Improved Quality Faster Feedback loop
CI/CD Tooling
KEY CONCEPTS IN CI/CD
Overall structure
of the flow
PIPELINE/
WORKFLOW
JOBS/TASKS
STEPS/RUN/S
CRIPTS
KEYS/CONFIGS
Incremental jobs
within the pipeline
Individual scripts
or commands
Inserted at run time
e.g. credentials or
environment variables
2016
Deployment code: Ansible
● Git checkout release branch
● Install python dependencies
● Run DB migration via Django
migration
● Restart services
Deployment:
● Non-prod: running Ansible
manually from remote VM
(jumpbox) via bash script
● Prod: manually running of
Ansible from dev’s laptop
2017
Introduced CircleCI
Running Ansible automatically from
remote VM (jumpbox) via bash script
Introduced flake8 (linting) static
analysis tool and jenkins replacing
remote server
2020
Introduced Sonarqube
For vulnerabilities scanning in the
code and establishing secure code
practices
Jan 2023
CI/CD JOURNEY AT JULO
CI/CD PIPELINE AT JULO
From 1x week (2017) to 2x week (2019) to 5x a week (2022+)
Impact on deployment frequency
SUCCESS STORIES FROM THE BIG TECHS
• Reduced the time to
deploy from several days
to minutes
• Able to release new
features and updates
more frequently
• Improved user
satisfaction and
engagement
• Reduced the time to
market for new features
from months to weeks
Source:
https://www.simform.com/blog/etsy-devops-
case-study/
Source:
https://www.infoq.com/presentations/vogels
-amazon-platform/
• Reduced time for changes
to production, reducing
downtime and improving
the user experience
Source:
https://netflixtechblog.com/how-we-build-
code-at-netflix-
c5d9bd727f15?gi=a8b9580d4791
SUCCESS STORIES FROM THE BIG TECHS
• Reduced the time
required to release new
versions of the Windows
operating system from
years to just a few
months
• Improved reliability of
Google services, reduce
downtime and the risk of
issues making it to
production
Source:
https://azure.microsoft.com/en-
us/solutions/devops/devops-at-microsoft/
Source:
https://sre.google/workbook/canarying-
releases/
• Helped release new
features and updates
more frequently which
further helped iterate
quickly and respond to
user feedback more
effectively.
Source:
https://engineering.atspotify.com/2014/03/s
potify-engineering-culture-part-1/
BUILD SUCCESS RATE
% of successful builds
BUILD TIME
Average time to finish
the build
TEST COVERAGE
% tests covered in
automation
DEPLOYMENT
FREQUENCY
Frequency of the
deployments
CHANGE LEAD
TIME
Time taken between code
commit and deployment in
production
CHANGE
FAILURE RATE
% of deployed changes
that fail in production
METRICS: HOW TO MEASURE SUCCESS
… AND WHAT KIND OF TESTING IS DONE AT CI
STAGE
01 Code Quality Tests
02 Unit Tests
03 Integration Tests
04 Security Tests
05 UI Tests and more.
Do you see potential caveats here?
SOME PRACTICAL TIPS
● Automate all the “best practices” you want the developers to follow
● Parallelize the tests or scripts in CI as much as possible. Time more important than
space.
● Divide the tests in CI/CD into blocking and non blocking tests. Run non-blocking in a
separate pipeline at a less frequent interval to optimise regular CI/CD pipeline.
● Leverage the CI/CD infrastructure for more complex delivery automation.
● Build a culture to commit often.
● Build a culture to deploy often (frequent; small deployments)
● Build a culture to prioritise fixing broken builds.
● Keep evolving.
Interactive Segment
LET’S LEARN FROM EACH OTHER
OPEN QUESTIONS FOR DISCUSSION
● What stage of a startup should CI/CD be
introduced? Is it valuable to introduce
right when starting up?
● Any challenges you observed with CI/CD
in your organisation or elsewhere?
● Any best practices you came across?
QnA

More Related Content

Similar to Accelerating Time-To-Market with Continuous Delivery at Tech in Asia, PDC 2023 Jakarta

Efficient platform engineering with Microk8s & gopaddle.pdf
Efficient platform engineering  with  Microk8s & gopaddle.pdfEfficient platform engineering  with  Microk8s & gopaddle.pdf
Efficient platform engineering with Microk8s & gopaddle.pdfVinothini Raju
 
How To Ensure Quality With Automation
How To Ensure Quality With AutomationHow To Ensure Quality With Automation
How To Ensure Quality With AutomationMindbowser Inc
 
PratheshBV_Resume
PratheshBV_ResumePratheshBV_Resume
PratheshBV_Resumepradeesh bv
 
"Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry""Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry"Applitools
 
Microsoft Skills Bootcamp - The power of GitHub and Azure
Microsoft Skills Bootcamp - The power of GitHub and AzureMicrosoft Skills Bootcamp - The power of GitHub and Azure
Microsoft Skills Bootcamp - The power of GitHub and AzureDavide Benvegnù
 
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Kiko Monteverde
 
Dev ops intro
Dev ops introDev ops intro
Dev ops introRaju Raju
 
Scaling Test first for the Enterprise
Scaling Test first for the EnterpriseScaling Test first for the Enterprise
Scaling Test first for the EnterpriseQASymphony
 
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”Emerasoft, solutions to collaborate
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityIvan Porta
 
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsSanjeev Sharma
 
Efficient CI_CD in the Software Development Lifecycle.pdf
Efficient CI_CD in the Software Development Lifecycle.pdfEfficient CI_CD in the Software Development Lifecycle.pdf
Efficient CI_CD in the Software Development Lifecycle.pdfKeyX Technologies
 
ABN AMRO DevSecOps Journey
ABN AMRO DevSecOps JourneyABN AMRO DevSecOps Journey
ABN AMRO DevSecOps JourneyDerek E. Weeks
 
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENTROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENTIndium Software
 
RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15Pierluigi Riti
 
CI-CD and DevOps with Ruby
CI-CD and DevOps with RubyCI-CD and DevOps with Ruby
CI-CD and DevOps with RubyPierluigi Riti
 
Agile+DevOps - do we understand it?
Agile+DevOps - do we understand it?Agile+DevOps - do we understand it?
Agile+DevOps - do we understand it?toamitkumar
 
Mobile App Quality Roadmap for DevTest Teams
Mobile App Quality Roadmap for DevTest TeamsMobile App Quality Roadmap for DevTest Teams
Mobile App Quality Roadmap for DevTest TeamsPerfecto by Perforce
 
Enterprise DevOps and the Modern Mainframe Webcast Presentation
Enterprise DevOps and the Modern Mainframe Webcast PresentationEnterprise DevOps and the Modern Mainframe Webcast Presentation
Enterprise DevOps and the Modern Mainframe Webcast PresentationCompuware
 
CI WP Meetup 2013-04-26
CI WP Meetup 2013-04-26CI WP Meetup 2013-04-26
CI WP Meetup 2013-04-26Andreas Ek
 

Similar to Accelerating Time-To-Market with Continuous Delivery at Tech in Asia, PDC 2023 Jakarta (20)

Efficient platform engineering with Microk8s & gopaddle.pdf
Efficient platform engineering  with  Microk8s & gopaddle.pdfEfficient platform engineering  with  Microk8s & gopaddle.pdf
Efficient platform engineering with Microk8s & gopaddle.pdf
 
How To Ensure Quality With Automation
How To Ensure Quality With AutomationHow To Ensure Quality With Automation
How To Ensure Quality With Automation
 
PratheshBV_Resume
PratheshBV_ResumePratheshBV_Resume
PratheshBV_Resume
 
"Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry""Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry"
 
Microsoft Skills Bootcamp - The power of GitHub and Azure
Microsoft Skills Bootcamp - The power of GitHub and AzureMicrosoft Skills Bootcamp - The power of GitHub and Azure
Microsoft Skills Bootcamp - The power of GitHub and Azure
 
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
 
Dev ops intro
Dev ops introDev ops intro
Dev ops intro
 
Scaling Test first for the Enterprise
Scaling Test first for the EnterpriseScaling Test first for the Enterprise
Scaling Test first for the Enterprise
 
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
 
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOps
 
Efficient CI_CD in the Software Development Lifecycle.pdf
Efficient CI_CD in the Software Development Lifecycle.pdfEfficient CI_CD in the Software Development Lifecycle.pdf
Efficient CI_CD in the Software Development Lifecycle.pdf
 
ABN AMRO DevSecOps Journey
ABN AMRO DevSecOps JourneyABN AMRO DevSecOps Journey
ABN AMRO DevSecOps Journey
 
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENTROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
 
RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15
 
CI-CD and DevOps with Ruby
CI-CD and DevOps with RubyCI-CD and DevOps with Ruby
CI-CD and DevOps with Ruby
 
Agile+DevOps - do we understand it?
Agile+DevOps - do we understand it?Agile+DevOps - do we understand it?
Agile+DevOps - do we understand it?
 
Mobile App Quality Roadmap for DevTest Teams
Mobile App Quality Roadmap for DevTest TeamsMobile App Quality Roadmap for DevTest Teams
Mobile App Quality Roadmap for DevTest Teams
 
Enterprise DevOps and the Modern Mainframe Webcast Presentation
Enterprise DevOps and the Modern Mainframe Webcast PresentationEnterprise DevOps and the Modern Mainframe Webcast Presentation
Enterprise DevOps and the Modern Mainframe Webcast Presentation
 
CI WP Meetup 2013-04-26
CI WP Meetup 2013-04-26CI WP Meetup 2013-04-26
CI WP Meetup 2013-04-26
 

Recently uploaded

Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...FIDO Alliance
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxFIDO Alliance
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfalexjohnson7307
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Paige Cruz
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideStefan Dietze
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Hiroshi SHIBATA
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandIES VE
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxFIDO Alliance
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdfMuhammad Subhan
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 

Recently uploaded (20)

Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 

Accelerating Time-To-Market with Continuous Delivery at Tech in Asia, PDC 2023 Jakarta

  • 1. Accelerating Time-to-Market with Continuous Delivery Manoj Awasthi CTO of JULO 16/05/2023 at Tech In Asia, PDC 2023
  • 2. Hello, nama saya Manoj Awasthi! ● CTO at JULO ● Earlier, more than 6 years at Tokopedia ● Last 7 years in Indonesia
  • 3. What is JULO? An innovative financial technology company that was established in 2016 and have revolutionized access to financial products for unbanked and underbanked Indonesians Adrianus Hitijahubessy Chief Executive Officer JULO’s Purpose Empower Indonesians to be able to achieve a stable financial condition so that their quality of life increases and support financial inclusion in Indonesia.
  • 4. JULO Milestones 2016 2018 2020 2022 2017 2019 2021 Founded Winner of the Indonesia Fintech Festival Dec 2016 Registered at OJK #1 Customer Launched Android Application 1 million app downloads Series A Funding Winner of the UN Fintech Challenge ISO 27001 Data Security Certification (April 2019) 50 Inclusive Fintech Awards National coverage credit distribution (one of the first fintech players) OJK Fully Licensed (May 2020) Cumulative Loan Disbursement IDR 3 Trillion Strategic Collaboration with Grab 10 million app downloads Series B Funding 1 million customers in all provinces of Indonesia
  • 5. Worksho p outline Overview of CI/CD & Success stories of CI/CD adoption Interactive segment Q n A
  • 8. THE CIRCUS OF DEVELOPMENT
  • 9. THE COMEDY OF ERRORS Software development is not always smooth sailing with bugs, typos, and unexpected issues. But fear not, our friend CI/CD is here to rescue us ensuring our code is always ready for the stage.
  • 10. Little Bit of History Requirements Gathering Design Development Testing Deployment
  • 11. Fast forward to era with CI/CD! Requirements Gathering Design Development • CI/CD * Testing Deployment • CD *
  • 12. CONTINUOUS INTEGRATION: THE IMPROV ACT ● Frequent code merges into a shared repository with CI server automatically building and testing the changes ● If tests pass, the code is merged to shared repo ● If tests fail, the developers are notified and they can address the issue Just like improv comedy, where actors build the scene together, Continuous Integration brings devs together to integrate code frequently
  • 13. … AND WHAT KIND OF TESTING IS DONE AT CI STAGE 01 Code Quality Tests 02 Unit Tests 03 Integration Tests 04 Security Tests 05 UI Tests and more.
  • 14. BENEFITS THAT CI BRINGS Early Detection of Errors Reduced Risk of Integration Issues Faster Feedback Loops Increased confidence in the code
  • 15. CONTINUOUS DEPLOYMENT: THE SHOW MUST GO ON ● Delivery: Releasing the CI tested code to a non production environment for an elaborate testing ● Deployment: Automatic release to production once the code passes all automated tests. Needs a high level of confidence and monitoring. Continuous delivery and deployment ensure a seamless production by automating the release process.
  • 16. BENEFITS THAT CD BRINGS Faster time to market Reduced Risk Improved Quality Faster Feedback loop
  • 18. KEY CONCEPTS IN CI/CD Overall structure of the flow PIPELINE/ WORKFLOW JOBS/TASKS STEPS/RUN/S CRIPTS KEYS/CONFIGS Incremental jobs within the pipeline Individual scripts or commands Inserted at run time e.g. credentials or environment variables
  • 19. 2016 Deployment code: Ansible ● Git checkout release branch ● Install python dependencies ● Run DB migration via Django migration ● Restart services Deployment: ● Non-prod: running Ansible manually from remote VM (jumpbox) via bash script ● Prod: manually running of Ansible from dev’s laptop 2017 Introduced CircleCI Running Ansible automatically from remote VM (jumpbox) via bash script Introduced flake8 (linting) static analysis tool and jenkins replacing remote server 2020 Introduced Sonarqube For vulnerabilities scanning in the code and establishing secure code practices Jan 2023 CI/CD JOURNEY AT JULO
  • 20. CI/CD PIPELINE AT JULO From 1x week (2017) to 2x week (2019) to 5x a week (2022+) Impact on deployment frequency
  • 21. SUCCESS STORIES FROM THE BIG TECHS • Reduced the time to deploy from several days to minutes • Able to release new features and updates more frequently • Improved user satisfaction and engagement • Reduced the time to market for new features from months to weeks Source: https://www.simform.com/blog/etsy-devops- case-study/ Source: https://www.infoq.com/presentations/vogels -amazon-platform/ • Reduced time for changes to production, reducing downtime and improving the user experience Source: https://netflixtechblog.com/how-we-build- code-at-netflix- c5d9bd727f15?gi=a8b9580d4791
  • 22. SUCCESS STORIES FROM THE BIG TECHS • Reduced the time required to release new versions of the Windows operating system from years to just a few months • Improved reliability of Google services, reduce downtime and the risk of issues making it to production Source: https://azure.microsoft.com/en- us/solutions/devops/devops-at-microsoft/ Source: https://sre.google/workbook/canarying- releases/ • Helped release new features and updates more frequently which further helped iterate quickly and respond to user feedback more effectively. Source: https://engineering.atspotify.com/2014/03/s potify-engineering-culture-part-1/
  • 23. BUILD SUCCESS RATE % of successful builds BUILD TIME Average time to finish the build TEST COVERAGE % tests covered in automation DEPLOYMENT FREQUENCY Frequency of the deployments CHANGE LEAD TIME Time taken between code commit and deployment in production CHANGE FAILURE RATE % of deployed changes that fail in production METRICS: HOW TO MEASURE SUCCESS
  • 24. … AND WHAT KIND OF TESTING IS DONE AT CI STAGE 01 Code Quality Tests 02 Unit Tests 03 Integration Tests 04 Security Tests 05 UI Tests and more. Do you see potential caveats here?
  • 25. SOME PRACTICAL TIPS ● Automate all the “best practices” you want the developers to follow ● Parallelize the tests or scripts in CI as much as possible. Time more important than space. ● Divide the tests in CI/CD into blocking and non blocking tests. Run non-blocking in a separate pipeline at a less frequent interval to optimise regular CI/CD pipeline. ● Leverage the CI/CD infrastructure for more complex delivery automation. ● Build a culture to commit often. ● Build a culture to deploy often (frequent; small deployments) ● Build a culture to prioritise fixing broken builds. ● Keep evolving.
  • 27. LET’S LEARN FROM EACH OTHER OPEN QUESTIONS FOR DISCUSSION ● What stage of a startup should CI/CD be introduced? Is it valuable to introduce right when starting up? ● Any challenges you observed with CI/CD in your organisation or elsewhere? ● Any best practices you came across?
  • 28. QnA