Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Automate quality
just like you automate servers
Benoît PECCATTE
bpe@normation.com
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
When you have to, create your tool
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
A bad workman blames his tools
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
A good workman polishes his tools
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
A good workman polishes his tools
→ The right...
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Tool benefits is not measured in dollars
→fre...
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Writing costs
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Real writing costs
Implementation
cost (days)...
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Writing cost
A word about context switch
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Context switch
funny cat
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Writing cost
A word about context switch
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
You can do it now
1. Have APIs
2. Call those ...
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
I got a tool used by everyone
→We added tasks...
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Before:
- open an issue (in your browser)
- c...
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
After:
- rudder-dev <issue-id>
- Code !
- add...
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Other commands: rudder-dev blame
$ rudder-dev...
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Other commands: rudder-dev quickfix
● Edit a ...
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Other commands: rudder-dev subtask
An error i...
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Other commands: rudder-dev revert
A problem h...
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Opensource
https://github.com/Normation/rudder-tools/tree/mas
...
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
What next ?
Automate reviews
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Normation – 87 rue de Turbigo, 75003 PARIS, France –Normation – 87 rue de Turbigo, 75003 PARIS, France – contact@normation...
Upcoming SlideShare
Loading in …5
×

Automate quality just like you automate servers

475 views

Published on

We accept that automating configuration requires a higher initial investment, but saves time and improves reliability from then on. But when it comes to our own work, we often get tangled up in opening tickets, linking them, peer review, running tests, announcing changes… so many tedious tasks that reduce our agility and distract us from the task at hand at exactly the wrong moment. So why not automate them too?

Process contributes to quality, and that’s unavoidable, so we usually accept the tradeoff. I’ve taken automation one step further and automated *everything* I had to do manually so I can focus on the content of my commits. I’ll share the ideas and tools I use when working on Rudder (but the concepts really apply to any development workflow, including infrastructure as code).

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Automate quality just like you automate servers

  1. 1. Automate quality just like you automate servers Benoît PECCATTE bpe@normation.com
  2. 2. Normation – Tous droits réservés CONFIDENTIEL normation.com When you have to, create your tool
  3. 3. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality A bad workman blames his tools
  4. 4. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality A good workman polishes his tools
  5. 5. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality A good workman polishes his tools → The right tool for the right job → Specific tool for specific job → Each company process is specific
  6. 6. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Tool benefits is not measured in dollars →free mind →free time →complex things become simple →process is always followed →process can evolve more easily →newcomers can embark quickly
  7. 7. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Writing costs
  8. 8. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Real writing costs Implementation cost (days) Time won per task Persons using it Days per year Time won (days) 1 1 min 4 200 1 10 10 min 4 200 10 1 20s 12 200 1
  9. 9. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Writing cost A word about context switch
  10. 10. Normation – Tous droits réservés CONFIDENTIEL normation.com Context switch funny cat
  11. 11. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Writing cost A word about context switch
  12. 12. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality You can do it now 1. Have APIs 2. Call those API for the task you do the most 3. Find source of information to automatically fill parameters to this APIs 4. Update your process 5. Rinse and repeat
  13. 13. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality I got a tool used by everyone →We added tasks to the process without bothering anyone
  14. 14. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Before: - open an issue (in your browser) - check that no one else is working on it - look for the target version, branch and status - checkout your repo - create a new branch with a name based on the issue fields - Code ! - add files - commit with a comment containing the issue title and ID - push to your repo - create a pull request with a meaningful title based on you code and the right branch - add the PR url to the issue - assign the issue to a reviewer and change the status Hope that we are done with the review
  15. 15. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality After: - rudder-dev <issue-id> - Code ! - add files - rudder-dev <reviewer> Be happy to follow the review process
  16. 16. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Other commands: rudder-dev blame $ rudder-dev blame agent-run Blaming file agent-run $ git blame -s -w --abbrev=6 agent-run 8088292 F #5791 1) #!/bin/sh 8088292 F #5791 2) # @description force run agent promises 29c7bc5 F #6659 3) # @man This command will force the agent to enforce current policies. 29c7bc5 F #6659 4) # @man You can run *rudder agent update* before to update the promises. 4945a30 F #6731 5) # @man + 4945a30 F #6731 6) # @man *Options*: 4945a30 F #6731 7) # @man + 90002b4 F #7824 8) # @man *-u*: update policy before running the agent (default is to run existing policy)
  17. 17. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Other commands: rudder-dev quickfix ● Edit a file in a committed repo ● rudder-dev quickfix “there was an issue” → A bug is opened with the title → A PR is created with the content of the diff → done
  18. 18. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Other commands: rudder-dev subtask An error in your last PR, call rudder-dev subtask ! → a properly categorized bug is created and linked to the original issue → a branch is then based on this ticket → just work on it
  19. 19. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Other commands: rudder-dev revert A problem has been discovered with a specific PR ? Call rudder-dev revert → it find the commit associated with PR → it reverts it → it updates the ticket
  20. 20. Normation – Tous droits réservés CONFIDENTIEL normation.com Opensource https://github.com/Normation/rudder-tools/tree/mas ter/scripts/rudder-dev
  21. 21. Normation – Tous droits réservés CONFIDENTIEL normation.com What next ? Automate reviews
  22. 22. Normation – Tous droits réservés CONFIDENTIEL normation.com
  23. 23. Normation – 87 rue de Turbigo, 75003 PARIS, France –Normation – 87 rue de Turbigo, 75003 PARIS, France – contact@normation.comcontact@normation.com – 01.83.62.26.96 –– 01.83.62.26.96 – http://www.normation.com/http://www.normation.com/ Automate quality just like you automate servers Benoît PECCATTE bpe@normation.com

×