[Info]Tags categorized posts and contents patterns..

[AJAX] Ajax Code E xamples.. [Book] About the book.. [CSS] CSS Code E xamples.. [DB] Sql Code E xamples.. [DEV] All development stor...

레이블이 Amazon인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Amazon인 게시물을 표시합니다. 모든 게시물 표시

2017년 6월 8일 목요일

[NEWS] 기술 뉴스 #14 : 14-09-01..


출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

웹개발 관련

  • Chrome Enchanted: 2014년 주목할만한 HTML5 규격 4종 : 도창욱님이 정리한 글로 Web Components, Web Animations, WebRTC, Service Worker 기술의 개념을 잡기에 잘 정리된 글이다. 개인적으로는 Web Components와 Service Worker에 관심이 있는 편이다.(한글)
  • JavaScript Memory Management Masterclass : JavaScript의 메모리 관련 성능개선과 관련해서 아주 깊은 내용까지 잘 정리된 발표자료(영문)
  • 온라인 장애 체험관 : 네이버 NULI에서 접근성 확대를 위해 온라인 장애 체험관 사이트를 열었다(한글)
  • 반응형 웹 디자인의 현재 : Smashing Magazine의 The State Of Responsive Web Design를 번역한 글로 반응형 웹과 관련된 기술들을 잘 설명한 글이다. 현재 반응형 웹을 구현하는 방법이라기보다는 현재의 문제점과 새로운 기술들이 어떻게 해결하려고 하고 있는지를 설명하고 있어서 반응형 웹 디자인에 관심이 있다면 알아둘 필요가 있는 내용이다.(한글)

그 밖의 프로그래밍 관련

  • Beautiful Open : 오픈 소스 프로젝트 사이트 중에서 디자인이 좋은 사이트만 모아놓은 곳(영문)
  • Common App Rejections : 애플이 앱스토어에서 앱 리뷰를 거절하는 이유를 정리해 놓은 페이지를 공개했다.(영문)
  • Java 9 Features Announced : 오라클에서 Java 9의 기능을 처음으로 공개했다. Java 8도 먼 얘기로 들리는 상황에 벌써 자바 9을 얘기하는 게 맞는지 모르겠지만, 경량 JSON API, HTTP 2 클라이언트 등이 포함되었다.(영문)
  • VisuAlgo : 정렬, 큐, 트리 등의 데이터 구조나 알고리즘을 동작 방식을 애니메이션으로 코드와 함께 보여주는 사이트. 알고리즘을 애니메이션으로 보여주는 사이트가 다수 있지만 깔끔한 디자인과 코드와 함께 보여주고 있어서 알고리즘을 이해하기에 좋다.(영문)
  • Open Sourcing the f8 Conference Apps : 페이스북이 인수한 DBaaS 업체인 Parse에서 페이스북 콘퍼런스인 f8용으로 만든 앱을 오픈 소스로 공개했다. 이 앱은 Parse를 기반으로 만들어졌다.(영문)
  • PYCON Korea 2014 : 국내 첫 파이썬 콘퍼런스가 지난 8월 30일에 숙명여대에서 열렸다. 나는 안타깝게도 참석을 못 했지만 콘퍼런스 사이트에 가면 발표자료를 볼 수 있다.(한글)

IT 업계 뉴스

볼만한 링크

  • 뉴욕타임스 혁신보고서(번역본) : 170페이지 정도의 PDF로 뉴욕타임스의 혁신보고서의 번역본이다. 내용이 길어서 다 읽어보진 못했고 IT 기술 내용이 위주는 아닌 것 같지만 관심 가는 주제라서 링크를...(한글)
  • GitHub – Cracking the Code to GitHub’s Growth : Github의 성장과 관련해서 분석한 글이다. 긴 글이지만 Github이 어떠한 전략을 사용하면서 성장했고 어떤 부분을 중요시하는지 잘 정리되어 있다.(영문)

2017년 3월 7일 화요일

[EP] SSAG 2nd Seminar 후기..


출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

페이스북의 Server Side Architecture Group(이하 SSAG)에서 2차 세미나를 해서 오랜만에 평일 저녁에 세미나에 참가했다. 나는 트위터를 위주로 사용하는 편이고 페이스북은 그 틈틈이 사용하는 편이라 여러 그룹에 가입되어 있지만, 그룹에 잘 들어가진 않는다. 사실 여러 그룹을 돌아보기 좋은 인터페이스도 아니긴 하지만 난 보통 글을 퍼블릭하게 쓰는 경향이 있어서 특정 그룹에 글은 잘 안 올리게 된다.(다른 사람은 반대인듯하다.) 어쨌든 SSAG는 꽤 큰 규모로 발전했고 얼마 전부터 세미나도 하기 시작했는데 이번이 그 2번째이다.

