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

How to manage containers in FiNC

How to manage containers in FiNC

JAWS-UG コンテナ支部 #8でのLT資料です

Ba0cce2241a7133aec62afc8ed15a172?s=128

Kenji Suzuki

May 16, 2017
Tweet

Transcript

  1. How to manage containers in FiNC kenjiszk @JAWS-UG コンテナ支部 #8

  2. Kenji Suzuki(@kenjiszk) •  SRE @FiNC

  3. Environment •  Microservices – Tons of services, and increasing. – Many teams

    develop in parallel. – Requirements. •  Easy to setup new service. •  MulP development environment. – Use Amazon ECS to resolve above.
  4. Overall

  5. Create basic Docker Image Dockerfiles are created for each combinaPon

    of OS x language.
  6. Test by Jenkinsfile •  Jenkins –  Jenkins 2 –  Github

    OrganizaPon •  Jenkinsfile –  At home dir in applicaPon –  All build seYngs –  Pipeline •  Build steps •  Test is executed in Slaves –  docker-compose •  Launch env by docker-compose •  Build docker image a]er test pass
  7. Deploy to ECS •  TaskDefiniPon –  Update TaskDefiniPon •  Test

    passed image •  Deploy to 3 Clusters –  Deploy Task •  deploy at first •  execute some task (migrate, etc…) –  Web •  run applicaPon process •  ALB connected –  Batch •  Batch and daemon
  8. What to do for new service •  Put Jenkinsfile on

    top directory of ApplicaPon •  Create New TaskDefiniPon & Service to ECS – image url – Environment variables
  9. MulP Development Environment •  ApplicaPon –  Use environment variables in

    configure. •  ECS –  Use same docker image but different environment variables. –  Each environment has each TaskDefiniPon. –  Easy to launch a independent set of microservices for big feature or QA.