$30 off During Our Annual Pro Sale. View Details »

Learning Configuration Management Tool / Itamae Meetup 2015

Learning Configuration Management Tool / Itamae Meetup 2015

Okumura Takahiro

December 09, 2015
Tweet

More Decks by Okumura Takahiro

Other Decks in Technology

Transcript

  1. Itamae Meetup

    View Slide

  2. Learning CMT

    View Slide

  3. OKUMURA Takahiro ( @hfm)

    nickname: okkun
    http://blog.hifumi.info
    Infra-group at GMO Pepabo (2013.4 - now)

    View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. agenda
    1. Web operation training
    2. Why Itamae?
    3. After all

    View Slide

  9. Web operation training
    GMO Pepabo, Inc.

    View Slide

  10. http://tech.pepabo.com/2015/11/20/rubyworld-conference-2015/

    View Slide

  11. https://github.com/yaocloud/yao
    Yet Another OpenStack API wrapper

    View Slide

  12. View Slide

  13. αΠΫϧOJT
    جૅݚम
    8FC։ൃ
    8FCΦϖϨʔγϣϯ
    ϞόΠϧΞϓϦ
    ٕज़෦
    1&1"#08J."9
    Χϥʔϛʔγϣοϓ
    46;63*
    άʔϖ
    ϒΫϩά




    10݄
    11݄
    12݄

    ͓࢈΢ΟʔΫ

    View Slide

  14. αΠΫϧOJT
    جૅݚम
    8FC։ൃ
    8FCΦϖϨʔγϣϯ
    ϞόΠϧΞϓϦ
    ٕज़෦
    1&1"#08J."9
    Χϥʔϛʔγϣοϓ
    46;63*
    άʔϖ
    ϒΫϩά




    10݄
    11݄
    12݄

    ͓࢈΢ΟʔΫ
    Today’s topic!

    View Slide

  15. CMPHT
    1. http://blog.hifumi.info/2015/06/14/pepabo-engineer-training-2015/
    2. http://blog.hifumi.info/2015/07/20/pepabo-web-operation-training-2015/
    3. http://blog.hifumi.info/2015/08/18/pepabo-mobile-app-training-2015/
    4. http://blog.hifumi.info/2015/11/16/pepabo-cycle-ojt-2015/
    5. http://blog.hifumi.info/2015/12/09/shitei-toudan-2015/

    View Slide

  16. 8FCΦϖϨʔγϣϯݚमͷΰʔϧɿ
    ΞϓϦ͕ʮಈ͘ʯΠϯϑϥΛɺεςοϓɾόΠɾεςοϓͰ੒௕ͤ͞Δ

    View Slide

  17. manual install
    ɹɹΛ7BHSBOUͰಈ͔͢

    View Slide

  18. manual install test
    ɹɹΛ7BHSBOUͰಈ͔͢
    4FSWFSTQFDͰςετ͢Δ

    View Slide

  19. manual install infra as code
    test
    ɹɹΛ7BHSBOUͰಈ͔͢
    4FSWFSTQFDͰςετ͢Δ
    *UBNBFͰίʔυԽ͢Δ

    View Slide

  20. manual install infra as code transfer
    test
    ɹɹΛ7BHSBOUͰಈ͔͢
    4FSWFSTQFDͰςετ͢Δ
    *UBNBFͰίʔυԽ͢Δ
    /ZBI ϖύϘͷ0QFO4UBDL
    Ͱߏங͢Δ

    View Slide

  21. manual install infra as code transfer high availability
    test
    ɹɹΛ7BHSBOUͰಈ͔͢
    4FSWFSTQFDͰςετ͢Δ
    *UBNBFͰίʔυԽ͢Δ
    /ZBI ϖύϘͷ0QFO4UBDL
    Ͱߏங͢Δ
    ϩʔϧ͝ͱʹΠϯελϯεΛ෼ׂ͢Δ

    View Slide

  22. manual install infra as code transfer high availability
    test
    ɹɹΛ7BHSBOUͰಈ͔͢
    4FSWFSTQFDͰςετ͢Δ
    *UBNBFͰίʔυԽ͢Δ
    /ZBI ϖύϘͷ0QFO4UBDL
    Ͱߏங͢Δ
    ϩʔϧ͝ͱʹΠϯελϯεΛ෼ׂ͢Δ

    View Slide

  23. Why Itamae

    View Slide

  24. Provisioning Toolchain
    Provisioning Toolchain by Lee Thompson (Velocity 2010),
    αʔόϓϩϏδϣχϯάͷ͜Ε·Ͱͱ͜Ε͔Β (σϒαϛ2014) ΑΓ࡞੒
    Application Service Orchestration
    System Configuration
    OS install
    Cloud or VM
    Image Launch
    Capistrano Fabric
    Consul
    Puppet Chef
    Itamae
    Kickstart Cobbler
    EC2 OpenStack
    Orchestration
    Configuration
    Bootstrapping
    Ansible
    Cloud-init

    View Slide

  25. Provisioning Toolchain
    Provisioning Toolchain by Lee Thompson (Velocity 2010),
    αʔόϓϩϏδϣχϯάͷ͜Ε·Ͱͱ͜Ε͔Β (σϒαϛ2014) ΑΓ࡞੒
    Application Service Orchestration
    System Configuration
    OS install
    Cloud or VM
    Image Launch
    Capistrano Fabric
    Consul
    Puppet Chef
    Itamae
    Kickstart Cobbler
    EC2 OpenStack
    Orchestration
    Configuration
    Bootstrapping
    Ansible
    Cloud-init

    View Slide

  26. Configuration management tools

    View Slide

  27. Configuration management tools
    ■ Simple
    ■ Lightweight
    ■ Ruby DSL

    View Slide

  28. Basic CMT
    Service
    Configuration
    Installation

    View Slide

  29. Basic CMT
    Service
    Configuration
    Installation
    ■ module
    ■ cookbooks

    View Slide

  30. Learning
    Basic CMT

    View Slide

  31. After all

    View Slide

  32. View Slide

  33. if Date.today.friday? and Time.now.hour >= 18
    puts "༵ۚ೔ʹσϓϩΠ͢ΔͷͰ͔͢ʁʁʁʁ"
    print "yes/no: "
    answer = STDIN.gets.strip
    abort unless answer =~ /\A(y|yes)\z/i
    end

    View Slide

  34. if Date.today.friday?
    puts "༵ۚ೔ʹσϓϩΠ͢ΔͷͰ͔͢ʁʁʁʁ"
    print "yes/no: "
    answer = STDIN.gets.strip
    abort unless answer =~ /\A(y|yes)\z/i
    end

    View Slide

  35. ॴײ
    • Rakefile / Cap / Itamae ͳͲͷ࢖͍෼͚͸ΩνϯͱֶΜͰ͍ͨ
    • 1ϲ݄ͱ͍͏୹͞Ͱܗʹ͍ͯͨ͠
    • Puppet΍ChefΛબΜͰ͍ͨΒɺ͓ͦΒ͘πʔϧͦͷ΋ͷͷֶशʹ
    ଟ͘ͷ࣌ؒΛׂ͔Εͯ͠·͍ͬͯͨͩΖ͏

    View Slide

  36. Summary
    Itamae

    View Slide

  37. ͓·͚
    දࢴϘπҊ

    View Slide

  38. View Slide

  39. Itamae Meetup

    View Slide

  40. Itamae Meetup

    View Slide

  41. Itamae Meetup

    View Slide