Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.

AWS Summit Seoul 2018에서 발표한 "Terraform을 이용한 Infrastructure as Code 실전 구성하기"

몇 달 전에 AWS Summit Seoul 2018 발표에 대한 제안을 받았다. AWS에 대해서 발표할 정도로 뭐가 한 게 없긴 했지만 Terraform을 계속 보고 있었고 1, 2월에 놀면서 W사와 R사에서 Terraform 관련 교육을 하면서 정리한 내용이 있어서 Terraform으로 Infrastructure as Code에 대해 발표를 하면 좋겠다는 생각을 했다.

커뮤니티 세션이기는 했지만, AWS Summit이라서 Terraform 관련 내용이 받아들여질지는 몰랐지만 내가 공유할 만한 내용은 그것뿐이라서 발표를 신청했는데 덜컥 승인되어버렸다. 이전에 준비했던 자료는 2시간 분량의 교육자료였던 터라 어느 정도 생각이나 자료에 대한 정리는 되어 있었지만 40분 분량으로 발표는 또 성격이 달랐기 때문에 발표 흐름은 새로 준비를 해야 했다.

최근 1년 사이에 꽤 많은 조직에서 Terraform(혹은 CloudFormation)을 사용하려고 고민하고 있다는 것을 어느 정도는 알고 있었지만, 전체적으로 보면 Infrastructure as Code가 보편화한 상황은 아니고 Terraform이 잘 알려진 도구도 아닌 터라 내가 왜 Infrastructure as Code를 중요하게 생각하고 이어서 Terraform을 선택했으며 Terraform으로 실제 AWS 인프라를 운영하면서 느낀 점이나 유용한 팁을 정리하려고 했다.


발표는 아침 9시였다. 사실 중간에 공유를 받았을 때 첫 세션이란 것은 알고 있었는데 자세히 안 봐서 그게 9시라는 것은 모르고 있다가 공식 사이트에서 일정을 보고 알게 되었다. 기조연설보다 빠른 9시라니... 좀 충격을 받았지만 지각할까 봐 긴장하고 잔 탓에 일찍 행사장에 도착해서 사람들이 콘퍼런스에 많이 도착하기 전에 후딱 발표를 끝냈다.

기본적인 Terraform에 대한 공유도 큰 콘퍼런스에서 했으니 더 많은 경우에 적용해 보면서 다음에 또 공유할 수 있기를 기대하고 있다.

ps. 발표자료를 올리고 나니 커뮤니티 발표자 중에서 유일하게 나만 템플릿을 사용하지 않았다는 것을 깨달았다. 덜덜덜

ps2. 제목 원래 잘 못 짓지만 저런 딱딱한 발표 제목으로 신청했었다니....

2018/04/19 04:01 2018/04/19 04:01

기술 뉴스 #100 : 18-04-15

웹개발 관련

  • Progressive Web Apps on iOS are here : iOS 11.3부터 지원되는 PWA의 상황을 설명한 글이다. 앞부분은 PWA의 개념에 대해서 설명하고 중간부터 현재 iOS에서의 제약사항과 Android가 더 좋은 부분, iOS가 더 좋은 부분과 현재 iOS에서 PWA를 지원할 때 고려해야 할 부분을 설명하고 있다.(영어)
  • Understanding JavaScript Proxies by Examining on-change Library : 객체가 변경되면 이벤트 리스너를 호출하는 on-change 라이브러리를 ES6의 Proxy로 구현해 보면서 Proxy의 사용방법을 설명하는 글이다. Proxy가 쉽게 설명되어 있다.(영어)
  • 리액트 16.3 에 소개된 새로워진 Context API 파헤치기 : React.js 16.3의 Context API를 자세히 설명하는 글이다. 이해하기 쉽게 간단한 예제를 통해서 Context API를 어떻게 사용할 수 있는지 설명하고 있다.(한국어)
  • Node.js can HTTP/2 push! : Node.js에 새로 추가된 HTTP/2를 Fastify 등위 웹 프레임워크에서 사용하는 방법을 설명하고 HTTP/2의 server push가 좋지만 실제로 사용하려면 어떤 파일을 푸시해야 할지도 어렵고 캐시된 부분도 고려해야해서 사용하기가 쉽지 않은데 구글에서 만든 h2-auto-push 모듈을 함께 사용하면 이전 요청을 기반으로 자동으로 서버 푸시를 해주어서 쉽게 사용할 수 있다.(영어)

그 밖의 프로그래밍 관련

  • Chaos Engineering: the history, principles, and practice : 인프라에 일부러 장애를 주입해서 더 튼튼하게 만드는 접근 방법인 Chaos Engineering이 발전해 온 역사와 접근 방법을 설명한 글이다. 기본적인 접근 방법은 알고 있었지만 "알면서 이해하는", "알지만 이해 못 하는", "이해했지만 알지 못하는", "이해도 못 하고 알지도 못하는" 문제 순으로 가설을 세워서 하나씩 카오스 엔지니어링을 적용하는 방법은 MySQL 클러스터 예제로 설명해서 이해하기가 좋다.(영어)
  • Optimizing Mocha's Builds with Travis CI's Build Stages : Travis CIBuild Stages 기능을 mocha.js에 적용해서 빌드 성능을 개선하고 정리한 과정을 설명한 글이다. Build Stages를 쓸 때 캐시 설정 등 참고할 내용이 꽤 있다.(영어)
  • Draft vs Gitkube vs Helm vs Ksonnet vs Metaparticle vs Skaffold : Kubernetes 클러스터에 애플리케이션을 쉽게 배포할 수 있게 해주는 6가지 도구를 비교한 글이다. 개발용으로 로컬에서 코드를 클러스터에 배포하거나 git에 올리는 방식으로 배포하거나 애플리케이션을 패키징해서 배포할 수 있는 등 Kubernetes에 배포를 쉽게 할 수 있게 하지만 접근 방법은 다 다른 도구를 한 번에 비교해주고 있어서 비슷한 도구를 고민하고 있다면 도움이 되는 글이다.(영어)
  • Docker registry API to be standardized in OCI : Docker 레지스트리 API v2가 OCI(Open Container Initiative) 하에서 표준이 되었다.(영어)

볼만한 링크

IT 업계 뉴스

프로젝트

  • prototool : Uber에서 만든 Protocol Buffers를 더 쉽게 사용할 수 있는 기능을 제공하는 커맨드 라인 도구로 lint, 컴파일 등의 기능을 제공한다.
  • WhatsApp Web reverse engineered : WhatsAPP을 리버스 엔지니어링해서 웹 API를 새로 구축한 프로젝트로 Node.js와 Python으로 만들었다.
  • Consola : Nuxt에서 만든 JavaScript Console 로거.
  • Nekøyume : 블록체인 기반의 롤플레잉 게임.
  • D3 Graph Theory : 그래프 이론을 인터렉티하게 배워볼 수 있도록 D3.js로 만들어진 웹사이트.

버전 업데이트

2018/04/15 22:09 2018/04/15 22:09