Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Delivery no mundo Real - Cadu Ribeiro

B2519015997dff04abe2568ebb2cf729?s=47 opensanca
October 24, 2018

Continuous Delivery no mundo Real - Cadu Ribeiro

B2519015997dff04abe2568ebb2cf729?s=128

opensanca

October 24, 2018
Tweet

Transcript

  1. Continuous Delivery On the real world

  2. @ GirlCrew Carlos "Kadu" Ribeiro Who am I?

  3. OpenSanca

  4. https:/ /www.meetup.com/pt-BR/opensanca

  5. None
  6. None
  7. None
  8. Waterfall Model

  9. None
  10. None
  11. Scrum Water Fall

  12. None
  13. None
  14. None
  15. None
  16. None
  17. What is Continuous Delivery?

  18. “Continuous Delivery is the ability to get changes of all

    types (new features, configurations, bug fixes and experiments) into production, or into the hands of users, safely and quickly in a sustainable way”
 
 Jezz Humble
  19. Why Continuous Delivery?

  20. Software release should be a fast, repeatable process.

  21. None
  22. None
  23. None
  24. None
  25. How? From 0 to Continuous Delivery

  26. Code Repository

  27. Merge Feature 2 Merge Feature 1 Feature 2
 Commit Initial

    Commit Master Feature 1
 Commit 1
  28. Code Review

  29. None
  30. None
  31. None
  32. None
  33. None
  34. None
  35. “Continuous Integration (CI) is a development practice that requires developers

    to integrate code into a shared repository several times a day” https:/ /www.thoughtworks.com/pt/continuous-integration
  36. None
  37. Automated Tests

  38. rspec

  39. Infrastructure as 
 Code

  40. None
  41. Review Apps

  42. Merge Feature 2 Feature 2
 Commit

  43. Deployment
 Pipeline

  44. Deliver to
 Production Code Deliver to
 Staging Acceptance
 Tests Unit


    Tests
  45. Zero Downtime

  46. None
  47. Blue Green
 Deployment

  48. None
  49. None
  50. Canary Release

  51. V1 V2 All Users 5 % of Users 95 %

    of Users 90 % of Users 10 % of Users All
 Users
  52. And the database??

  53. V1 V2 Database V1 V2

  54. Old App SHOULD work with the New State

  55. Non Destructive Changes Create Table Add Column Create Index (sometimes…)

  56. Always Work with thinking about both versions

  57. Example: Drop a Column Drop column Stop writing
 to column

  58. Drop old
 column Example: Renaming a Column Read from
 new

    column Migrate old
 records Write to
 both columns Create
 Column with
 New Name
  59. Feature Flag 
 (Feature Toggle)

  60. None
  61. None
  62. Monitoring

  63. None
  64. None
  65. None
  66. None
  67. Continuous Delivery
 @ Toptal

  68. None
  69. None
  70. None
  71. None
  72. None
  73. None
  74. None
  75. None
  76. Summary - Code Repository - Code Review - Integrate code

    into a shared 
 repository several times a day - Automated Tests - Infrastructure as Code - Automated deploy - Zero Downtime - Monitoring - Feature Flag Automate EVERYTHING!
  77. None