O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Próximos SlideShares
"DevOps > CI+CD "
"DevOps > CI+CD "
Carregando em…3
×

Confira estes a seguir

1 de 40 Anúncio

TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD

Baixar para ler offline

CI/CD atau panjangnya Continous Intergation dan Continous Delivery adalah budaya yang biasa diterapkan dalam pengembangan perangkat lunak. Tapi sejatinya masih banyak programmer atau developer yang belum familiar dengan CI/CD. Padahal CI/CD adalah salah satu praktik yang memungkinkan pengembang untuk fokus pada pemenuhan sayarat bisnis, kualitas kode, dan keamanan. Dan pipeline dari CI/CD ini sangat membantu perusahaan yang sering melakukan perubahaan pada aplikasi dengan proses perngiriman yang andal. Hmm.. ternyata banyak benefitnya ya.

Jadi bagaimana ya kira-kira mengimplementasikan CI/CD dengan baik? Hal ini akan kita bahas bersama 2 orang pembicara yang expert dibidangnya, yaitu Rendra Toro (CTO Perintis Teknologi Nusantara) dan Steven Lewi (Principal Engineer Home Credit Indonesia) pada Tech Talk 2021 Live dengan tema "Peningkatan Performa Software Delivery dengan CI/CD."

CI/CD atau panjangnya Continous Intergation dan Continous Delivery adalah budaya yang biasa diterapkan dalam pengembangan perangkat lunak. Tapi sejatinya masih banyak programmer atau developer yang belum familiar dengan CI/CD. Padahal CI/CD adalah salah satu praktik yang memungkinkan pengembang untuk fokus pada pemenuhan sayarat bisnis, kualitas kode, dan keamanan. Dan pipeline dari CI/CD ini sangat membantu perusahaan yang sering melakukan perubahaan pada aplikasi dengan proses perngiriman yang andal. Hmm.. ternyata banyak benefitnya ya.

Jadi bagaimana ya kira-kira mengimplementasikan CI/CD dengan baik? Hal ini akan kita bahas bersama 2 orang pembicara yang expert dibidangnya, yaitu Rendra Toro (CTO Perintis Teknologi Nusantara) dan Steven Lewi (Principal Engineer Home Credit Indonesia) pada Tech Talk 2021 Live dengan tema "Peningkatan Performa Software Delivery dengan CI/CD."

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD (20)

Anúncio

Mais de DicodingEvent (20)

Mais recentes (20)

Anúncio

TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD

  1. 1. Westrum Organizational Culture dan CI/CD Rendra Toro (Group CTO - perintistn.com)
  2. 2. Group CTO - PT. Perintis Teknologi Nusantara ● Jatuh cinta pada dunia programming sejak 1989 ● Pengalaman di dunia e-commerce sejak 2009 (Berniaga.com, tokobagus.com, olx.co.id dan wowbid.live) ● Intel Innovators untuk AI dan Machine learning sejak tahun 2016 ● GDG Bogor manager dari tahun 2012
  3. 3. Apa sih yang dimaksud dengan kultur organisasi ? ● Menurut Cambridge Dictionary : “the types of attitudes and agreed ways of working shared by the employees of a company or organization” ● Menurut Business Dictionary : “the values and behaviors that contribute to the unique social and psychological environment of an organization.”
  4. 4. Nilai nilai kultur yang berbeda dengan kenyataan nya :) ● Konon Work and life Balance ● Konon ada Kultur untuk terus berkembang ● Konon katanya harus team work ● Konon ada kebebasan berinovasi ● Konon kualitas adalah segalanya
  5. 5. DevOps sang Duta Kultur "DevOps is those sets of cultural norms and technology practices that enable the fast flow of planned work from development, through tests, into operations, while preserving world-class reliability, operation, and security."
  6. 6. DevOps ● Dev dan Ops Sebelumnya Developer dan team Ops (Operations) punya goal yang berbeda, Dev lebih mementingkan kecepatan untuk deliver feature atau code nya, sedangkan team Ops fokus pada stability platform nya. ● DevOps Dengan bersatunya team Developer dan team Operations, kedua team share goal yang sama yaitu bagaimana mencapai kecepatan delivery code atau software yang bagus serta tetap menjaga stabilitas code di area production.
  7. 7. Proyek Aristoteles di Google Apa yang membuat team menjadi efektif ? “Who is on the team matters less than how the team members interact, structure of their work, and view their contributions.” Dinamika team dan bagaimana kultur organisasi berpengaruh pada dinamika di dalam team ● Psychological safety ● Budaya berkolaborasi dan berinovasi dengan peluang bereksperimen
  8. 8. Kultur DevOps
  9. 9. Kultur DevOps
  10. 10. Typology Westrum Organizational Culture
  11. 11. Prediksi Westrum Organizational Culture Westrum Organizational Culture Performa Software Delivery Performa Organisasi
  12. 12. ● Dalam team saya informasi berjalan dengan aktif dan terbuka ● Dalam team saya kesalahan adalah kesempatan untuk belajar, dan tidak ada yang dikambing hitamkan dalam kesalahan tersebut ● Dalam team saya semua memiliki tanggung jawab yang sama ● Dalam team saya berkolaborasi dan bekerja sama dengan team lain atau dari divisi lain sangat dihargai dan disarankan untuk melakukannya ● Dalam team saya sangat terbuka dengan ide - ide baru Sangat setuju Setuju Netral Sedikit tidak setuju Tidak setuju Sedikit setuju Sangat tidak setuju Cara validasi organisasi dengan Westrum Organizational Culture
  13. 13. ● High Cooperation ● Messenger trained ● Risk are shared ● Bridging is encouraged ● Failure lead to inquiry ● Novelty implemented Cara membentuk Generative Culture
  14. 14. ● Build trust and make psychological safety a Priority ● Support culture of Learning and Sharing ● Experiment often ● Make Monitoring and Recovery a Priority ● Brake down Silos 5 Cara membentuk Kultur DevOps dengan performa tinggi
  15. 15. AHR - DevOps Assessment
  16. 16. Continuous Improvement and CI/CD Continuous Improvement is better than delayed perfection. - Mark Twain
  17. 17. Culture Change and the Behaviors that drive it Westrum Organizational Culture Continuous Delivery Lean Management
  18. 18. Referensi ● https://cloud.google.com/architecture/devops/devops-culture-westrum-organizatio nal-culture ● https://learn.agilityhealthradar.com/courses/self-led-devops/ ● https://itrevolution.com/westrums-organizational-model-in-tech-orgs/
  19. 19. Terima kasih @rendra_toro Keep Smile and Happy coding guys …… 👍 rendra toro
  20. 20. CI/CD Implementation to Improve Productivity with GitLab Steven Lewi (Principal Engineer, Home Credit Indonesia)
  21. 21. OLX Indonesia Mobile Developer Blanja.com Lead Android Developer Home Credit Indonesia Principal Engineer linkedin.com/in/stevenlewi github.com/fenli
  22. 22. Profile Introduction Development phase Testing phase Deployment phase The Day Before CI/CD Pipeline Design CI/CD Implementation with GitLab The Journey What have we improved? Benefits of CI/CD The Day After
  23. 23. The Day Before CI/CD Implementation
  24. 24. Code in “long isolated” branch Multiple integration branch each environment No verifications Image by Freepik.com Merge conflicts, big testing scenario Hard to maintain multiple branch, often cause confusions Potential issue, code is hard to read and maintain The Day Before CI/CD Development phase
  25. 25. The Day Before CI/CD Testing phase Manual testing Testing at last-minutes Image by Freepik.com Multiple effort when code changed frequently Less time for fixing if issue found at testing
  26. 26. The Day Before CI/CD Deployment phase Image by Freepik.com Manual deployment More effort, often leads to down-time Deploy at late night Team already exhausted
  27. 27. The Journey of Home Credit Indonesia CI/CD implementation and challenges
  28. 28. Practice Agile/Scrum Use Version Control with GUI Practice Trunk-based Development Write some test Implement CI/CD pipeline
  29. 29. CICD Pipeline Design Merge / Pull Request Pipeline setup unit test integration test sonar analysis lint … junit report Triggered on Merge Request Merge to Main branch Code Review
  30. 30. CICD Pipeline Design Integration & Deployment Pipeline setup build artifact Triggered on merged / push to Main publish and version tag deploy dev deploy staging deploy production automated regress testing post release Need manual action (eg: click) full code analysis
  31. 31. CI/CD Pipeline Implementation Large number of services / repository What are the challenges ? Different kind of application tech stack > 100 service Java React (Javascript / Typescript) Flutter Android iOS
  32. 32. CI/CD Pipeline with GitLab CI Centralized pipeline repository Backend service (Java) Backend service (Java) Backend service (Java) Backend service (Java) Frontend (Javascript/React) Frontend (Javascript/React) Project Repository Mobile apps Library, etc include: - project: ‘devops/cicd-template’ file: ‘java-project.yml’ include: - project: ‘devops/cicd-template’ file: ‘javascript-project.yml’ include: - project: ‘devops/cicd-template’ file: ‘android-project.yml’ .gitlab-ci.yml .gitlab-ci.yml .gitlab-ci.yml GitLab CI Pipeline Repository include
  33. 33. CI/CD Pipeline with GitLab CI Centralized pipeline repository java-project.yml ... unit-test: image: maven:3.6 stage: test script: - mvn clean test - mvn sonar:sonar GitLab CI Pipeline Repository java-library.yml Modular approach javascript-project.yml android-project.yml maven.yml gradle.yml npm.yml kubectl.yml scp.yml azure-cli.yml ... deploy-staging: image: bitnami/kubectl:latest environment: staging script: - kubectl apply -f deploy.yml - kubectl apply -f service.yml maven.yml kubectl.yml
  34. 34. The Day After CI/CD Implementation
  35. 35. The Day After CI/CD What have we improved on? Automated testing with Katalon Small and frequent deployment Reducing the amount of regress testing time and effort for each code changes ~20 deployment each day (including dev) Deploy earlier (evening) or sometimes business hour Development team are more happy and less exhausted High quality code Average 90% coverage, Sonar gate with A grade
  36. 36. The Benefits of CI/CD Before CI/CD After CI/CD Long feature branch Short-lived feature branch Multiple integration branch Trunk (master) as main integration branch No verification before integration Multiple verification before integration Manual testing Automated testing Last minutes testing Shift-left testing a soon as possible for faster feedback Manual deployment Automated deployment Big and less frequent deployment Small and frequent deployment Summary
  37. 37. Terima Kasih Thank you
  38. 38. Terima Kasih Thank you

×