SSAG 시간표

MongoDB, 이렇게 쓰세요 - 한대희

온라인 데이팅 서비스인 이음에서 글로벌 데이팅 서비스로 만든 hey를 만들면서 MongDB를 적용했던 경험을 공유한 시간이었다. 내용은 발표자료에 잘 나와있으므로 굳이 따로 정리하지는 않겠다.(SSAG에서 동영상도 공유 예정인 걸로 알고 있다.)

나는 NoSQL 류에 관대한 입장을 가진 편이고 개인 프로젝트에서 MongoDB를 많이 쓰는 편인데 사실 이는 성능보다는(개인 프로젝트에서 스케일아웃 할 일이 있을 리가...) 개발 편의성 때문이다. 치밀한 계획하에 개발하지 않는 개인 프로젝트에서 MongoDB같은 스키마 없는 데이터베이스를 사용할 때의 편리함은 이루 말할 수 없다. 하지만 서비스로 나간다고 생각하면 글쎄... 쓰던 거니 고민은 하겠지만 덥석 쓰지는 않을 것 같다. 사실 이번 발표도 아주 깊은 내용이라기보다는 MongoDB는 사용 안 해봤지만 사용을 고려하는 입장에서는 미리 알면 도움될 부분이 상당히 많이 있다고 생각한다. 처음 발표한다고 하신 것 치고는 발표자료도 괜찮고 잘하신 듯...(나 처음 할 때 생각하면 덜덜덜)

이 발표의 결과에도 비슷한 얘기가 나오지만 조금 생각을 더하자면 난 기술을 좀 트랜디하게 쫓는 편이지만 새로운 기술을 사용할 때도 사람들이 너무 익숙한 기술의 결과와 수준을 비교한다고 생각하는 편이다. 오랫동안 잘 쓴 기술이 아무래도 더 잘 튜닝해서 쓰게 되어 있고 새로운 기술은 그러한 노하우가 없으므로 문서나 공유된 수준의 내용만 가지고 사용할 수밖에 없으므로 내부에 경험이 쌓이기 전까지는 아무래도 성능, 생산성 등의 저하를 경험할 수밖에 없는데 사람들은 종종 그런 단계를 한 번에 뛰어넘고 싶어하는 것 같다.(발표자분이 그렇다는 의미는 아니다.) 그리고 자주 나오듯이 NoSQL은 RDBMS를 대체하기 위해서 나온 것이 아니라 RDBMS가 커버하지 않는 부분을 커버하기 위해서 나온 것이다. 그럼에도 RDBMS의 대체재로 너무 1:1 비교개념으로 다가가면 자칫 망하기 쉽다.(DB에 대해 잘 아는 것이 아니므로 여기까지...)

발표 후 질답시간에 몇몇 질문에 대해서 청중에서 대신 답변을 하게 되면서 청중끼리 반박, 재반박이 이어지는 재미있는 토론이 있었다. 발표자 입장에서는 약간 곤혹스러운 상황일 수도 있겠지만 이렇게 자유로운 분위기(다양한 질문을 하고 그에 대해서 의견 있으면 서로 얘기하는...) 아주 좋다. 난 사실 발표 중에도 궁금한 게 있으면 손들고 묻고 그런 스터디스러운 발표를 더 좋아하는 편이다.

모바일 서비스 AWS 구축 경험 공유 - 김민태

NC Soft에서 소규모 팀으로 Chekit이라는 글로벌 서비스를 AWS에 구축한 경험을 공유한 발표로 AWS 기반 백앤드 구축에서 공유한 내용의 확장판이라고 볼 수 있다. 전에도 김민태님의 발표를 들은 적이 있는데 이번 발표도 세련된 발표자료에 능숙한 발표를 보여주셨다.(발표 중 여유로운 자세로 자연스러운 개그가 참 좋다.) 사용하는 개인 서버도 있고 AWS같은 확장성이나 유연성이 필요한 서비스를 만들어 본 적이없어서(혹은 AWS를 쓸 수 있는 환경이 아니거나) 주로 가상서버를 사용하고 있다. 그래서 AWS의 서비스들을 사용해 본적은 한 번도 없다. AWS의 인기가 워낙 좋으므로 관심은 상당히 있었지만 쓸 일이 없었던 탓에 관련 세미나도 별로 참여해보지 못했고 자세히 알지 못한다.

그런 면에서 나같이 AWS의 경험이 없는 사람에게는 아주 유용한 발표였다. AWS를 사용해 보지 않은 입장에서 서비스까지 구축하면서 고민한 부분과 삽질한 내용을 그대로 공유 받을 수 있었기 때문이다. 특히 AWS 서비스들의 가격(아무래도 가장 신경 쓰일 부분이니...)을 계산에 볼 수 있는 CloudMix의 서비스나 AWS에 구축할 때 사용할 수 있는 아키텍처 레퍼런스를 볼수 있는 페이지를 포함해서 Checkit이 어떤 아키텍처로 구성했는가 하는 내용은 나중에 AWS를 사용할 때 많이 도움이 될 것 같다.

