Zero downtime development with Elixir and Kubernetes

Zero downtime development with Elixir and Kubernetes

Zero downtime development with Elixir and Kubernetes by Bartosz Górka

0a36698b3e384b44aae2dc3a5e478afa?s=128

Bartosz Górka

March 06, 2019
Tweet

Transcript

  1. ZERO DOWNTIME DEVELOPMENT BartoszGorka96

  2. Common issues Downtimes cost money Downtimes are risky and unpredictable

    BartoszGorka96
  3. … BartoszGorka96

  4. Development Database Application BartoszGorka96

  5. Our focus We are most focused on deployment stage and

    often ignore data migration BartoszGorka96
  6. … BartoszGorka96

  7. - Task 1 - The risks of data migration BartoszGorka96

  8. Risks - data migration process 1. Underestimating time and effort

    2. Doing all at once 3. Performance limitations 5. No rollback plan 4. Poor testing and migrating BartoszGorka96
  9. … BartoszGorka96

  10. - Task 2 - Actions which we can do to

    prevent bugs BartoszGorka96
  11. Risks - data migration process 1. Underestimating time and effort

    2. Doing all at once 3. Performance limitations 5. No rollback plan 4. Poor testing and migrating R E
 P
 L
 Y BartoszGorka96
  12. We can use 1. down and up instead only change

    2. raw sql instead structures 3. step by step - to be able to rollback changes 5. concurrently index build 4. drop only when confirmed BartoszGorka96
  13. … BartoszGorka96

  14. Example Add new column with NOT NULL constant* * with

    default value also BartoszGorka96
  15. Summary Always be careful with database migration. It’s is surely

    safe to take a backup before execute migration. Always think of backward compatibility usually without reverting migration. BartoszGorka96
  16. BartoszGorka96 Please give me a feedback