Devops

    ๋ฐฐํฌ ์ „๋žต

    ๋กค๋ง(rolling) ์ผ๋ฐ˜์ ์ธ ๋ฐฐํฌ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ ๋‹จ์ˆœํ•˜๊ฒŒ ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ๋ฐฐํฌํ•˜๋Š” ์ „๋žต ๊ตฌ๋ฒ„์ „์—์„œ ์‹ ๋ฒ„์ „์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ ์ง„์ ์œผ๋กœ ์ „ํ™˜ ๋ฐฐํฌ ์ค‘ ๋‚˜๋จธ์ง€ ์ธ์Šคํ„ด์Šค์— ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„ ์ฒ˜๋ฆฌ ์šฉ๋Ÿ‰์„ ์‚ฌ์ „์— ๊ณ ๋ ค ํ•„์š” ๋ธ”๋ฃจ/๊ทธ๋ฆฐ(blue/green) ๋ ˆ๋“œ/๋ธ”๋ž™(red/black), A/B๋กœ ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•จ ๊ตฌ๋ฒ„์ „์„ ๋ธ”๋ฃจ, ์‹ ๋ฒ„์ „์„ ๊ทธ๋ฆฐ ์‹ ๋ฒ„์ „์„ ๋ฐฐํฌํ•˜๊ณ  ์ผ์ œํžˆ ๋ชจ๋“  ์—ฐ๊ฒฐ์„ ์‹ ๋ฒ„์ „์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ์ „๋žต ๋น ๋ฅธ ๋กค๋ฐฑ์ด ๊ฐ€๋Šฅํ•˜๊ณ  ์šด์˜ํ™˜๊ฒฝ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉฐ ์‹ค์ œ ์„œ๋น„์Šค ํ™˜๊ฒฝ์œผ๋กœ ์‹ ๋ฒ„์ „ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ ์ž์›์ด ๋‘๋ฐฐ๋กœ ํ•„์š”ํ•˜์—ฌ ๋น„์šฉ์ด ๋งŽ์ด ๋ฐœ์ƒ ์นด๋‚˜๋ฆฌ(canary) ์œ„ํ—˜์„ ๋น ๋ฅด๊ฒŒ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐํฌ ์ „๋žต LB๋ฅผ ํ†ตํ•ด์„œ ์ง€์ •ํ•œ ์„œ๋ฒ„ ๋˜๋Š” ํŠน์ • ์‚ฌ์šฉ์ž์—๊ฒŒ๋งŒ ๋ฐฐํฌํ–ˆ๋‹ค๊ฐ€ ์ •์ƒ์ ์ด๋ฉด ์ „์ฒด ๋ฐฐํฌ ๊ฐ€๋Šฅ A/B ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์„ฑ๋Šฅ ..

    YAML ๋ฌธ๋ฒ•

    YAML .yaml, .yml ํ™•์žฅ์ž UTF-8 or UTF-16๊ณผ ๊ฐ™์ด ์ถœ๋ ฅ ๊ฐ€๋Šฅํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์ง‘ํ•ฉ์„ ์ด์šฉ XML, JSON, YAML ๋ชจ๋‘ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ํ˜•ํƒœ์™€ ๋ฌธ๋ฒ•์ด ๋‹ค๋ฆ„ XML : HTML๊ณผ ๋น„์Šทํ•˜๋ฉฐ ๊บฝ์‡ ()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ์Œ JSON : REST API์— ์‚ฌ์šฉ๋˜๋ฉฐ ์ตœ๊ทผ XML๋ณด๋‹ค ๋งŽ์ด ์‚ฌ์šฉ๊ณ  ์žˆ์Œ, ์ฃผ์„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์œผ๋ฉฐ ๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉ YAML : ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•˜์˜€์œผ๋ฉฐ ๊ณต๋ฐฑ ์œ„์ฃผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ YAML ๊ณต์‹ : https://yaml.org/ JSON to YAML : https://www.json2yaml.com/ YAML ๋ฌธ๋ฒ• ์ฒดํฌ : http://www.yamllint.com/ ์ฃผ์„(commnet) # ๋กœ ํ‘œ์‹œ ํ•œ ์ค„์ด ๋๋‚ ๋•Œ๊นŒ์ง€ ์œ ์ง€ #์ด..

    terraform ๋ฒ„์ „ ๊ด€๋ฆฌ : tfenv

    1. ์„ค์น˜ ํ…Œ๋ผํผ์€ ๊ณ„์† ๋ฒ„์ „์ด ์˜ฌ๋ผ๊ฐ€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ„์ „ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”! ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด tfenv๋ฅผ ์‚ฌ์šฉ > brew install tfenv 2. ์‚ฌ์šฉ ์›ํ•˜๋Š” terraform ๋ฒ„์ „ ์„ค์น˜ > tfenv install [๋ฒ„์ „] > tfenv install latest #์ตœ์‹  ๋ฒ„์ „ ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ๋ฒ„์ „ ๋ฆฌ์ŠคํŠธ > tfenv list-remote 1.1.0-alpha20210922 1.1.0-alpha20210908 1.1.0-alpha20210811 1.1.0-alpha20210728 1.1.0-alpha20210714 1.1.0-alpha20210630 1.1.0-alpha20210616 1.0.8 1.0.7 1.0.6 1.0.5 1.0.4 1.0.3 1.0.2 1.0.1 1.0.0 0.15.5 0...

    Config ์ž๋™ํ™” ํˆด(puppet, chef, salt, ansible)

    Puppet Chef Salt Ansible Support Puppet Labs Opscode SaltStack AnsibleWorks Since 2005 2009 2011 2012 Development Laguage Ruby Ruby(ํด๋ผ์ด์–ธํŠธ) Erlang(์„œ๋ฒ„) Python Python Control Interface Manifest(DSL) Recipes(DSL, Ruby ๊ธฐ๋ฐ˜) SLS(SoLt Sate/YAML) Playbook(YAML, JSON) Agent Master/Agent Standalone Server/Client Chef solo(Standalone) Master/Agent(minions) Standalone(Masterless Standalone(Masterless) Commun..

    Terraform ์‚ฌ์šฉ๋ฒ•

    1. terraform provider ์ƒ์„ฑ - ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ - provider.tf, s3.tf ํŒŒ์ผ ์ƒ์„ฑ - provider.tf์— ์•„๋ž˜ ๊ตฌ๋ฌธ ์ถ”๊ฐ€(IAM ์ธ์ฆ) provider "aws" { access_key = "" secret_key = "" region = "ap-northeast-2" } - s3.tf์— ์•„๋ž˜ ๊ตฌ๋ฌธ ์ถ”๊ฐ€(S3 bucket ์ƒ์„ฑ) resource "aws_s3_bucket" "s3" { bucket = "eunhye-bucket-0225" acl = "private" } 2. terraform init - Terraform ์ดˆ๊ธฐํ™” - ํŒŒ์ผ ๋ฆฌ์ŠคํŠธ 3. terraform plan - ๋ฐฐํฌํ•  Resource ํ™•์ธ(์ถ”๊ฐ€ํ•  Resoucre๋Š” +๋กœ ํ‘œ๊ธฐ) 4. terraform ap..

    AWS CDK ์‚ฌ์šฉ๋ฒ•

    1. cdk init - ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ - cdk ์ดˆ๊ธฐํ™”(์‚ฌ์šฉํ•  ์–ธ์–ด ์˜ต์…˜์œผ๋กœ ์ง€์ •) > cdk init app --language=python Applying project template app for python # Welcome to your CDK Python project! This is a blank project for Python development with CDK. The `cdk.json` file tells the CDK Toolkit how to execute your app. This project is set up like a standard Python project. The initialization process also creates a virtualenv within..

    Infrastructure as Code(IaC)

    1. Infrastructure as Code - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•/๊ด€๋ฆฌ/ํ”„๋กœ๋น„์ €๋‹ - ์ธํ”„๋ผ ์ƒ์„ฑ/์‚ญ์ œ/์žฌ์‚ฌ์šฉ์ด ๊ฐ„ํŽธ - ๋ฐ˜๋ณต๋˜๋Š” ์ธํ”„๋ผ ์—…๋ฌด๋ฅผ ์ž๋™ํ™”ํ•˜์—ฌ ์‹œ๊ฐ„๊ณผ ํœด๋จผ ์—๋Ÿฌ๋ฅผ ๋‹จ์ถ• - DevOps์˜ ์ค‘์š”ํ•œ ๊ฐœ๋… - ๋Œ€ํ‘œ๋กœ Terraform, AWS CDK ํˆด ์กด์žฌ 2. Terraform - ํ•˜์‹œ์ฝ”ํ”„(hashicorp) ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ฐœ๋ฐœ ์ค‘์ธ Iac ํˆด - ํด๋ผ์šฐ๋“œ ํ”Œ๋žจํผ์— ์ข…์†๋˜์ง€ ์•Š์•„ ๋‹ค์–‘ํ•œ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์„ ๋™์‹œ์— ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ - ํ˜„์žฌ๋„ ๊ฐœ๋ฐœ ์ค‘์ด๋ฉฐ ๋ฒ„์ „์— ๋”ฐ๋ผ ๋ฌธ๋ฒ•์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ(๋ฒ„์ „ ๊ด€๋ฆฌ ํ•„์š”) Terraform by HashiCorp Terraform is an open-source infrastructure as code software tool that ena..

    Git ์‚ฌ์šฉ๋ฒ•

    1. Git๊ณผ Github - Git : Local์œผ๋กœ ๊ฐœ์ธ์ด ์ž‘์—…ํ•˜๋Š” ๊ณต๊ฐ„ - ์ž‘์—… dir์—์„œ git init ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด Git dir๋กœ ๋ณ€๊ฒฝ - Github : Remote๋กœ ํ˜‘์—…์˜ ๊ณต๊ฐ„ - ๋Œ€ํ‘œ์ ์œผ๋กœ Github๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Œ GitHub: Where the world builds software GitHub is where over 56 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat... github.co..