AWS Cost Optimization: A journey to AWS cost optimization - 정유진

마지막에 미니 세션 비슷하게 AWS의 엔지니어분이 오셔서 AWS를 쓸 때 비용을 최적화해서 쓰려면 어떻게 해야 하는 가에 대해서 공유를 해주셨다. 나중에 AWS도 이제 한국에 들어와서 작년부터 세미나나 커뮤니티 등에서 이런 홍보를 많이 하는 듯한데 처음 듣는 나에겐 꽤 유용한 내용이었다. AWS를 사용할 때 가장 많이 하는 실수 중에 하나가 기존에 사내에서 사용하던 물리 서버와 같은 스펙으로 AWS를 같게 구축하는 것이다. 예시로 로드밸런서 1대, 웹서버 10대, 데이터베이스 서버 2대로 구성하면 한 달에 17,000불 정도가 나올 수 있다. 이렇게 구성한 경우 서버 대부분이 Idle 상태가 되는데 AWS의 비용은 "사용한 만큼 과금한다"는 개념이므로 이렇게 쓰는 것은 AWS를 제대로 쓰는 것이 아니다. EC2에는 "change instance type"라는 것이 있는데 이를 사용하면 5-10분 내에 원하는 대로 서버의 성능을 변경할 수 있다.

그래서 AWS를 사용할 때는 불필요하게 좋은 성능을 사용하지 않아야 한다. m3.xlarge를 m1.small로 바꾸고 db.m2.xlarge를 db.m1.small로 바꾸면 월 8,000불 정도로 줄일 수 있다. 여기에 EBS를 PIOPS에서 Standard 50GB로 바꾸고 RDS 볼륨을 1TB PIOPS에서 Standard 50GB로 바꾸면 월 700불까지로 내릴 수 있다. 보통의 서비스는 인바운드보다 아웃바운드 트래픽이 더 많은데 아마존은 아웃바운드 트래픽에 대해서만 과금을 하므로 AWS의 서비스를 적절히 이용하면 비용을 줄일 수 있다. 그리고 트래픽에 맞춰서 서버사양을 늘리는 오토 스케일링을 될 수 있으면 사용해라. 서비스 대부분은 시간별로 트래픽이 다른데 계속 좋은 사양을 유지하지 않고 트래픽 증가에 따라 자동으로 변경되게 설정하면 비용을 월 450불 정도까지 낮출 수 있다. 마지막으로 Reserved Instances를 사용하는 것이 좋다. Reserved Instances는 장기간(1년, 3년 등)의 비용을 미리 내면 할인을 해주는 과금체계인데 3개월 이상 쓰게 되면 웬만하면 Reserved Instances를 사용하는 것이 더 낮다. 서버의 최소 트래픽에 맞춘 사양 정도를 Reserved Instances로 사용하고 나머지는 오토스케일링으로 확장해서 쓰면 비용을 더 낮출 수 있다.

맺음말

오랜만에 평일날 참가한 세미나였는데 관심 주제이기도 했지만 발표도 괜찮고 사람들 호응도 좋은 즐거운 세미나였다. 더군다나 쟁쟁한 분들이 엄청나게 모여든.... 너무 인기가 좋아서 장소가 좀 협소하게 느껴진 게 아쉬웠다면 약간 아쉬웠고 평일날 저녁 8시에 시작한 세미나라 사람들과 교류를 나눌 시간이 좀 부족했지만 이건 뭐 어쩔 수 없는 부분이니..

2016년 4월 1일 금요일

[Book] 클라우드컴퓨팅 애플리케이션 아키텍처..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

클라우드컴퓨팅 애플리케이션 아키텍처 - 6점
조지 리스 지음, 신현석 옮김/지&선(지앤선)

사실 저는 클라우드는 상당부분이 마케팅용어라고 생각합니다. 물론 명확한 영역이 있습니다. Google App Engine이나 AWS같은 경우는 누구나 클라우드라고 부르는데 동의할 것이고 웹호스팅 같은 경우를 클라우드라고 부르지 않는데도 동의할 테지만 그 외에 클라우드라고 정의하기가 애매한 영역들이 확실히 존재합니다. 그런 부분들은 대개 마케팅을 위해서 클라우드로 스스로 분류하고 있고 그렇기 때문에 클라우드가 상당부분 마케팅용어라고 생각하고 혹자는 그래서 뜬구름 잡는 듯한 개념이라서 클라우드라고도 합니다.

