IaC, Infra as Code – 인프라를 코드로 관리

클라우드로 넘어오면서 관심이 커진 분야

서버 프로비저닝 기술

  • Chef
  • Ansible
    클라이언트에 에이전트 설치 없이 원격으로 설치를 해 준다는 장점
  • Puppet
  • Saltstack
  • Packer
  • Groovy Infrastructure

요즘은 잘 안쓰는 설치 프로비저닝

SE를 안해봐서 모르겠지만.. 서버관리 하는 사람들은 이런거 USB 만들어서 들고다니지 않았을까
https://www.cyberciti.biz/tips/server-provisioning-software.html

  • Kickstart
  • FAI, Fully Automatic Installation
  • Cobbler
  • Spacewalk
  • OpenQRM
  • Foreman

클라우드 코드화(설정)

  • AWC Cloud Formation
    이건 그냥은 거의 못쓴다고 보면 된다
    AWS CDK를 활용
  • GCP – yaml
    따로 이름도 없는 것 같은데 구조가 잘 잡혀있어서 읽기 쉽고 재활용도 쉽다
  • Terraform
    클라우드 서버 인프라 뿐 아니라.. 여러가지 provider를 사용하면 github 설정도 코드화할 수 있다
  • 기타 ansible, chef 등에서 제공하는것들.. 플러그인 형태로 추가하면 되는 것 같은데 주류는 아닌 듯 싶다

클라우드 코드화(SDK)

  • AWS CDK
  • python boto
  • aws-sdk-rails

~

개인적으로 DSL형태의 설정을 좋아해서
Ruby계열 언어를 사용하는 프로그램이 많아지면 좋겠는데
대세는 yaml이나 파이썬 코드인 것 같다

윈도우 작업용 Windows Workstation

오픈쏘쓰

한방설치 스크립트. 툴까지 설치는 아니고 라이브러리류만인듯 중복되는 부분 확인 못해서 아직 사용안함
https://github.com/microsoft/windows-dev-box-setup-scripts

설치

WSL

https://aka.ms/wslinstall
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

윈도우 앱스토어

여긴 자동화가 되나 모르겠다 수동으로 클릭

OneNote
Slack
Arduino IDE
Ubuntu
Ubuntu 18.04 LTS
WIndowsTerminal (Preview)
Terminus – SSH client
DBeaver CE
NuGet Package Explorer
Microsoft Edge DevTools Preview
MQTTBox

Ubuntu 실행하면 설치 진행

Scoop ( https://scoop.sh )

윈도우+x - a 
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
scoop install -g `
7zip `
git `
gzip `
less `
nano `
sed `
curl `
grep
scoop bucket add java
scoop install openjdk11
scoop install `
adb `
eksctl `
aws-iam-authenticator `
aws `
aws-vault `
terraform `
go `
ghostwriter `
github `
gradle `
grails `
graphviz `
groovy `
haskell stack `
kotlin `
lua-for-windows `
maven `
mono `
nvm `
perl `
putty `
r `
sbt `
scala

scoop install `
erlang `
flyway ` 

scoop bucket add extras
scoop install `
gcloud

#scoop install -g  wireshark nmap

scoop install  `
jetbrains-toolbox `
winscp `
postman `
foobar2000 `
rufus

# 그냥 수동설치
# android-sdk
# flutter

oh-my-posh

scoop install conemu
scoop install conemu-color-themes
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
# Start the default settings
Set-Prompt
# Alternatively set the desired theme:
Set-Theme Agnoster
# https://github.com/gluons/powershell-git-aliases
Install-Module git-aliases -Scope CurrentUser -AllowClobber

Chocolatey ( https://chocolatey.org/ )

윈도우+x - a
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco install -y anaconda3

choco install -y `
googlechrome `
firefox `
ccleaner `
notion `
filezilla `
hostsman `
bandizip `
notepadplusplus `
vscode `
atom `
gimp `
inkscape `
packer `
googledrive `
dropbox `
synologydrive `
dolphin `
ninja `
openoffice `
mysql.workbench `
pgadmin3 `
gow `
cygwin `
cyg-get `
wsltty `
msys2 `
sourcetree

choco install -y bitwarden 1password keepassx

choco install -y ruby
choco install -y wireshark

choco install -y `
microsoft-windows-terminal `
visualstudio2019community

# autohotkey.portable \ # scoop
# teamviewer \ # 안써서
# virtualbox \ # hyperv
# virtualbox-guest-additions-guest.install # hyperv

# nuget.commandline \ # scoop???
# slack \ # marketplace

Babun ( http://babun.github.io/ )

개발중단..

pact install tmux

Babun에서는 안쓰는게 좋을것같고 윈도우+x – i

강화 PowerShell (oh-my-posh)

https://github.com/JanDeDobbeleer/oh-my-posh

# https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-6
# All Users, All Hosts
 $PSHOME\Profile.ps1
# All Users, Current Host
 $PSHOME\Microsoft.PowerShell_profile.ps1
# Current User, All Hosts
 $Home\[My ]Documents\PowerShell\Profile.ps1
# Current user, Current Host
 $Home\[My ]Documents\PowerShell\
Microsoft.PowerShell_profile.ps1

# 위에거 다 안되고 아래걸로. 원드라이브 Documents가 따로 잡혀있으면 거기로
# $Home\[My ]Documents\WindowsPowerShell\
Profile.ps1 
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Paradox
Import-Module git-aliases -DisableNameChecking

미확인

noobs-term ( https://noobs-term.com/ )

가상환경

virtualbox는 같은 vagrant 소스로 리눅스 맥에서도 사용가능
그래도 윈도우에서는 hyperv쓰는게 편하긴한데
https://stefanscherer.github.io/how-to-install-docker-the-chocolatey-way/

VirtualBox

choco install -y `
virtualbox `
docker-toolbox

Hyper-V

https://docs.microsoft.com/ko-kr/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
choco install -y docker-desktop docker-kitematic

추가설치

scoop install `
vagrant minikube kubectl`
# docker docker-compose

https://github.com/hashicorp/vagrant/wiki/Available-Vagrant-Plugins

vagrant plugin install `
sahara `
vagrant-aws-dns `
rubber