제목 그대로 클라우드 컴퓨팅에 대한 이야기로 좀 더 정확히 말하면 Google App Engine이나 아마존의 AWS, S3, EC2같은 IaaS나 PaaS같은 클라우드 서비스에 대한 책이라고 할 수 있습니다. 이 책에서는 상당부분을 클라우드의 범주에 넣고 있습니다. 일반적으로는 웹앱정도로 분류할 수 있는 것도 SaaS의 범주에 넣어서 클라우드에 포함시키고 있지만 저는 이부분에는 크게 동의하지 않습니다. 하지만 책의 내용 대부분은 보통 IaaS라고 부를수 있는 Infrastrucure as a Service들을 중심으로 다루고 있기 때문에 이런 부분에 대해서 개인적인 생각들은 책을 읽는 중 전반적으로 불편함을 느끼거나 하지는 않습니다.

책의 번역품질은 아주 최상은 아니지만 일부 거슬리는 점이 몇몇 존재하는 것 외에는 무리없이 이해하면서 읽을 수 있는 수준이 됩니다. 일단 리던던시나 컴프라이언스 같은 단어는 제 입장에서는 그리 일반적인 단어는 아니라고 생각하는데 별도의 설명없이 위의 단어들을 그대로 사용하고 있습니다. 아주 일반적이지 않은 단어들이 의미에 대한 설명이 있었으면 더 좋았을 것 같습니다.

여기서는 아마존의 클라우드 서비스들을 중심으로 상당히 다루고 있고 대표적으로 EC2(Elastic Cloud Compute)나 S3(Simple Storage Service)를 중심으로 설명하고 있는데 이런 서비스의 사용방법들도 설명하고 있기는 하지만 전체적인 초점은 클라우드 서비스의 How-to라기 보다는 기존의 호스팅이나 매니지드 서비스에서 클라우드로 넘어갈 때 어떤 고민들이나 준비를 해야 하는지에 대해서 설명하고 있습니다. 그렇기 때문에 클라우드를 이해하는데도 어느정도 도움이 되지만 실제 클라우드 서비스로 이전하기 위해서 고민을 하고 있다면 이 책은 크게 도움이 되리라고 생각합니다.(Google App Engine이나 마이크로소프트의 Azure는 간단한 정도로만 다루고 있습니다.)

초반에는 S3가 어떤 특징들이 있고 어떻게 사용해야 하는지와 EC2의 개념들.. EC2에서 AMI가 무엇이며 어떤 특징들이 있고 명령어들을 통해서 어떻게 셋팅하고 사용할 수 있는지를 설명해 주고 있습니다. 기존에 이 서비스들을 사용해 보지 않았다고 하더라도 전반적인 개념을 이해할 수 있도록 적당히 잘 다뤄주었다고 생각합니다.

그 뒤부터는 클라우드서비스로 이전하기 위해서 어떤 고민들이 필요한지에 대해서 본격적으로 얘기하고 있습니다. 소프트웨어에 대한 라이센스에 대해서 어떤 고려가 필요한지나 비용산정은 어떻게 해서 기본의 매니지드 서비스와 비교할 수 있는지.. 직접 서버운영을 했을때와 클라우드를 이용할 때를 비교했을때 어떤 장점과 단점이 있고 서비스 하려는 형태에 따라 무슨 기준을 가지로 비교해 보아야 하는지를 설명해 줍니다. 본격적으로 클라우드의 이전에 대한 얘기로 넘어가서 클라우드에서 서비스를 운영할 때 프로그램적으로 고려해야 할 부분이라던지 디비관리나 보안을 위해서 아키텍쳐를 어떻게 유지해야 하는지를 알려줍니다.그 뒤에는 보안관리나 법적 이슈들 그리고 재해 복구에 대한 대책에 대해서 자세히 설명해 주고 있습니다.

기본적으로 이 책을 통해서 아마존 EC2와 S3에 대한 사용범을 꽤 자세히 알 수 있고 클라우드에 대해서 잘 모른다면 클라우드의 특징들에 대해서도 이해할 수 있지만 앞에서 말했듯이 이 책의 저자는 실제로 클라우드로 자사의 서비스를 이전하고 솔루션화하면서 얻은 지식을 토대로 하고 있기 때문에 실무 경험을 통해서만 얻을 수 있는 클라우드 서비스에서의 준비사항에 대해서 상당히 디테일하게 알려주고 있습니다. 실제 클라우드 이전을 하면서 참고하면 큰 도움이 될 내용들이 가득 들어있습니다.(사실 저는 이전에 클라우드 하면 인프라적인 장점만 생각하고 있었지 보안이나 법적 이슈에 대해서는 단 한번도 생각지 못했는데 그런 부분에 대해서도 알게 되었던 점이 좋았던 것 같습니다.)