OSS on Azure (Powered by Rockplace)

'분류 전체보기'에 해당되는 글 108건

  1. 오픈소스 데이터베이스 사용 기업이 클라우드를 선택하는 이유는?
  2. OSS Database trend and growth, 오픈소스 데이터베이스 시장 현황 분석
  3. 장애 발생! 뭐가 문제지? Azure Service Health로 장애 나기 전에 미리미리 사태 파악하자 ~
  4. 믿고 쓰는 Azure 방화벽 ~ 드디어 위협 인털리전스 기반 탐지 기능 장착!
  5. 클라우드에 올린 MariaDB에 대한 효과적인 접근 제어 방법 하나 - VNet 서비스 엔드 포인트 활용하기
  6. Azure Stack으로 클라우드 첫 발을 띄기 전에 따져 봐야 할 (4 + 1) 체크 포인트
  7. 초간편 컨테이너 모니터링 : Azure Monitor for containers 공식 출시
  8. 재해복구(DR) 비용 계산기 ~ 일단 비용부터 뽑아 보자
  9. 파이썬 웹 앱 배포와 운영까지 지원하는 ~ Azure App Service
  10. Azure가 제공하는 든든한 재해복구 옵션
  11. Azure Database for MariaDB 등장! 오픈 소스 데이터베이스 매니지드 서비스 대유행
  12. Azure SQL Data Warehouse ~ 클라우드 기반 DW 시장 불꽃 튀는 경쟁 시대
  13. OSS DB on Azure: 오라클 호환성을 통한 비용 효과 극대화 - Replacing Oracle with EDB Postgres
  14. OSS DB on Azure: MySQL의 성능은 어디까지?
  15. Azure Storage를 위한 든든한 보안 장치 ~ 위협 보호(Advanced Threat Protection) 기능 추가 [출처] Azure Storage를 위한 든든한 보안 장치 ~ 위협 보호(Advanced Threat Protection) 기능 추가|작성자 OpenSource on Azure
  16. Azure HDInsight를 위한 막강한 디버깅 툴 등장
  17. 락플레이스 웨비나 '컨테이너에 대한 이해와 클라우드 환경에서 컨테이너 적용 사례 '
  18. [무료 세미나]9/6(목)14시Rockplace Open Day -'오픈소스 활용을 위한 최적의 플랫폼 활용전략'
  19. HDInsight 클러스터 환경에서 운영하는 아파치 피닉스 ~ 이제 제플린 노트북으로 사용할 수 있다!
  20. Azure Automation, 이제 한국 리전에서도 이용 가능
  21. 매니지드 디스크, 이 편한 것으로 마이그레이션 하는 방법, Azure Portal에서 마우스 클릭 몇 번이면 됨!
  22. VM 비용 80% 낮추기 ~ 어렵지 않아요!
  23. 애저 앱 서비스! Java SE 8 지원, 인프라 고민 없이 코드에 집중하기 좋은 세상
  24. WAN 속도까지 쌩쌩 ~ Azure Virtual WAN 프리뷰
  25. 사용자 행위 분석까지 해야 개발의 완성 ~ 웹 앱 개발자의 완소 아이템
  26. 대량에서 소량까지 ~ 클라우드로 데이터 옮기기, 눈에 보여 안심되는 확실한 데이터 마이그레이션 서비스
  27. 불붙은 클라우드 기반 DW 성능 경쟁 - 애저가 아마존 Redshift를 앞서가나요 ~ ~
  28. 애저 HDInsight 새소식, 아파치 스파크 2.3 지원됩니다! 스파크 기반 머신 러닝, IoT 등 활용 시나리오가 더욱 풍성 ~
  29. 애저 이벤트 허브와 서비스 버스 보안 강화를 위해 필요한 서비스 ~ IP 필터링
  30. 하둡 애플리케이션을 위한 가장 경제적인 선택 - 클라우드 오브젝트 스토리지에서 Data Lake 운영

오픈소스 데이터베이스 사용 기업이 클라우드를 선택하는 이유는?

Database

MySQL, PostGreSQL 같은 오픈소스 DB 시장 트렌드를 분석한 지난 포스트에서 몇 가지 흥미로운 사실들을 공유해 드렸죠. 연 평균 35%를 넘는 오픈소스 DB 제품 성장률, DMBS 분야 강자인 오라클과 마이크로소프트 턱밑까지 근접한 인기도 그리고 운영 환경으로 클라우드 플랫폼을 선택하는 비율이 올해는 약 76%, 내년에는 80%를 넘는다는 IDC 보고서 내용이었죠. 자연스레 이런 궁금증이 생겼습니다. “클라우드를 선택하는 기업들이 왜 이리 많을까?”  그래서 많은 기업들이 오픈소스 DB 운영 플랫폼으로 클라우드를 선택하는 이유를 정리해 보았습니다. 

비즈니스 속도와 효율성 

확보 업무 자동화 및 효율화를 위해 도입되기 시작한 IT 기술은 비즈니스의 핵심 요소로 성장했고, 4차 산업 혹은 디지털 트랜스포메이션이란 화두를 만나면서 기업의 지속 가능성을 좌우하는 key driver로 평가되고 있습니다. 그 중심에는 언제나 클라우드가 있죠. 클라우드가 가진 속도, 효율성 및 경제성 같은 특성이 기업이 갖고자 하는 비즈니스 속도와 혁신 능력을 확보하는데 딱 들어맞기 때문이죠. 이것이 오픈소스 DB를 운영하는 기업들이 클라우드를 선택하는 가장 큰 이유라고 판단됩니다. 

그림) 디지털트랜스포메이션과 클라우드 서비스

그리고 클라우드를 오픈소스 DB 운영 환경으로 선택하는 이유라고 고객들이 꼽은 내용은 아래와 같습니다: 

* 운영 및 관리 효율성 강화

* 가용성과 장애 복구 

* 경제성

* 보안 및 규제 준수

* 선택의 다양성

그림) 클라우드를 선택하는 주요 이유

① IT 운영 및 관리 효율성 강화

온-프레미스 환경의 시스템을 운영하면 숙명처럼 따라 붙는 일들이 있습니다. NW 구성, SW & HW 설치 그리고 주기적 보안 패치 및 업데이트 등이죠. 작업에 많은 시간이 소요되기도 하고 패치(업데이트) 오류로 인한 문제 발생으로 야근을 해야하는 경험도 종종하게 됩니다.  클라우드 플랫폼에서는 IT 관리자가 이런 어려움에서 해방될 수 있다는 점을 꼽고 있습니다. 클라우드에 이미 구현된 환경을 이용해 몇 분만에 SW & HW 설치 및 네트워크 구성 작업을 끝낼 수 있죠. 클라우드에서 운영되는 시스템의 보안 패치 및 업데이트도 클라우드 업체가 다 알아서 제공하죠. (이 항목은 PaaS 서비스로 운영하는 경우입니다)

② 가용성과 장애 복구

데이터베이스 서버에는 기업의 중요 정보 자산과 데이터가 저장되기 때문에 시스템 이중화 및 데이터 백업 및 장애 복구 시스템을 같이 운영하는 기업도 꽤 있습니다. 시스템 가용성을 확보하고 여기서 운영되는 비즈니스의 연속성 보장을 위해 꼭 필요하죠. 하지만, 이를 위해 많은 (경우에 따라서는 엄청난) 비용과 시간 그리고 노력이 필요하다는 사실이죠. “배보다 배꼽이 크다!”라는 속담이 생각나는 상황이죠.  클라우드 환경에서는 데이터 백업 및 시스템 이중화를 기본 혹은 아주 합리적 비용에 제공하는 경우가 대부분입니다. 물론, 이런 서비스를 구현하기 위해 IT관리자가 해야 할 일은 온-프레미스에 비하면 거의 없다고 할 수 있습니다. 약간의 설정 작업 수준이죠. 

③ 보안 및 규제 준수

경제적 이익을 목표로 한 악성코드, 랜섬웨어 같은 사이버 공격의 급증과 비즈니스 환경의 디지털화로 보안의 중요성은 계속 커지고 있습니다. 이에 기업의 보안 투자도 늘지만, 계속 진화하는 사이버 위험의 특성상 마음을 놓기가 힘들죠. 투자는 늘지만 확실한 보장은 없기 때문에 기업에겐 ‘밑 빠진 독에 물 붓기’처럼 느껴지기도 합니다.  하지만, 클라우드는 서비스 제공 업체가 보안과 글로벌 규제에 대한 선제적 대응과 서비스를 일년 365일 24시간 쉬지 않고 보장합니다. 사용 기업은 보안 공격이나 개인정보보호법 및 GDPR같은 규제에 대한 걱정 없이 서비스에만 집중할 수 있습니다. 

④ 뛰어난 가성비 

앞에서 설명된 1) 운영 및 관리 효율성, 2) 가용성과 장애 복구 그리고 3) 보안 및 규제 준수 내용을 이해했으면, 클라우드의 뛰어난 가성비란 표현은 자연스럽게 다가옵니다. 기업이 온-프레미스 시스템 운영에 투입하는 모든 자원 (SW, HW)과 노력 (운영 및 관리 작업)은 커다란 비용 요소이죠, 가용성과 업무 연속성 확보를 위한 IT시스템은 휠씬 더 큰 비용과 관리를 요구합니다. 보안이란 녀석은 물 먹는 하마같고요. 클라우드는 높은 초기 투자 및 운영 비용 그리고 지속적 보안 투자 없이도 온-프레미스 환경의 시스템보다 휠씬 더 안정적이고 확장성 있는 시스템을 확보할 수 있는 방안을 보장합니다.

이런 장점들이 현장에서 증명되고 고객들의 입을 통해 공유되면서 클라우드로 향하는 고객들의 발걸음이 늘고 있는 것 같습니다. 지금까지 클라우드를 칭찬했지만 단점도 있습니다. 세상에 단점은 없고 장점만 가진 것은 없죠. 크게 중요한 이슈는 아니라고 하는 사람도 있지만, 여러분 상황에 따라 달라질 수 있으니 같이 검토해 보시기 바랍니다. 

* 상시적인 인터넷 연결을 필요로 한다.

* 클라우드 업무 및 서비스 특성에 따라 네트워크 용량 확대가 필요

* 데이터 주도권 이슈 클라우드는 데이터가 서비스 제공 업체의 데이터센터에 위치하기 때문에, 데이터 주도권에 대한 이슈가 발생할 수 있습니다. 기업 업종 (예, 금융기관)이나 회사 정책에 따라 데이터 주도권 및 저장을 반드시 조직내에 두어야 하는 경우도 있기 때문이죠.

* 클라우드 인력 및 기술의 확보 필요 클라우드가 장점이 많지만, 누구나 다 할 수 있다는 클라우드 전문 인력 및 기술이 확보되어야 최대로 활용할 수 있고 지속적 확대가 가능합니다. 더불어 믿을 수 있는 파트너가 같이 한다면 더욱 좋겠죠. 

오픈소스 DB와 클라우드 역량을 갖춘 믿을 수 있는 파트너가 필요하신가요? 락플레이스가 도와 드리겠습니다!

OSS Database trend and growth, 오픈소스 데이터베이스 시장 현황 분석

분류없음

자기 것만 고집하기로 소문난 Microsoft가 “I love open source” 혹은 “I love Linux!”라는 문구를 스스럼없이 쓰고, 작년에는 천문학적인 돈을 투자해 오픈소스 커뮤니티의 상징처럼 여겨지는 GitHub (깃허브)를 인수했죠. 데이터베이스 SW 시장의 터줏대감이라는 Oracle 웹사이트에도 오픈소스 DB 이야기가 많은 부분을 차지하고 있습니다. 이 정도면, 오픈소스가 IT 역사의 한 페이지를 장식하는 큰 흐름이 되었다고 해야 할 것 같습니다. 오픈소스 전문 기업인 락플레이스의 역할이 더욱 중요해지는 시기가 오고 있는 것 같습니다. 그래서 오늘 포스트에서는 오픈소스 데이터베이스 시장의 현황을 정리해 보았습니다. 


1. Opensource database, 더욱 빨라지는 성장과 시장 확대.

오픈소스 데이터베이스 시장의 흐름을, DB시장 분석에 있어 가장 신뢰받는 DB-Engine 사이트 (https://db-engines.com/) 데이터를 이용해 알아보았습니다. 이번 작업을 통해 오픈소스 데이터베이스 제품의 인기와 확산은 머릿속으로 생각했던 것보다 휠씬 빠르고 강하다는 것을 확인할 수 있었네요. 

IDC와 Microsoft가 공동 작성한 분석 보고서는 오픈소스 DB 성장률을 연평균 35.3% 수준으로 파악했군요. IT시장의 성숙도와 DB 도입 현황을 고려할 때 놀라운 결과이죠. 그리고 보고서에서 확인할 수 있는 또 다른 놀라운 사실은 오픈소스 DB 운영 플랫폼으로 “클라우드”를 선택하는 비율이 76% (2019년 기준, 2020년에는 81%)를 넘는다는 점입니다. 

그림) 오픈소스 DB 성장률 (출처; IDC & Microsoft 공동)

다음으로 살펴 볼 데이터는 Microsoft SQL, Oracle 같은 상업용 DB 제품과 MySQL, PostGreSQL같은 오픈소스 DB 제품의 인기도를 측정한 데이터입니다. 2013년부터 평가했는데 두 제품 그룹간 차이가 꾸준히 줄어 올해 2019년에는 5% 미만이 되었네요. 이런 상황은 단순히 제품의 기능 확장만으로 일어나지 않습니다. 제품 완성도를 시작으로 사용 고객층 확대, 관련 기술 및 파트너 확산 그리고 지원 체계 및 전문 인력 같은 생태계가 같이 따라줘야 가능한 것이죠. 그런 측면에서 오픈소스 DB는 이미 완숙 단계로 진입했다는 판단이 듭니다.

그림) 오픈소스 DB vs. 상업용 DB 인기도 추세


제품별로 나눠 분석한 아래 내용을 보면 더 재미있습니다 아직까지 Oracle이 가장 높은 점수를 받고 있지만, 바로 밑에 MySQL이 있습니다. 그 다음으로 PostGreSQL과 MongoDB등이 따르고 있습니다. (자료에서는 데이터 확인의 편리성을 위해 일부 상용 제품 – Microsoft SQL, IBM DB2 등-과 오픈소스 DB 제품을 제외했습니다)


그림) 오픈소스 DB별로 인기도 분석


2. 오픈소스 데이터베이스는 왜 성장할까?

여기까지 읽고 나면 자연스러 궁금증이 생길 수 있습니다. 오픈소스 DB가 왜 성장할까? 라는 질문입니다. 그래서 오픈소스 전문기업인 저희 락플레이스가 많은 고객을 만나면서 경험한 내용들을 정리해 보았습니다. 

* 상업용 DB 제품의 라이선스 관련 비용 이슈

가장 큰 이유는 상업용 DB 제품 도입에 필요한 높은 라이선스 비용 구조가 아닐까 합니다. 또한 상업용 DB 제품들은 몇 년에 한 번씩 업그레이드하거나 갱신을 필요로 하는데, 이때도 많은 비용이 필요하죠. 일정 기간이 지나면 제품 지원이 완전히 종료되는 것도 DB 공급사가 가진 공통적 정책입니다. 기업은 어쩔 수 없이 업그레이드를 해야만 하는 상황이 벌어지고 이때 투입해야 하는 라이선스 및 프로젝트 비용이 높다는 점입니다..  

* 상업용 데이터베이스 제품의 폐쇄성과 그에 따른 취약점

오라클 같은 상업용 제품은 사용자가 코드를 확인할 수 없죠. 이로 인해 제품 버그 및 보안 취약점 등을 미리 파악할 수 있는 방법이 없습니다. 공급사만이 제공할 수 있는 버그 및 보안용 패치나 업데이트 작업도 필요한 시점보다 늦는 경우가 많죠. 오라클, Microsoft같은 공급사가 완벽한 제품을 제공한다고 하면 해결 가능한 문제지만, 이런 상황은 현실적으로 불가능합니다. 이 회사들도 제한된 자원을 가지고 많은 일을 해야하기 때문이죠. 그리고 상업용 DB는 사용자 상황이나 필요에 따라서 수정할 수 없기 때문에, 사용 기업이 자사 상황이나 업무 필요에 맞춰 수정하거나 최적화가 어렵다는 제약점도 큰 이유입니다. 

* 다양한 영역에 적용 가능한 오픈소스 데이터베이스

오픈소스 DB가 확산되는 또 다른 이유는 다양성의 제공입니다. 많은 업무 영역에 적용할 수 있는 구조와 기능적 성숙도를 확보했기 때문입니다. 오픈소스 DB가 이미 다양한 업무 영역에 활용되고 검증되었다는 사실을 아래 자료를 통해 확인할 수 있습니다. 

그림) 오픈소스 DB 이용 업무 분석 (DB엔진 사이트)

아래 그림에서는 와이드 컬럼 저장, 타임 시리즈 저장 및 문서 저장 그리고 검색 엔진 같은 업무 용도에는 오픈소스 DB가 상업용을 크게 앞서고 있다는 것도 확인할 수 있습니다. 

그림) 오픈소스 DB vs. 상업용 DB의 업무별 적용 현황 


지금까지 오픈소스 데이터베이스 시장 현황과 왜, 빠르게 성장하는지를 살펴보았습니다. 락플레이스가 내릴 수 있는 결론은 이제, 오픈소스 DB 제품의 완성도가 충분히 검증되었고 기업 고객이 비즈니스에 적용해 안정적으로 운영 및 관리할 수 있는 생태계가 형성되었다는 겁니다. 

오픈소스 DB 관련한 믿을 수 있는 파트너가 필요하신가요? 락플레이스가 도와 드리겠습니다!



장애 발생! 뭐가 문제지? Azure Service Health로 장애 나기 전에 미리미리 사태 파악하자 ~

클라우드 운영 팁

최근 페이스북, 인스타그램, 지메일 등 굵직한 서비스들 장애가 일어났죠. 다들 무슨 일이냐 싶었을 것입니다. 대형 업체도 장애는 피할 수 없습니다. 클라우드에서 서비스나 시스템을 운영 중 장애가 나면? 누구의 문제인지가 궁금해지죠? 내가 뭘 잘못 설정했나? 아니면 클라우드 사업자 문제인가? 성능 저하나 시스템 다운 같은 장애가 일어나기 전에 미리미리 알 수 있는 간편한 방법은 없을까?

세상에 찾으면 없는 게 어디 있겠습니까? 네, 있습니다. 마이크로소프트 애저(Microsoft Azure)를 이용하는 관리자라면 보통 서비스가 정상적으로 돌아가는지를 애저 상태 웹 페이지(Azure Status Page)에서 확인할 것입니다.


이 페이지에 가면 마이크로소프트 애저의 주요 리전의 서비스 상태를 볼 수 있습니다. 좋음, 경고, 오류, 정보 아이콘을 통해 상태를 보여주는데요, 문제는 리전이 너무 많고 각 리전에서 제공하는 클라우드 상품과 서비스가 많다 보니 마우스를 스크롤 하면서 보기 불편합니다. 개인 설정을 통해 대시보드로 볼 수도 있지만, 이 또한 '설정'이라는 과정을 거쳐야 하죠.

이런 불편을 덜어 드리고자 Microsoft가 간편한 서비스 상태 파악 도구를 만들었습니다. 이름하여 애저 서비스 헬스(Azure Service Health), 이를 활용하면 내가 꼭 봐야 할, 확인해야 할 애저 상태만 파악할 수 있습니다.


애저 서비스 헬스는 현재 내가 운영 중인 서비스, 시스템 관련 애저 상태 정보만 추려 보여줍니다. 내가 찾아보는 게 아니라 마이크로소프트가 알아서 한번 걸려 꼭 봐야 할 것만 알려 주는 일종의 '요약정리'입니다. 애저 서비스 헬스는 다음과 같이 사용자에게 직접 영향을 끼치는 것 3가지를 보여 줍니다.

1. 서비스 이슈: 애저에 발생한 문제가 사용자의 서비스에 영향을 끼칠 때 이를 알려줌

2. 계획된 유지보수: 애저 유지보수 계획 중 사용자가 이용 중인 자원과 서비스에 해당하는 일정 공유

3. 서비스 헬스 관련 도움말: 사용자가 설정을 잘못하였거나, 사전에 정해둔 용량이나 성능을 넘어서는 등 잠재적으로 문제를 일으킬 수 있는 것들을 찾아 관련 도움말 제공

애저 서비스 헬스의 좋은 점은 매번 애저에 접속해 서비스 헬스 대시보드에서 보지 않아도 된다는 것입니다. 이메일, 문자로 서비스 헬스 관련 정보를 받아 볼 수 있습니다. 서비스나우(ServieNow) 같은 서비스를 이용해 관리할 경우 웹푹을 통해 노티를 받아 볼 수 있습니다.


더 자세한 내용은 관련 문서를 참조 바랍니다.


믿고 쓰는 Azure 방화벽 ~ 드디어 위협 인털리전스 기반 탐지 기능 장착!

보안

클라우드 서비스가 제공하는 방화벽이 기능이 뭐 얼마나 되겠어? 처음에는 그랬지만 요즘 신기능 장착 속도를 보면 머지않아 기본 방화벽 기능만 잘 써도 모자람이 없어질 날이 올 듯합니다.

마이크로소프트가 최근 애저 방화벽(Azure Firewall)에 신기능을 2개나 추가했습니다.

신기능 1) 위협 인텔리전스 기반 필터링

신기능 2) 서비스 태그 필터링

위협 인텔리전스, 보안에 관심 있는 분은 다 아는 키워드죠. 위협 인텔리전스란 간단히 말해 공격자들이 동원하는 TTPs(기술, 도구, 절차)를 꾸준히 추적 조사하며 쌓은 지식 기반입니다. 최근 사이버 위협은 세계 각국의 정부가 배후에 있는 공격 그룹이 이끄는 경우가 많죠. 여기에 돈을 목적으로 활동하는 전문가 그룹도 적지 않습니다. 이들이 어떤 일들을 벌이고 다니는지 눈을 떼지 않고, 그들의 행적을 되짚어가며, 주로 사용하는 기법과 수법 그리고 위협 인자로 보이는 도메인, IP 주소에 대한 정보를 파악해 만든 것이 위협 인텔리전스라고 보면 됩니다.

위협 인텔리전스 부문의 선두 주자는 파이어아이로 알려져 있죠. 요즘에는 모든 보안 솔루션 업체들이 위협 인텔리전스를 매우 강조합니다. 우리도 위협 인텔리전스 기반 탐지와 방어를 한다고 말이죠.

이런 측면에서 볼 때 애저 방화벽에 위협 인텔리전스 기반 필터링 기능이 추가된 것은 대환영입니다. 프리뷰 단계이긴 하지만 위협 인텔리전스가 있을 때와 없을 때의 차이는 매우 크니, 일단 쓰고 봐야 할 것 같습니다. 마이크로소프트는 윈도우, 오피스 그리고 다양한 서버 제품군을 기업에 공급해 왔죠. 제품을 개발하고, 보안 취약점을 찾아, 패치를 하고, 정기적으로 업데이트를 하는 작업을 오랜 기간 해왔습니다. 자연스럽게 마이크로소프트는 위협 인텔리전스 역량을 오랜 기간 키워왔는데요, 이 역량을 이번에 애저에 쏟아부은 것입니다.

마이크로소프트는 방대한 위협 인텔리전스 정보와 첨단 분석을 바탕으로 하는 인텔리전트 시큐리티 그래프(Intelligent Security Graph) 서비스를 제공합니다. 이의 연장 선상에서 클라우드를 지원하는 것이 바로 애저 방화벽의 위협 인텔리전스 기반 필터링 기능입니다.

이 기능을 켜두면 위협 인텔리전스 정보를 바탕으로 공격으로 의심되는 이상 행위가 탐지되었을 때 관리자에게 경보(alert)를 보냅니다.



위협 인텔리전스 필터를 통해 어떻게 탐지와 차단이 이루어지는 간단히 볼까요? 다음 화면은 애저 방화벽이 공격을 받은 VM을 위협 인텔리전스를 통해 가려낸 다음 아웃바운드 연결을 차단한 예입니다.



다음 화면은 포트 스캔 시도를 탐지해 인바운드 연결을 차단하는 것을 보여주는 예입니다.


다음으로 서비스 태그 필터링을 살펴보죠. 이 기능은 애저 사용자들이 많이 요구한 것 중 하나인데요, 현재 사용 중인 애저 서비스의 IP 주소 프리픽스를 관리할 수 있도록 돕습니다. 이를 통해 무엇을 하냐? 애저 방화벽과 연계해 목적지 필드를 제어하는 네트워크 룰을 간편하게 적용할 수 있습니다.

한편 애저 방화벽은 REST API를 지원합니다. 따라서 써드파티 보안 정책 관리 도구와 연계도 가능합니다. 바라쿠다, 알고섹 클라우드 플로우, 터핀 등에서 애저 방화벽과 연동을 프리뷰, 베타 형식으로 공개했네요.

클라우드에 올린 MariaDB에 대한 효과적인 접근 제어 방법 하나 - VNet 서비스 엔드 포인트 활용하기

Database

데이터베이스는 위치가 어디건 철저한 접근 제어를 해야 하는 중요 시스템입니다. 온프레미스, 클라우드 모든 환경에 대한 철저한 접근 제어와 권한 관리가 이루어져야 데이터 유출 등의 사고를 막을 수 있죠. 관련해 오늘 포스팅에서는 Azure Database for MariaDB로 인터넷 연결을 통해 접근하지 못하게 격리하는 방법을 소개합니다.

애저가 제공하는 VNet 서비스 엔드포인트를 이용하면 사용자가 만든 가상 네트워크 내의 서브넷 환경에서만 Azure Database for MariaDB에 연결할 수 있도록 구성할 수 있습니다. 이렇게 하면 데이터베이스 트래픽이 애저 네트워크 내에서만 일어납니다. 이를 도시화하면 다음과 같이 그릴 수 있습니다. 이해가 쉽게 될 것입니다. VNET 서비스 엔드포인트를 적용하는 데 추가 비용이 들지 않는다고 하니, 필요한 분은 적용을 고려해 봐도 좋을 듯합니다.


만약 온프레미스 환경에서 클라우드에 올린 Azure Database for MariaDB로 접근하는 것을 허용하고 싶다면, 방법이 또 있죠. VNet의 방화벽 룰을 설정해 해당 시스템의 퍼블릭 IP 주소 연결을 허용하면 됩니다. 참고로 이렇게 하면 주소 변환 과정을 거쳐 소스 IP와 클라이언트 IP 간 연결이 이루어집니다. 상세 설정은 관련 문서를 참조 바랍니다.


Azure Stack으로 클라우드 첫 발을 띄기 전에 따져 봐야 할 (4 + 1) 체크 포인트

클라우드 운영 팁

클라우드 전환, 따져봐야 할 게 참 많은 작업입니다. 조직마다 환경이 다르고, 운영 인력의 역량이 천차만별이죠. 거기에 IT 거버넌스, 규제 등 제약을 두어야 할 사항도 많습니다. 이와 함께 살펴야 할 것은 클라우드로 갔을 때 과연 무엇을 얻을 수 있나? 이 질문은 왜 지금 우리가 클라우드로 가야 하는가에 대한 답이기도 합니다. 이를 명확하게 알아야 명분도 생기고 조직 내 공감도 얻을 수 있습니다.

운영 효율을 높이기 위해, 비용을 아끼기 위해... 등 클라우드 전환의 이유가 분명하고 마음이 곧바로 섰다면 다음에 할 일은 실행 계획을 세우는 것입니다. 천릿길도 한걸음부터라고 했습니다. 너무 욕심을 부려 옛것을 다 버리고 클라우드 네이티브로 간다? 이런 시나리오를 상상하는 곳은 아마 없을 것입니다. 대부분 현재 잘 운영하고 시스템을 대상으로 우선순위를 정해 단계적으로 옮겨 가겠죠. 그리고 이를 위한 가교로 하이브리드 구성을 택하는 검토하는 것이 일반적입니다.

관련해 마이크로소프트 애저의 경우 하이브리드 구성을 돕기 위해 애저 스택(Azure Stack)을 제공합니다. 애저 스택을 출발점으로 삼으면 좋은 점은 시쳇말로 이사하기 쉽다는 것입니다. 영어로 'Life & Shift'라고 표현할 정도인데요, 운영 중인 시스템을 들어 올려 애저 스택에 가볍게 올리듯이 클라우드 전환을 할 수 있는 의미입니다.


마이그레이션에 앞서 살펴볼 사항은 4가지 더하기 1입니다. 4+1을 잘 기억하면 성공적인 클라우드 이전을 할 수 있습니다. 먼저 살펴볼 4가지 점검 사항은 비용, 연결(네트워크), 규제 및 데이터 관련 요구 사항, 고가용성 요구 사항입니다. 이 전에 기존 환경에 대한 분석은 당연히 마쳐야 하고요.

4가지를 점검했다면, 다음 남은 1가지는 누구에게 도움을 청할 것인가를 정하는 것입니다. 마이크로소프트는 애저 스택 기반의 하이브리드 구축과 운영을 돕기 위해 지역별로 실전 경험이 풍부한 파트너를 통해 지원합니다. 이외에 써드파티 마이그레이션 도구를 사용할 수도 있는데, 이 부분은 파트너와 긴밀히 상의해 풀어야 할 부분입니다. 참고로 클라우드 마이그레이션 관련 사전 평가와 이전 기능을 제공하는 도구는 컴볼트, 제로다운타운, 클라우드베이스 등에서 제공합니다.

물론 가장 처음 고려할 방법은 애저 마이그레이션 센터, 스토리지 마이그레이션 서비스 등 애저가 제공하는 도구를 잘 활용하는 것이겠지요.

그렇다면 한국에서는 어떤 파트너가 애저 스택 기반의 하이브리드 환경 조성과 기존 시스템 마이그레이션에 최적일까요? 네, 국내에서 처음으로 애저 스택 기반 프로젝트를 추진하고, 이후 지금까지 VM 환경부터 다양한 데이터베이스와 비즈니스 애플리케이션 이전 경험이 풍부한 락플레이스가 딱 그런 파트너입니다. 전략 컨설팅부터 실제 마이그레이션까지 락플레이스가 어떤 도움을 줄 수 있는지에 대해서는 관련 페이지를 참조 바랍니다.




초간편 컨테이너 모니터링 : Azure Monitor for containers 공식 출시

OpenDev

컨테이너 많이 사용하시나요? 무엇이건 많이 쓰면 관리 이슈가 생기게 마련이죠. 관련해 가장 먼저 챙기는 것이 모니터링입니다. 관련해 Azure Monitor for Containers 공식 출시 소식을 간단히 정리해 보았습니다.

이 서비스는 일반적인 모니터링 툴과 같습니다. AKS (Azure Kubernetes Service) 상에서 운영하는 클러스터의 헬스 체크와 성능을 관제하는 용도로 씁니다. 2018년 5월 퍼블릭 프리뷰를 공개했는데, 이후 사전 사용자의 의견들을 모아 기능들을 다듬었다고 합니다. 몇 가지 주요 특징을 살펴보겠습니다.

Multi-cluster view

먼저 소개할 것은 멀티 클러스터 뷰 기능입니다. 만약 여러 개의 AKS 클러스터를 관리할 경우 각각을 따로 살펴야 했는데, 이제는 하나로 묶어서 단일 창에서 볼 수 있습니다. 여러 계정을 통한 구독, 서로 다른 리소스 그룹과 워크스페이스 모두를 한 통으로 볼 수 있습니다. 모니터링이 되지 않던 클러스터 탐색도 한 화면에서 할 수 있습니다.


Performance Grid View

다음으로 살펴볼 기능은 성능 관련 뷰입니다. 가령 특정 클러스터에 성능 저하가 보인다면, 관리자는 병목 구간이 어디인지 상세히 파고 들어가 보고 싶겠죠. 성능 관련 모니터링 내용을 상세하게 보려면 노드 뷰 탭을 통해 해당 내용을 보고 성능 저하의 원인이 무엇인지 확인할 수 있습니다.



Live Debugging

에러나 이슈가 발생하면 이를 실시간으로 파악하는 것이 중요합니다. 라이브 디버깅 기능은 실시간으로 로그를 애저 포탈을 통해 받아 볼 수 있도록 합니다. 이를 통해 실시간 디버깅을 할 수 있는데요, 배포 후나 업데이트 후 정상적으로 잘 되었는지 확인할 때도 좋을 듯싶네요.



Azure Monitor for Containers는 애저 포탈에 추가해 신규 또는 기존 AKS 클러스터를 모니터링할 수 있습니다. 신규 클러스터를 대상으로 기능을 활성화하려면 다음 명령을 사용합니다.


az aks create --resource-group myAKSCluster --name myAKSCluster --node-count 1--enable-addons monitoring --generate-ssh-keys 


이미 생성해 사용 중인 클러스터는 다음 명령을 씁니다.


az aks enable-addons -a monitoring -n MyExistingAKSCluster -g MyExistingAKSClusterRG 


참고로 ARM (Azure Resource Manager) 템플릿을 통해서도 컨테이너를 모니터링할 수 있습니다. 더 자세한 내용은 관련 문서를 참조 바랍니다. Azure Monitor for Containers에 대한 상세 정보로 관련 문서를 참조 바랍니다.



재해복구(DR) 비용 계산기 ~ 일단 비용부터 뽑아 보자

클라우드 운영 팁

클라우드 환경은 온프레미스보다 안정성이 높습니다. 하지만 어떤 일이건 100% 장담은 못 하죠. 만에 하나 있을 지도 모르는 장애 발생 시 시스템과 서비스는 중단되고, 이는 곧 비즈니스 피해로 이어집니다. 이런 일을 방지하기 위해 기업이 할 수 있는 '최선'은 재해복구(DR) 체계를 기반으로 복원성을 확보하는 것입니다. Azure 환경에서 운영하는 시스템 관련 DR 설정은 매우 간편합니다. 그렇다면 비용은 얼마나 들까요? 사실 이게 중요하죠. 관련해 Azure 환경에서 DR 구성을 했을 때 드는 비용 계산기를 소개합니다.


Azure 환경에 올려 운영하는 가상 머신의 경우 Azure Site Recovery(ASR)을 이용해 물리적으로 떨어진 리전에 해당 가상 머신을 지속해 복제하는 방식으로 DR을 구성할 수 있습니다. 그렇다면 비용은 어떻게 구성이 될까요? 크게 세 가지로 비용 요소를 뽑을 수 있습니다.

- 가상 머신당 ASR 라이선스 비용

- 네트워크 비용 (서로 다른 데이터센터 간 데이터 복제를 위해 소요되는 네트워크 자원 이용 비용, ASR은 압축 기능을 통해 60% 가까이 절감된 양의 데이터를 전송합니다)

- 복구 사이트에 배치한 스토리지 관련 비용 (원하는 수준의 RPO에 따라 비용이 달라질 수 있습니다)

일단 대략 넣어 보면 되는 것이 계산기의 장점 아니겠습니까. 일단 한번 현재 운영 중인 가상 머신 대상으로 계산을 뽑아 보시죠.

다음 예는 쓰리 티어 애플리케이션을 6개의 가상 머신을 사용해 운영하는 환경에 대한 것입니다. 6개의 가상 머신에 12개의 스탠다드 SSD 디스크와 6개의 프리미엄 HDD가 할당되어 있는 것을 가정합니다. 따라서 DR 리전에도 18개의 디스크가 배치됩니다. 그리고 매일 20GB의 데이터가 변경되며, 압축을 통해 10GB 정도의 데이터가 DR 리전으로 복제되는 것을 가정하였습니다. 그리고 복구 목표 시간은 24시간 기준으로 잡은 것에 대한 비용 계산입니다.


참고로 ASR을 통해 복제가 이루어질 때 압축 비율은 대략 50% 내외입니다.

Azure 머신에 대한 DR 구성에 대한 더 자세한 내용은 관련 문서를 참조 바랍니다.


파이썬 웹 앱 배포와 운영까지 지원하는 ~ Azure App Service

플랫폼

Azure App Service on Linux를 사용 중이라면? 앞으로 파이썬 웹 앱을 더 간편하게 애저에서 쓸 수 있게 됩니다. 퍼블릭 프리뷰 단계이긴 하지만 Azure App Service의 네이티브 파이썬 지원이 발표되었습니다. 앞으로 리눅스 운영체계 기반의 매니지드 서비스 환경에서 파이썬 웹 앱을 배포해 운영하면 되는 간편함과 편리함을 누릴 수 있게 될 전망입니다. 


프리뷰로 공개된 런타임에 다양한 소프트웨어 스택을 추가해 쓸 수 있는데요 현재 Node.js, NET Core, PHP, Java SE, Tomcat, Ruby를 올릴 수 있습니다. 더불어 파이썬 개발자는 버전 선택지가 2.7, 3.6, 3.7 정도 됩니다. 개발해 놓은 또는 개발할 앱의 파이썬 버전에 맞게 클라우드에 배포하면 됩니다. 

참고로 맥OS, 리눅스, 윈도우에서 사용할 수 있는 오픈 소스 기반 에디터인 Visual Studio Code를 쓸 경우 라이브로 애플리케이션 배포와 디버깅이 가능하다고 합니다. 또한, 빌트인 이미지를 이용할 경우 파이썬 개발자는 자신만의 커스텀 도커 컨테이너를 사용해 애플리케이션을 배포할 수도 있습니다. 

본 포스팅에 소개된 내용 관련 튜토리얼 영상이 4편 정도 나와 있는데, 관심 있는 분은 한번 보면 도움이 될 것 같네요. 




Azure가 제공하는 든든한 재해복구 옵션

클라우드 운영 팁

최근 IT와 통신 업계를 깜짝 놀라게 한 대형 장애가 일어났죠. 관련해 부랴부랴 재해복구 전략과 계획을 되짚어 보는 곳이 요즘 많습니다. 장애나 재해는 남의 일로 봐서는 안되죠. 관련해 Azure를 쓰는 조직을 위해 애저 가상 머신을 물리적으로 떨어진 다른 리전에 복제하는 간단한 재해복구 방식을 소개합니다. 

Azure 가용성 영역(Azure Availability Zone)을 들어봤을 것입니다. 애저 리전 내에는 물리적으로 네트워크, 공조, 전력 등이 독립적으로 운영되는 가용성 영역이 있습니다. 데이터센터 장애에서 중요 애플리케이션과 서비스를 보호하기 위해 하나 이상의 데이터센터로 가용성 영역이 구성되어 있습니다. 

이를 잘 활용하면 여러 리전에 걸쳐 중요 가상 머신에 대한 재해복구 및 서비스 연속성 보장 계획 수립을 손쉽게 할 수 있습니다. 물리적으로 떨어진 곳에 가상 머신들을 올려 두기 때문에 특정 데이터센터 장애가 서비스 중단이라는 최악의 사태까지 가지 않게 하는 것이죠. 각 가상 머신이 있는 곳은 위치도 다르고, 가상 네트워크도 다릅니다. 각 사이트에는 로드밸런서가 배치되어 있는데, 이를 통해 성능 저하 없이 지속적인 복제가 이루어집니다. 재해복구 계획을 온프레미스에서 수립하는 것과 크게 차이가 없습니다. 실시간 복제는 통해 물리적으로 떨어진 곳에서 동일한 시스템이 올라와 있는 상태로 어느 한쪽에 장애가 발생해도 서비스는 계속 이루어집니다. 

다시 본론으로 돌아와 Azure 가용성 영역을 이용한 재해복구 설정을 살펴보죠. 최근 마이크로소프트는 친절하게도 Azure Site Recovery (ASR)를 사용해 운영 중인 가상 머신을 다른 가용성 영역에 간단히 배포할 수 있는 기능을 공개했습니다. Azure 가용성 영역을 지원하는 국가에서 이용 가능합니다. 


재해복구를 위해 가상 머신을 Azure 가용성 영역에 두는 것은 간단합니다. 고가용성 보장이 필요한 가상 머신을 선택한 다음 'Disaster Recovery'를 선택한 다음 'target region'을 지정하고 'Enable replication'으로 설정하면 끝입니다. 일단 현재 운영 중인 가상 머신 중에 미션 크리티컬한 애플리케이션이나 서비스가 있다면 보험 드는 마음으로 Azure 가용성 영역에 가상 머신을 배포하는 것이 어떨까 싶네요. 




Azure Database for MariaDB 등장! 오픈 소스 데이터베이스 매니지드 서비스 대유행

Database

MariaDB 이제 애저에서도 매니지드로 이용할 수 있습니다. Azure Database for MariaDB의 SLA가 99.99%라 하니 믿고 써도 불안하지 않을 듯싶네요. 마이크로소프트에 따르면 현재 MariaDB 기반으로 운영하는 애플리케이션을 아주 간단히 짚어 올려 옮기듯(lift-and-shift) 방식으로 애저에서 운영할 수 있다고 합니다. 이거 해봐야 얼마나 쉬운지 알 것 같고요, 매니지드 서비스라 기본적인 운영과 보안에 대해 신경 쓸 일은 확실히 줄어들 것 같습니다. 

요즘 분위기는 클라우드 사업자 간에 우리가 지원하는 오픈 소스 데이터베이스가 이렇게 많아요! 이런 식의 신경전을 벌이는 것 같습니다. 오픈 소스 데이터베이스는 매니지드 서비스로 제공하는 것이 유행인데요, 사용자 입장에서 나쁠 것 하나 없을 듯합니다. 

MariaDB 등 오픈 소스 데이터베이스는 보통 복제 기반의 고가용성 구성을 합니다. 관련해 매니지드 서비스로 골라 쓸 것이 많다면 하이브리드 구성의 유연성을 기업이 갖추는 데 유리해 보이네요. 가령 마스터 인스턴스는 사내에 두는 구성을 하면서 유연하게 클라우드를 쓰는 것이죠. 

그렇다면 Azure Database for MariaDB는 어떤 용도에 어울릴까요? 몇 가지를 예제 시나리오를 마이크로소프트가 소개하고 있는데 간단히 살펴보겠습니다. 

첫 번째는 인텔리전트 앱입니다. 머신 러닝 알고리즘이 적용된 첨단 애플리케이션으로 데이터 분석과 시각화 도구까지 긴밀히 통합해 쓰는 시나리오입니다. 대략 다음과 같이 설계할 수 있습니다.


다음 예는 소매 및 전자상거래 사이트입니다. 이런 성격의 사이트는 보안성과 확장성이 매우 중요하죠. 특히 블랙프라이데이로 상징되는 연말연시 특수를 맞이할 때는 서비스 지연 없이 폭주하는 주문을 감당해야 합니다.

모바일 앱 운영에도 Azure Database for MariaDB가 잘 어울리는데요, 크로스 플랫폼 지원을 기본으로 모바일 앱 운영을 하는 경우 다음과 같은 구성을 고려해 볼 수 있습니다. 

개인화에 따른 맞춤형 디지털 마케팅을 하는 조직의 경우 캠페인 랜딩 페이지 제작을 자주 하는데요, 너무 훌륭한 기획이라 사이트 폭주가 예상된다면? 클라우드로 다음과 같이 대비책을 세울 수 있습니다. 

게임을 빼놓으면 섭섭하죠. 게임처럼 역동적으로 운영되는 서비스도 드물 것입니다. 게임 업계에서 Azure Database for MariaDB를 쓸 때 대략 이 정도 구성을 생각해 볼 수 있을 듯합니다. 




Azure SQL Data Warehouse ~ 클라우드 기반 DW 시장 불꽃 튀는 경쟁 시대

Database

요즘 클라우드 기반 데이터웨어하우스(DW) 시장 분위기가 심상치 않습니다. 클라우드 선두 주자들이 각자 기술 역량을 총동원해 자동화 기반의 경제적이고, 성능 좋은 DW 서비스의 장점을 알리느라 바쁩니다. 

마이크로소프트의 무기는 Azure SQL Data Warehouse입니다. 성능이야 뭐 TPC-H, TPC-DS 등의 벤치마크를 통해 검증되었죠. 사용 기업도 늘고 있는 추세인데요, 포춘 1000대 기업에 속하는 Anheuser Busch InBev, Thomson Reuters, ThyssenKrupp 등에서 쓰고 있다고 합니다. 

Azure SQL Data Warehouse는 2018년 4월 Gen2 버전이 발표되면서 관심을 끌기 시작했습니다. Gen2의 주요 특징은 다음과 같이 세 가지로 압축할 수 있습니다. 


첫 번째 특징은 워크로드 관리 기능 개선은 간단히 중요한 워크로드에 더 많은 자원을 유연하게 주는 것입니다. 하나의 Azure SQL Data Warehouse 상에 여러 워크로드를 돌릴 때 중요 워크로드의 쿼리 성능이 떨어지지 않게 관리하기 좋죠. 이를 위해 Workload Importance라는 기능이 추가되었는데요, 추가 요금은 없답니다. 

Azure SQL Data Warehouse의 보안 기능(RLS: row-level security)가 대폭 강화되었습니다. 강력한 접근 제어를 위해 Azure Active Directory와 통합을 기반으로 한 사용자 계정과 접근 권한을 관리합니다. 중앙 집중적인 보안 정책 적용이 수월해진 것이죠. 이게 끝이 아닙니다. 네트워크 보안, 위협 탐지, 데이터 암호화 외에 각종 규제 준수에 필요한 것도 기본으로 제공됩니다. 

Azure SQL Data Warehouse는 관리자와 개발자 모두의 업무 편의를 위한 도구를 두루 구비하고 있습니다. 몇 가지 도구를 소개하겠습니다. 기본적으로 Azure SQL Data Warehouse는 Azure Advisor, Azure Monitor와 통합되어 있습니다. 따라서 DW 성능 이슈가 생기면 어디가 문제인지 빠르게 찾을 수 있습니다. 

또한 Azure Portal에서 데이터베이스 스키마 최적화를 위한 튜닝 작업을 간편하게 할 수 있어 DW 성능 전반에 대한 관리가 편합니다. 이 밖에도 SQL Server에 제공되던 Query Store 기능도 사용이 가능해서 쿼리 성능 이슈를 개발자 측면에서 바라보고 해결하기 편합니다. 

개발자 이야기가 나왔으니 Visual Studio for SQL Data Warehouse에 프리뷰로 포함된 SSDT(SQL Server Data Tool)도 살펴봐야겠죠. 이 기능은 테스트 자동화, 지속적 통합(CI) 기반으로 DW 배포를 간소화합니다. 고가용성 이것도 빼놓으면 서운하죠. Azure SQL Data Warehouse는 ADR(Accelerated Databse Recovery) 기능을 지원하므로 만에 하나 장애가 발생해도 신속한 복구가 가능합니다. 

DW는 분석 도구와 짝을 이루어 봐야죠. Azure SQL Data Warehouse의 분석 도구 강력한 조합을 제공합니다. Azure Databricks, Azure Data Factory, Power BI 등 필요에 맞는 도구를 가지고 데이터에서 필요한 통찰력을 끌어내기 좋은 환경입니다. 


OSS DB on Azure: 오라클 호환성을 통한 비용 효과 극대화 - Replacing Oracle with EDB Postgres

Database

Open Source DB on Azure 세션 정리 시리즈 2탄 '오라클 호환성을 통한 비용 효과 극대화 - Replacing Oracle with EDB Postgres'를 발표한 김지훈 이사의 세션 요약입니다. 

김지훈 이사는 발표와 함께 오픈 소스 데이터베이스(DB)의 현주소를 짚어 보았습니다. 대략 10년 전과 지금을 비교할 때 오픈 소스 DB는 괄목할 만한 성장을 했습니다. 가트너의 평가를 보면 10년 사이 변화가 드라마틱 합니다. 오픈 소스의 장점은 충분히 인정하지만 엔터프라이즈가 요구하는 고가용성, 기능성 등을 충족하지 못한다는 것이 2000년대 오픈 소스 DB에 대한 평가였다면 지금은 결과가 180도 다릅니다. 2015년 기준의 가트너 평가를 보시죠. 엔터프라이즈에서 오픈 소스 DB를 쓰는 데 있어 더 이상 이유를 댈 수 없을 정도가 되었습니다. 

가트너의 전망은 오픈 소스 DB가 엔터프라이즈 시장에서 전성기를 맞이하고 있다는 것을 보여 줍니다. 가트너는 2022년까지 신규 개발 애플리케이션의 70% 이상이 오픈 소스 DB를 기반으로 할 것으로 내다봤습니다. 사실 이런 변화는 우리 주변에서 쉽게 볼 수 있죠. 초기 도입과 유지 보수 비용에 지친 기업들이 하나둘 상용 DB 자리를 오픈 소스 DB로 바꾸고 있는 것은 기정사실이 되고 있습니다. 

최근 상용 DB 전환 관련 대형 프로젝트 현장에서 눈부신 활약을 하는 오픈 소스 DB는 Postgre SQL, Maria DB 등이 있죠. 이중 김지훈 이사기 몸담고 있는 EDB Postgres는 이미 KT 등 굵직한 레퍼런스가 많습니다. 혹시 EDB Postgres가 낯선 분들을 위해 간단히 소개하자면, 이 기업은 100% 오픈 소스 Postgres 기반에서 오라클에서 사용하던 구문을 그대로 쓸 있는 플랫폼과 엔터프라이즈 수준의 기술 지원을 제공하고 있습니다. KT 같은 통신사에서 오라클 DB 대신 Postgre SQL을 선택할 수 있었던 것도 다 EDB Postgres 플랫폼이 제공하는 오라클 같은 환경이 주는 편리함 때문이라 볼 수 있습니다. 

대부분 개발자는 오라클에 익숙합니다. 그러다 보니 오픈 소스 DB를 적용할 경우 기간 내에 프로젝트가 마무리되지 않아 비용이 늘어나는 일들이 발생할 수 있습니다. 오라클로 하면 쉽게 끝날 일이 어렵게 되는 것이죠. 오라클 구문을 그대로 쓸 수 있다면? 네, EDB Postgres는 오라클 쓰듯이 개발자가 오픈 소스 DB를 사용할 수 있게 합니다. 
- 김지훈 이사



실제로 EDB Postgres의 호환성 보장 범위는 상당히 넓습니다. 그냥 오라클 쓰듯이 Postgres SQL을 쓰면 된다는 말이 과장된 표현, 절대 과장이 아니네요. 세션을 듣다 흥미로운 부분이 있었는데, 바로 EDB 마이그레이션 포탈에 대한 것이었습니다. 오라클 DB를 EDB Postgres로 전환할 때 사전에 호환성을 진단할 때 쓰는 온라인 기반 서비스인데요, 보통 툴을 제공하는 것과 비교해 차이가 좀 나죠. 그 이유는 바로 알 수 있었습니다. EDB 마이그레이션 포탈은 단순한 호환성 검증 서비스가 아닙니다. 이 서비스는 다양한 기업의 마이그레이션 관련 평가를 하면서 데이터 세트를 쌓아 갑니다. 그리고 여기에 머신 러닝을 적용해 호환성 평가를 더욱 정밀하게 지속해서 가다듬습니다. 



EDB Postgres는 앞서 소개한 바와 같이 Postgres SQL 커뮤니티 버전과 발맞춰 갑니다. Postgres SQL이 제공하는 이점은 모두 수용하고, 오픈 소스가 갖는 개방성과 호환성도 유지합니다. 참고로 마이크로소프트 애저 환경의 경우 필요에 맞게 EDB Postgres나 Postgres SQL 커뮤니티 버전을 사용할 수 있습니다. EDB Postgres는 멀티 클라우드 전략을 선호하는 기업을 위해 EDB Postgres Ark라는 DBaaS 하이브리드 클라우드 관리 콘솔을 제공합니다. 복제 기반으로 다양한 위치에 Postgres SQL을 두고 운영하기 좋을 듯합니다.


세션 후반부는 고객 사례 발표가 있었습니다. 사정상 실명을 밝힐 수 없는 고객도 많았는데, 세션을 들어 보니 대략 국내 대기업 중 어디인지 감이 왔습니다. KT의 경우 언론 보도도 많이 된 대표 사례인데요, 오라클 DB 대체 효과가 어마어마합니다. 주요 언론에 보도된 내용에 따르면 5년 정도 EDB Postgres 쓴 결과 오라클 DB 대비 2천억 원 정도 비용 절감이 있었다고 하니 오픈 소스 DB 전환 효과가 대단하네요. 

한편 국내 주요 사례를 업무 유형에 따라 구분해 보면 다음과 같습니다. 김지훈 이사는 구체적인 고객 사례를 예로 들어 설명했는데, 온라인상에 실명 공개를 할 수 없는 관계로 업무 적용 유형만 알려 드립니다. 상세 내용이 들어 있는 발표 자료가 필요하다면 락플레이스로 문의 바랍니다. (msbiz@rockplace.co.kr) 




OSS DB on Azure: MySQL의 성능은 어디까지?

Database

Open Source DB on Azure 세미나 세션 정리 시리즈를 시작합니다. 번째 포스팅은마이크로소프트 애저(Azure)에서 경험하는 MySQL 성능 튜닝 주제로 발표한 락플레이스 김근동 이사의 세션입니다. 


오픈 소스 DB 대세론 


오픈 소스 관계형 데이터베이스(이하 오픈 소스 DB) 클라우드에서 쓰는 것만큼 자연스러운 것이 어디 있을까요. 사실 오픈 소스 DB 온프레미스, 클라우드 가를 없이 쾌속 성장 중입니다. 


오픈 소스 DB 성장에는 그만한 이유가 있습니다. 높아져만 가는 상용 DB 무자비한 라이선스와 유지보수 계약에 지친 기업이 대안으로 선택할 만큼 성능, 기능, 안정성, 보안성을 보장하기 때문이죠. 실제로 많은 기업이 신규 애플리케이션 개발 70% 이상을 오픈 소스 DB 기반으로 작업합니다. 오랜 기간 오픈 DB 상징 역할을 것은 MySQL이죠. 요즘에는 PostgreSQL MariaDB 폭풍 성장을 하고 있습니다. 




Cloud + OSS DB = ‘지금껏 없던 편리함 


김근동 이사는 많은 이들이 궁금해하는 커뮤니티 버전과 엔터프라이즈 버전의 차이를 설명하면서 세션을 시작했습니다. 간의 차이는 SLA에서 납니다. 성능과 안정성 기술 측면에서는 대동소이하고, 보안성의 경우 오히려 커뮤니티 버전의 대응이 빠르다고 합니다. 미국방성의 평가에 따르면 커뮤니티 버전이 보안 취약점이 적고, 취약점 발견 대응 속도가 빠릅니다. 오픈 소스가 상용 소프트웨어보다 제로 데이 공격 시대 보안 취약성 대응에 유리하다는 것은 상식과도 같은데 친절하게 미국방성에서 평가까지 해주었네요. 


번째로 사람들이 궁금해하는 것은? , 클라우드에서 오픈 소스 DB 사용하는 것은 편하다? 김근동 이사의 설명에 따르면 IaaS 환경은 설치, 구성, 튜닝 평소와 같이 일이 많다고 합니다. 진짜 클라우드의 이점을 누릴 있는 것은 PaaS입니다. 데이터 이관 작업을 제외하면 5~10 이내 DB 배포할 있습니다. 영어로 ‘On the fly’라고 표현할 하네요. 


애저의 경우 매니지드 기반의 PaaS 서비스가 제공됩니다. 목적과 요구에 따라 오픈 소스 DB 선택해 클릭 번으로 배포하면 됩니다.  



김근동 이사는 애저에서 오픈 소스 DB 이점으로 커뮤니티 버전을 그대로 사용할 있다는 것을 꼽았습니다. 자바, PHP, 파이썬 어떤 개발 언어를 사용하건 오픈 소스 생태계가 제공하는 일관성 있는 개발 환경, 플랫폼 측면의 기능 개선을 고스란히 누릴 있기 때문이죠. 


"많은 분들이 오픈 소스 DB 사용에 대해 애저와 AWS를 많이 비교하는데요, 플랫폼 수준에서 제공하는 배포, 관리, 모니터링 등 접근 방식에 차이가 납니다. 애저는 환벽하게 관리되는 PaaS를 제공하죠. 애저가 오픈 소스 DB 관련 PaaS 부문에서 독보적인 시장 점유율을 차지하는 이유를 여기서 찾을 수 있습니다."


애저의 오픈 소스 DB 서비스가 장점은 보안, 고가용성 보장, 확장과 축소, 백업과 복구, 모니터링 보안 경보, 복제, 마이그레이션 다양합니다. 이중 세미나 참석자들의 눈이 반짝였던 주요 포인트를 짚어 보았습니다. 




먼저 고가용성 보장의 경우 애저 기반 오픈 소스 DB 서비스의 장점은 비용입니다. 추가 복제본 없이 고가용성을 보장하다 보니 자연스럽게 TCO 낮죠. 장애 자동으로 페일오버가 되는 것은 물론 가능합니다. 참고로 상용 DB 경우 업체마다 고유의 HA 구성 방안을 제시합니다. 반면에 오픈 소스 DB 대부분 복제 기반의 HA 구성을 합니다. 애저는 구성의 묘를 살려 고객의 TCO 낮추었습니다. 김근동 이사는 같은 고가용성 보장에 대한 SLA 기준으로 애저의 오픈 소스 DB 서비스의 비용이 경쟁사 대비 2 정도 낮다고 귀띔했습니다. 




확장성도 애저만의 장점이 있습니다. 초면 서버 규모를 키울 있습니다. 복제 관련해 추가로 이야기하자면 각종 장애나 재난에 대비하기 위한 데이터 보호(Data Protection) 측면에서 애저는 매우 유연한 옵션을 제공합니다. 필요에 따라 백업을 로컬에 받거나, 다른 리전에 받거나, 다른 클라우드 사업자의 스토리지에 받을 수도 있습니다. 이런 유연성으로 데이터 보호 외에 시스템 무중단 또는 최소 중단 이전 또는 데이터 분석 관련 부하 분산을 목적으로 애저의 서비스를 이용하기 좋습니다. 참고로 애저의 경우 복제 옵션이 다양합니다. 최대 5개의 복제 포인트를 지정할 있으며, 이상이 필요할 경우 IaaS 혼용해 구성하면 됩니다. 


밖에 모니터링과 얼럿(Alert) 경우 오픈 소스 DB 기본적으로 제공하는 기능이지만 애저는 이를 한데 모아 보기 편하게 해줍니다. 쿼리 성능을 살피고, 병목 구간이 어디인지 찾아 문제를 해결하는 있어 그만큼 편리하겠죠. 


MySQL 튜닝  


애저 환경이 갖는 특징 소개를 마친 다음 김근동 이사는 MySQL 튜닝으로 주제를 옮겼습니다. 최근 오픈 소스 DB 튜닝에 대한 시장의 요구가 많아지고 있다고 합니다. 오픈 소스 DB 그만큼 많은 곳에, 중요하게 규모로 쓰는 곳이 늘고 있다는 반증이겠죠? 오픈 소스 DB 튜닝에 따라 성능 차이가 극과 극으로 나뉜다고 합니다. 김근동 이사는 MySQL 튜닝 포인트로 하드웨어/메모리, 스토리지 엔진, MySQL 서버 최적화, 쿼리 최적화, 스키마 리뷰를 제시했습니다. 여기에 덧붙여 오픈 소스 DB마다 특징에 맞게 튜닝 포인트를 잡는 것이 중요하다고 설명했습니다. 이후 간단한 튜닝 데모를 소개한 세션을 마무리했습니다. 


혹시 세션 발표 자료 전체 내용이 필요하신 분은 msbiz@rockplace.co.kr 로 요청해 주시면 감사하겠습니다. 

Azure Storage를 위한 든든한 보안 장치 ~ 위협 보호(Advanced Threat Protection) 기능 추가 [출처] Azure Storage를 위한 든든한 보안 장치 ~ 위협 보호(Advanced Threat Protection) 기능 추가|작성자 OpenSource on Azure

분류없음

클라우드 스토리지를 쓸 때마다 '보안'이 조금이라도 걱정되었다면, 이번에 프리뷰 버전으로 소개된 애저 스토리지(Azure Storage)를 위한 위협 보호(Advanced Threat Protection) 기능이 마음에 평화를 가져올 것입니다. 일단 한번 써봐야 할 것 같은 기능이네요. 

이번에 소개된 위협 보호 기능은 애저 스토리지 계정의 비이상적인 행위를 탐지하고 이를 관리자에게 알려줍니다. 왜 이제야 나왔는지 모르겠네요. 보통 클라우드 상에 이런저런 시스템을 올리다 보면 스토리지 계정이 많아지게 됩니다. 중앙 집중적으로 잘 관리하는 곳도 있겠지만, 그렇지 않고 개발자가 현업 부서에서 개별적으로 만들어 쓰는 경우는 스토리지 계정을 철저하게 관리하기 어렵습니다. 

이런 경우 계정 탈취 등의 수단을 통해 해커나 악의를 품은 내부 사용자가 특정 클라우드 스토리지에 접근하여 데이터를 탈취하거나, 조작하고자 할 때 무슨 일이 일어나고 있는지 모르고 넘어가기 쉽습니다. 클라우드 스토리지 계정이 관리의 사각지대인 놓인 섀도 IT(Shadow IT)가 되지 않게 하려면 적절한 도구와 정책이 필요합니다. 

이번에 소개된 위협 보호(Advanced Threat Protection) 기능은 이런 측면에서 매우 중요한 도구라 할 수 있습니다. 이 기능을 활성화하면 클라우드 스토리지 접근에 대한 이상 행위를 사전에 탐지할 수 있습니다. 데이터 침해나 유출 시도가 있다고 판단되면 경보(alert) 이메일을 관리자에게 보내어 대응에 필요한 정보를 제공합니다. 


애저 시큐리티 센터(Azure Security Center)를 사용 중이라면 해당 경보를 단일 창구로 모아 볼 수 있어 더 신속하고 효율적인 대응이 가능합니다.  시큐리티 센터 화면에서도 다음과 같이 경보를 볼 수 있습니다. 


이 기능을 활성화해보죠. 애저 포탈(Azure Portal)을 띄우고 나서 애저 스토리지 계정에 대한 설정 페이지로 갑니다. 여기서 'Advanced Threat Protection' 기능을 키고 나서 'Save' 버튼을 누르면 됩니다. 스위치 키고 끄듯이 간단하게 적용이 되죠. 이런 기능은 정식 출시될 때까지 기다리지 말로 프리뷰 때부터 바로바로 써야 됩니다! 



Azure HDInsight를 위한 막강한 디버깅 툴 등장

분류없음

Azure HDInsight 사용자를 위한 디버깅 기능이 Spark History Server에 추가되었습니다. Spark History Server 화면에 들어가 보면 Graph와 Data라는 새로운 탭이 바로 새로 보강된 기능들입니다. 

Graph와 Data 기능은 마이크로소프트가 Cosmos 클러스터를 운영하면서 겪은 현장의 운영 경험을 바탕으로 만든 기능입니다. 간단히 말해 성능 관련 디버깅을 어떻게 하면 더 쉽게 할 수 있을까? 고민하다 만든 기능입니다. 현재 퍼블릭 프리뷰 단계이며, 공식 발표될 때에는 아마 기능이 더 개선되거나 추가되지 않을까 예상합니다. 

간단히 살펴보시죠. Spark History Server는 애저 포탈에서 스파크 클러스터를 선택한 다음, 클러스터 대시보드를 통해 들어갈 수 있습니다. Graph와 Data 각각 어떤 기능인지 살펴보겠습니다. 

먼저 Graph 탭을 누르면 Spark 잡(Job) 실행에 관련된 다양한 정보를 볼 수 있습니다. 스파크 애플리케이션의 각 실행 단계별 데이터 입력과 출력에 대한 상세 내용을 볼 수 있습니다. 스파크 개발자는 잡 진행 과정을 다시 되돌려 보면서 데이터 읽기와 쓰기 작업이 어떻게 진행되었는지 볼 수 있습니다.


또한, 데이터 읽기와 쓰기 관련 히트맵 보기도 지원합니다. 따라서 스파크 애플리케이션의 성능이 좀 이상해 보인다 싶으면 병목 구간이 어디인지 짚어 내기 쉽습니다. 


다음으로 Data 탭을 살펴보겠습니다. 이 탭 화면에서 스파크 개발자와 데이터 과학자가 디버깅을 위한 목적으로 스파크 잡 관련 데이터에 대한 프리뷰, 다운로드, 복사, CSV 파일로 내보내기 등의 작업을 간단하게 할 수 있습니다. Hive 메타 데이터 보기도 지원하여 스파크 잡 관련 성능 문제 해결을 위한 잡 분석 작업을 더 수월하게 할 수 있습니다. 




락플레이스 웨비나 '컨테이너에 대한 이해와 클라우드 환경에서 컨테이너 적용 사례 '

Azure 소식

락플레이스의 웨비나 '컨테이너에 대한 이해와 클라우드 환경에서 컨테이너 적용 사례 '가 9월 11일 16시에 시작합니다. 
지금 바로 사전등록 하세요!

지금 사전등록 하시면 좋은 이유 3가지

1. 생방송 당일 1시간 전부터 PC나 모바일로 편하게 참여할 수 있습니다. (당일 메일 및 문자 알림 서비스 제공)
2. 웨비나 라이브 채팅창에 참여하셔서 궁금한 점에 대한 즉각적인 답변을 얻으실 수 있습니다.
3. 참여를 놓치시더라도 영상과 발표자료를 제공합니다.

 


[무료 세미나]9/6(목)14시Rockplace Open Day -'오픈소스 활용을 위한 최적의 플랫폼 활용전략'

Azure 소식


오픈소스 클라우드 전문회사인 락플레이스는 마이크로소프트와 레드햇과 함께 <Rockplace Open Day> 공동 세미나를 진행한다고 합니다. 

현재 사전등록 진행중이니 많은 참여하셔서 유익한 정보 얻어가시길 바랍니다. 

일시 : 2018년 9월 6일(목) 14:00~17:00

장소 : 마이크로소프트 본사 11층 




HDInsight 클러스터 환경에서 운영하는 아파치 피닉스 ~ 이제 제플린 노트북으로 사용할 수 있다!

Database

아파치 피닉스(Apache Phoenix)는 HBase 기반의 대규모 병렬 관계형 데이터베이스로 OLPT나 분석 워크로드 처리에 쓰입니다. 아파치 피닉스 운영 환경으로 궁합이 참 잘 맞는 것이 애저의 HD인사이트(HDInsight)입니다. 그 이유는 4개 정도로 압축할 수 있습니다. 


1) 아파치 피닉스 클러스터 생성의 간함
애저 환경에서 아파치 HBase나 피닉스 기반 워크로드 운영을 위한 클러스터를 생성하는 데 필요한 시간은? 몇 분이면 충분합니다. 애저 포탈을 통해 간편하게 만들 수 있습니다. 클러스터를 자주 만들어야 한다면 JSON 템플릿, 파워쉘, REST API, 애저 클라이언트 SDK를 통해 클러스터 생성 과정을 자동화할 수도 있습니다. 

2) 필요한 때만 쓰는 경제성 높은 클러스터 
HD인사이트에서 아파치 피닉스를 쓴다는 것은 곧 필요할 때만 클러스터를 운영할 수 있다는 것을 뜻합니다. 읽기/쓰기 작업을 더 이상 하지 않을 경우 클러스터를 삭제하면 됩니다. 데이터를 저장하는 데에만 비용이 듭니다. 클러스터는 필요한 때만 생성해 사용하면 됩니다. 

3) 관리 부담 제로 
직접 구축해 운영하는 클러스터 환경은 손이 많이 갑니다. 반대로 HD인사이트는 손 갈 일이 없습니다.  설정, 패치, 업그레이드, 유지보수는 마이크로소프트가 알아서 합니다. 99.9%의 SLA를 보장하므로 직접 운영하는 것보다 안정성이 더 뛰어납니다. 물론 클러스터 운영을 맡긴다고 해서 원하는 튜닝을 못하는 것은 아닙니다. 추가 설치를 원하는 컴포넌트가 있다면 옵션을 통해 더할 수 있습니다. 

4) 안전성, 신뢰성, 보안성 강화 
HD인사이트 환경에서 피닉스를 사용하면 엔터프라이즈 수준의 안정성과 보안성 확보가 가능합니다. 피닉스 클러스터는 사설 가상 네트워크를 통해 운영됩니다. 또한, 애저 인프라가 제공하는 고가용성과 재해복구 기능을 통해 서비스 중단 걱정도 없습니다. 각종 규제 준수 역시 애저가 인프라 수준에서 철저하게 따르기 때문에 한결 부담이 덜 합니다. 

다시 본론으로 돌아와서 최근 HD인사이트 팀에서 반가운 소식을 하나 발표했습니다. HD인사이트 환경에서 운영하는 아파치 피닉스가 제플린 노트북을 지원한다는 것입니다. 

아파치 제플린 노트북을 사용하는 HD인사이트 사용자는 이제 피닉스 테이블에 쿼리를 날릴 수 있습니다. HD인사이트 환경에 이미 제플린 노트북이 통합되어 있어 따로 뭔가 하지 않고 바로 사용하면 됩니다. 다음 그림과 같이 제플린 노트북을 열고 피닉스 SQL 쿼리를 작성하면 됩니다. 참고로 JDBC 인터프리터를 지원하는 제플린을 써야 합니다. 







Azure Automation, 이제 한국 리전에서도 이용 가능

OpenDev

애저 오토메이션(Azure Automation) 이용 가능 리전에 드디어 한국이 포함됩니다. 
이 서비스는 이름에 기능이 다 나와 있습니다. 네, 하이브리드 클라우드 관리 자동화 서비스인데요 크게 다섯 가지 정도로 기능을 요약할 수 있습니다. 



프로세스 자동화 기능은 프로세스 구성과 관리를 위해 쓰입니다. 관리자는 Runbook을 통해 파워쉘이나 파이썬을 이용해 관리 프로세스의 각 요소를 연계하는 워크플로우를 만들고, 프로세스 상에서 데이터가 어떻게 흘러가는지 시각화할 수 있습니다. 

구성 관리 기능을 이용하면 파워쉘 DSC(Desired State Configuration) 구성을 작성할 수 있고, DSC 리소스와 배포 대상 노드를 관리할 수 있습니다.  



업데이트 관리 기능을 이용하면 하이브리드 환경에서 윈도우와 리눅스 시스템을 간편하게 업데이트할 수 있습니다. 


공유 기능은 대규모 인프라를 더 효율적으로 구성하고 관리하기 위한 공통 기반인 역할 기반 액세스 제어, Runbook과 DSC 구성에 사용하는 변수, 자격 증명, 인증서, 연결 자산, Runbook 예약 일정, 원본 제어와의 통합, 파워쉘 모듈 등을 등을 공유할 수 있게 합니다. 

다른 유형을 제어하는 기능은 하이브리드 환경에서 윈도우와 리눅스 기반 시스템을 자동화 기반으로 관리할 수 있게 해주는 것입니다. 


매니지드 디스크, 이 편한 것으로 마이그레이션 하는 방법, Azure Portal에서 마우스 클릭 몇 번이면 됨!

클라우드 운영 팁

애저 매니지드 디스크(Azure Managed Disk), 들어 보셨나요? 이 서비스는 애저에서 생성한 가상 머신(VM)에 연결된 디스크에 대한 스토리지 계정을 관리해주는 서비스입니다. 

애저 VM을 생성하려면 VHD 파일을 담아 둘 스토리지 계정을 생성해야 합니다. VM이 몇 개 안된다면 불편할 것 없지만, VM 수가 많거나, VM 관련 성능이 모자라면? 참고로 언매니지드 디스크의 경우 계정당 2만 IOPS 제약이 있습니다. 이런 불편을 없애려고 나온 것이 매니지드 디스크입니다. 

매니지드 디스크를 이용하면 하나의 스토리지 구독 계정으로 5만 개의 VM을 생성할 수 있습니다. VM 만들 때마다, 성능 제한이 걸릴 때마다 계정을 만드는 불편이 없습니다. 관리자 눈에 비치는 가장 큰 효과는 애저에서 사용하는 디스크를 통합하고, 스냅샷과 이미지 리소스까지 중앙집중적으로 관리가 가능한 것이 아닐까 싶네요. 디스크, 스냅샷, 이미지에 대한 보안성도 높아집니다. RBAC(Azure Role Based Access Control)을 VM에 연결된 모든 디스크에 일관성 있게 적용하기 더 쉽습니다. 

이렇게 편한 매니지드 디스크로 이사 가는 손쉬운 방법이 생겼습니다. 마이크로소프트가 언매니지드 디스크를 매니지드 디스크로 바꾸는 초간단 마이그레이션 기능을 제공합니다. 관리자는 애저 포탈에 접속해 마우스 클릭 몇 번만 하면 됩니다. 파워쉘이나 CLI 스크립트를 쓸 이유가 없습니다. 

얼마나 쉬운지 화면 몇 개 보시죠. 현재 VM에 언매니지드 디스크를 사용한다고 가정하겠습니다. 애저 포탈에 들어가 VM 관련 정보를 보면 다음과 같이 현재 매니지드 디스크를 사용하고 있지 않으니, 마이그레이션을 하라는 친절한 설명 문구를 볼 수 있습니다. 



친절한 마이그레이션 안내 배너를 클릭하면 마이그레이션 블레이드가 뜹니다. 여기서 'Migrate' 버튼을 누릅니다. 


참고로 사용 중인 VM에 Availability Set 설정이 되어 있다면, 이 설정을 먼저 마이그레이션 하라는 안내가 뜹니다. 마이그레이션이 시작되면 다음과 같이 진행 상태를 알려주는 화면을 볼 수 있습니다. 


리소스 그룹 화면을 보면 다음과 같이 추가 디스크 리소스가 생성된 것을 볼 수 있습니다. 하나의 디스크에 VM에 연결된 모든 OS 및 데이터 저장소가 묶인 것이라 보면 됩니다. 



오늘 쪽 사이드바에서 Disk 아이템을 클릭하면 디스크에 대한 상세 정보를 볼 수 있습니다. 



GUI 보다 파워쉘이나 CLI가 좋다면? 네, 편한 방법으로 마이그레이션 하면 됩니다. 

파워쉘을 이용한 마이그레이션
CLI를 이용한 마이그레이션 

VM 비용 80% 낮추기 ~ 어렵지 않아요!

클라우드 운영 팁

가상 머신(VM) 비용, 클라우드를 좀 크게(?) 쓰면 월 비용이 만만치 않죠. 마른 걸레도 짜서 쓰는 정신으로 VM 비용을 낮추는 요령 하나 공유합니다. 

애저 어드바이저(Azure Advisor)라고 들어 보셨나요? 무료 서비스인데요, 무료라고 무시할 수 없는 막강한 기능을 제공합니다. 서비스 이름에 나와 있듯이 클라우드 쓰는 것과 관련해 이것저것 조언이 필요할 때! 이메일이나 전화 문의하기는 좀 뭐 한 문제를 풀어야 할 때! 부담 없이 쓰기 좋은 도우미 서비스입니다. 

애저 어드바이저는 애저 리소스를 최적화하여 비용을 줄이고, 성능을 높이고, 보안을 강화하고, 안정성을 높이는 데 필요한 조언을 해주는 서비스입니다. 


주제로 돌아와 VM 비용을 80% 줄이고 싶을 때 애저 어드바이저가 어떤 도움을 줄 수 있는지 소개하겠습니다. 

마이크로소프트는 고객의 비용 부담을 덜기 위한 VM 상품을 제공합니다. 애저 리저브드 인스턴스(Azure Reserved Instance, 이하 애저 RIs)가 바로 그 서비스인데요, 최대 비용을 80% 줄일 수 있는 절약형 상품입니다. 



이 서비스가 싼 이유는 약정을 걸기 때문입니다. 약정 기간은 1년과 3년입니다. 애저 RIs는 쓰기도 쉽습니다. 리전을 고르고, VM 유형을 선택한 다음, 약정 기간만 정하면 됩니다. 약정이 좋은 줄 알아도 함부로 계약하기 좀 뭐 할 때가 있습니다. 현재 클라우드에서 운영 중인 시스템 중 어떤 것을 약정으로 묶어야 할지 판단하기 어려울 수도 있죠. 

이런 때 애저 어드바이저를 쓰면 좋습니다. 애저 어드바이저는 최근 30일간의 VM 사용 현황을 분석해서, 애저 RIs로 전환하면 좋을 만한 것이 무엇인지 추천합니다. 그냥 단순히 어떤 VM을 RIs로 바꾸면 좋다 식은 단순한 추천이 아닙니다. 리전과 VM 크기를 이렇게 하면 대략 이 정도 비용 효과를 거둘 수 있다는 식으로 자세히 알려줍니다. 

VM을 많이 쓰고 있다면! 당장 애저 어드바이저에 접속해 '추천' 서비스를 좀 받아 보는 것이 좋을 것입니다.


애저 앱 서비스! Java SE 8 지원, 인프라 고민 없이 코드에 집중하기 좋은 세상

OpenDev

개발자를 위한 클라우드 서비스인 애저 앱 서비스(Azure App Service)가 Java SE 8을 지원합니다. 요즘 라이선스 이슈로 개발자 커뮤니티에서 시끄럽긴 하지만 일단 Java SE에 관심을 끊고 살 수는 없죠. 하여간 애저 앱 서비스 환경에서 Java SE 8 기반 앱을 개발하고 운영할 수 있다는 것은 좋은 소식이긴 합니다. 

현재 프리뷰 단계이긴 하지만 지금 바로 Java SE 8 기반 앱을 애저 앱 서비스에 올릴 수 있습니다. 현재 리눅스 상에서 운영하는 것만 지원되는 데요 정식 출시되면 윈도우 서버에서도 이용할 수 있을 것으로 예상합니다. 

Java SE 8 기반 앱을 개발해 둔 것이 있다면 일단 한번 올려 보시죠. 없다면 샘플 코드라도 올려 보시죠. 클라우드 스케일의 확장성을 제공하는 인프라, 스스로 패치를 하는 웹 호스팅 서비스 환경의 이점은 생각보다 큽니다. 자바 개발자가 왜 편해지는지 6가지로 이유를 풀어 보겠습니다. 

(1) 매니지드 서비스 기반 엔터프라이즈 플랫폼: 로그 수집, 이메일 통보, 애저 포탈을 통한 통보, 자동 패치 등 개발자가 인프라에 신경 쓰지 않도록 상당한 수준의 관리를 마이크로소프트가 대신합니다. 

(2) 성능 모니터링: APM 기능이 포함되어 있어서 클라우드에 올린 자바 앱의 성능을 지속해서 살필 수 있습니다. 

(3) 글로벌 수준의 확장과 고가용성 보장: 99.95% 수준의 업타임을 보장하며, 확장의 경우 오토스케일링을 이용하거나 매뉴얼 방식으로 직접 할 수 있습니다. 확장은 마이크로소프트 데이터센터가 위치한 세계 곳곳의 센터를 대상으로 할 수 있습니다. 

(4) 보안과 규제 준수: ISO, SOC, PCI DSS, GDPR 등 각종 규제 준수도 그저 믿고 맡기면 됩니다. 패치 작업 등도 마이크로소프트가 하기 때문에 보안 걱정도 덜 수 있습니다. 

(5) 사용자 인증: 애저 액티브 디렉토리 기반 인증 서비스가 기본으로 제공됩니다. 따라서 역할 기반 접근 제어(RBAC) 정책을 토대로 IP 주소를 통제하고 관리할 수 있습니다. 

(6) CI/CD 지원: 지속적 통합과 배포 기반의 자동화 역시 간편히 이용할 수 있습니다. 메이븐, 젠킨스, 비주얼 스튜디오 팀 서비스 등이 지원될 예정입니다. 

실습 간단히 해보시죠. 작성한 코드가 있다면 해당 앱을 올려 보면 되고, 없다면 다음과 같이 샘플 코드를 불러와 실습하면 됩니다. 

$ git clone https://github.com/spring-projects/spring-petclinic.git


다음에 할 일은 애저 웹 앱에 메이븐 플러그인을 적용하는 것입니다. 

<build>

<plugins> <plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.2.0</version> <configuration> <!-- Web App information --> <resourceGroup>${RESOURCE_GROUP}</resourceGroup> <appName>${WEBAPP_NAME}</appName> <region>${REGION}</region> <pricingTier>S1</pricingTier> <!-- Java Runtime Stack for Web App on Linux --> <linuxRuntime>jre8</linuxRuntime> <deploymentType>ftp</deploymentType> <!-- Resources to be deployed to your Web App --> <resources> <resource> <directory>${project.basedir}/target</directory> <targetPath>/</targetPath> <includes> <include>app.jar</include> </includes> </resource> </resources> <appSettings> <property> <name>JAVA_OPTS</name> <value>-Djava.security.egd=file:/dev/./urandom</value> </property> </appSettings> </configuration> </plugin> </plugins> <finalName>app</finalName> </build>

평소 메이븐을 이용해 하듯이 빌드, 패키지, 배포를 해봅니다. 
bash-3.2$ mvn package azure-webapp:deploy [INFO] Scanning for projects... [INFO] [INFO] ---------------------------------------------------------------------- [INFO] Building petclinic 2.0.0 [INFO] ---------------------------------------------------------------------- [INFO] ... ... [INFO] --- azure-webapp-maven-plugin:1.2.0:deploy (default-cli) @ spring-petclinic --- [INFO] Start deploying to Web App myjavase-07262018aa... [INFO] Authenticate with Azure CLI 2.0 [INFO] Target Web App doesn't exist. Creating a new one... [INFO] Creating App Service Plan 'ServicePlan1af9c8f0-3f71-43a8'... [INFO] Successfully created App Service Plan. [INFO] Successfully created Web App. ... ... [INFO] Finished uploading directory: /Users/selvasingh/GitHub/selvasingh/spring-petclinic/target/azure-webapps/myjavase-07262018aa --> /site/wwwroot [INFO] Successfully uploaded files to FTP server: waws-prod-bay-081.ftp.azurewebsites.windows.net [INFO] Starting Web App after deploying artifacts... [INFO] Successfully started Web App. [INFO] Successfully deployed Web App at https://myjavase-07262018aa.azurewebsites.net [INFO] ---------------------------------------------------------------------- [INFO] BUILD SUCCESS [INFO] ---------------------------------------------------------------------- [INFO] Total time: 03:06 min [INFO] Finished at: 2018-07-13T18:03:22-07:00 [INFO] Final Memory: 139M/987M [INFO] ----------------------------------------------------------------------


이제 남은 일은 브라우저를 열어 사이트를 열어 보는 것입니다. 샘플 코드를 이용했다면 다음 화면이 보일 것입니다. Java SE 앱을 이렇게 쉽게 올려 쓸 수 있다니 참 편한 세상입니다. 




WAN 속도까지 쌩쌩 ~ Azure Virtual WAN 프리뷰

보안

요즘 네트워크 업계의 화두는 SD-WAN, 한국말로 소프트웨어 정의 WAN입니다. 엔터프라이즈 네트워크가 LAN을 넘어 WAN으로 빠르게 확장된 지 오래죠. 모바일, 클라우드 그리고 이제는 사물인터넷(IoT)까지 이제 WAN은 모든 것을 연결하는 구심점이 되고 있습니다. 

관련해 마이크로소프트에서 WAN 구간에서 지연 없는 '빠름 빠름'을 느낄 수 있도록 돕는 애저 버추얼 WAN(Azure Virtual WAN) 프리뷰를 발표했습니다. 이 서비스의 핵심은 전 세계 어느 곳에 지사나 지점이 위치하건 늘 최적의 WAN 연결을 통해 클라우드 서비스를 쾌적하게 이용 및 제공할 수 있도록 돕는 것입니다. 

이 서비스는 WAN 구간에서 네트워크 트래픽 관련 지연과 손실 관련 문제를 최소화하여 최적의 속도를 제공하는 것 외에 보안성 강화라는 큰 혜택도 제공합니다. WAN 환경에서 사내망 수준의 네트워크 및 보안 정책을 적용한다는 것은 쉽지 않은 일이죠. 이를 누구나 쉽게 이해하고, 실행할 수 있게 간단히 만든다면? 네, 클라우드는 복잡하지 않게, 간편하게 쓸 수 있어야 제 가치가 있죠. WAN 속도와 보안 두 측면에서 복잡성을 줄이고 보안성을 높인 서비스가 바로 애저 버추얼 WAN 서비스입니다. 

이 서비스 이용에 있어 사용자가 신경 쓸 것은 본사나 브랜치에 배포할 SD-WAN이나 VPN 등의 CPE 장치 정도입니다. WAN 환경의 설정은 크게 신경 쓸 일이 없습니다. 다음 구성을 보시죠. 사용자가 할 일은 본사나 지점이 위치한 가장 가까운 위치에 있는 리전이나 엣지 사이트에 가상 허브(Virtual Hub)를 구성하는 것입니다. 글로벌 수준의 WAN 연결과 가속은 가상 허브 사이에 이루어집니다. 



마이크로소프트의 글로벌 네트워크 규모는 정말 거대합니다. 전 세계에 130개가 넘는 엣지 사이트와 PoP(Point of Presense)를 확보하고 있습니다. 130곳 중 가장 지사/지점과 가장 가까운 곳에 구축한 허브와 본사 근처에 있는 허브 간 WAN 연결은 사용자가 최적화를 신경 쓸 것이 1도 없습니다. 지점/지사에 배치한 SD-WAN이나 VPN 어플라이언스는 애저의 글로벌 네트워크 상에 구성한 가상 허브와 연결되는 간결한 구조입니다. 사용자는 원하는 리젓, 엣지, PoP를 선택해 허브를 여러 개 구성해 우리 회사를 위한 글로벌 스케일의 WAN 환경을 운영할 수 있습니다. 

예를 하나 들어 보죠. 다음 화면과 같이 간단한 설정만으로 서유럽 지역에는 네덜란드에 가상 허브를 하나 구축하고, 북유럽 지역은 아일랜드에 허브를 구축해 애저 버추얼 WAN을 구성하여 VPN 기반의 보안 연결을 전제로 최적의 속도를 뽑아낼 수 있습니다. 

지점이나 지사와 가상 허브 간 연결은 자동으로 이루어집니다. 관련해 마이크로소프트는 시트릭스와 리버베드와 협력을 통해 자동화 기반의 사용자 경험을 제공합니다. 향후 바라쿠다, 실버피크 등 여러 기업과도 협력 관계를 확대할 방침이라고 합니다. 따라서 사용자는 어떤 CPE 장치를 쓰건 VNet 설정, VPN 설정 등을 신경 쓸 필요 없이 편하게 애저 버추얼 WAN의 혜택을 누릴 수 있습니다. 




사용자 행위 분석까지 해야 개발의 완성 ~ 웹 앱 개발자의 완소 아이템

OpenDev

애저 애플리케이션 인사이트(Azure Application Insights)라는 툴을 들어 보셨나요? 개발자가 작성한 웹 앱을 사용자가 실제로 어떻게 쓰는지에 대한 통찰력을 제공하기 위한 분석 도구입니다. 온 프레미스 환경에서 APM이 하던 기능을 클라우드 스케일로 확대 적용한 것이라 이해하면 될 듯싶네요. 

애플리케이션 인사이트가 새로운 무기(?)를 장착했습니다. 작년에 프리뷰로 공개했던 애플리케이션 인사이트를 위한 사용자 행위 분석 툴(User Behavior Analytics Tools)이 정식으로 발표되었습니다. 프리뷰 기간 동안 받은 사용자 의견을 모아 이런저런 개선을 꽤 많이 한 모양입니다. 

사용자 행위 분석 툴이 더해지면서 애저 애플리케이션 인사이트가 더 쓸만해졌는데요, 관련해 주요 특징을 살펴보겠습니다. 웹 사이트 개발자와 운영자가 구글 어낼리틱스 같은 분석 도구를 늘 곁에 두고 쓰듯이 마이크로소프트 애저 환경에서 운영할 웹 앱을 개발하거나 운영한다면 사용자 행위 분석 툴이 손에서 떨어지면 안 될 듯합니다. 코딩도 중요하지만 지속 가능한 최고의 사용자 경험 제공이 더 중요하다는 데 이견을 달 개발자는 없을 것입니다. 

화면 중심으로 주요 기능을 소개하겠습니다. 첫 번째 소개할 것은 사용자, 세션, 이벤트 관련 화면입니다. 화려하네요. 한눈에 웹 앱 관련 주요 통계가 눈에 들어옵니다. 

다음 화면은 유저 플로우(User Flows)를 보여 줍니다. 한 마디로 사용자가 웹에 접속한 다음에 앱의 어떤 기능을 쓰는지에 대한 흐름을 추적해 보여주는 매우 중요한 기능입니다. 사이트 관리자가 사용자의 클릭 스트림을 추적해 히트맵을 그려보는 것만큼 중요하다고 봐도 됩니다. 웹 앱 개발자는 이 플로우를 참조해 사용자들이 자주 쓰는 기능과 그렇지 않은 것을 가려내기 쉽습니다. 이를 토대로 개발과 수정 우선순위를 잡기도 좋고, 사용자 친화적인 방향으로 앱을 개선하기 좋습니다. 

다음 화면은 펀넬(Funnels)입니다. 웹 분석에서 자주 나오는 용어인 전환율(Conversation Rates)를 보여주는 화면입니다. 간단히 설명하자면 웹 사이트 방문자나 웹 앱 이용자가 서비스 티켓 발행, 상품 구매 등 사전에 유도한 행동을 어느 정도나 하는지를 단계적으로 파악할 때 참조하는 정보입니다. 

다음 화면은 임팩트(Impact) 분석 결과를 보여줍니다. 이 역시 간단한 개념인데요, 페이지 로드 시간 등 중요 메트릭이 전환율에 끼치는 영향을 시각적으로 보여주는 것입니다. 

다음 화면은 사용자와 세션 타임라인에 대한 것입니다. 사용자가 남긴 로그 정보를 보기 좋게 꾸며 보여 주네요. 

다음 화면은 코호트(Cohorts) 분석 내용을 보여 줍니다. 이 역시 웹 사이트 분석에 자주 언급되는 용어인데요, 특정 기간을 중심으로 공통된 특성을 띄는 사용자 집단이 누구인지 분류해 보여주는 기능이라 이해하면 됩니다. 

한 가지 더 소개할 내용이 있는데 비주얼 스튜디오 앱 센터에 사용자 행위 분석 기능을 통합해 쓸 수 있다는 것입니다. 개발 환경에 통합되는 것은 어찌 보면 당연한 것이죠. 


정리하자면 웹 앱, 모바일 앱을 클라우드 환경에서 운영할 경우 애플리케이션 성능과 사용자 경험은 24시간 365일 관찰하고, 문제 발생 시 즉시 대응을 해야 합니다. 관련해 클라우드 업체들이 관련 도구들을 제공하는데요, 애저는 이 분야에서 나름 경쟁력이 센 듯하네요. 

대량에서 소량까지 ~ 클라우드로 데이터 옮기기, 눈에 보여 안심되는 확실한 데이터 마이그레이션 서비스

보안

클라우드로 데이터를 옮길 때 모든 것을 네트워크로 전송하기 부담스러울 수 있습니다. 양이 많아서, 민감한 데이터가 있어서, 시간과 비용이 많이 들 수 있어서 등 이유도 많죠. 이런 고민까지 풀어줘야 클라우드 서비스라 할 수 있겠죠. 마이크로소프트 애저의 경우 현재 프리뷰 단계이긴 하지만 대용량 데이터와 소용량 데이터 모두 안전하게 물리적인 저장 장치를 활용해 클라우드로 옮길 수 있는 옵션을 제공합니다. 

대용량 파일의 경우 애저 데이터 박스(Azure Data Box)를 이용할 수 있습니다. 다음 그림처럼 주문한 다음 박스를 받아서 데이터 옮기고, 이를 다시 보내면 됩니다. 데이터를 옮기면 256비트 AES 알고리즘으로 암호화가 되므로 데이터 유출 걱정도 없습니다. 아, 용량은 박스 하나당 100TB입니다. SMB/CIFS 같은 친숙한 NAS 프로토콜을 이용하므로 외장 하드 쓰듯이 다룰 수 있습니다. 

용량이 작아도 외장 저장 장치 옵션을 쓸 수 있습니다. 마이크로소프트가 최근에 애저 데이터 박스 디스크(Data Box Disk) 프리뷰를 공개했는데요, 이 서비스는 국내외 지사나 지방 사무소 등 현장에 IT 인력이 없는 곳에 배치한 시스템의 데이터를 클라우드로 옮길 때 쓰기 좋습니다. 장치당 40TB까지 데이터를 담을 수 있는데요 애저 데이터 박스처럼 쓰기 쉽고, 암호화를 통해 데이터를 보호하므로 안전합니다. 


애저 데이터 박스 디스크는 일반적인 SSD 디스크와 크게 다르지 않습니다. 데이터를 클라우드로 마이그레이션할 시스템에 USB나 SATA 인터페이스로 연결해 데이터를 복사한 다음 보내면 됩니다. 데이터가 옮겨질 때 자동으로 128비트 AES 알고리즘으로 암호화됩니다. 

애저 데이터 박스를 잘 쓰는 대표 기업 중 하나는 한국의 LG전자입니다. LG전자는 자율 주행 자동차 프로젝트 관련해 대량의 데이터를 클라우드로 전송할 때 애저 데이터 박스를 활용합니다. 


불붙은 클라우드 기반 DW 성능 경쟁 - 애저가 아마존 Redshift를 앞서가나요 ~ ~

Database

최근 클라우드 기반 데이터웨어하우스 서비스 경쟁이 갈수록 치열해지고 있습니다. 한동안 아마존 Redshift가 주도하나 싶더니, 오라클이 최근 오라클 오토노머스 데이터웨어하우스를 공개하면서 전통적인 강자(?)의 면모를 보여 주었죠. 이 경쟁에 마이크로소프트가 '나도 있다'라는 강력한 메시지를 보내고 있습니다. 마이크로소프트가 앞세우는 것은 성능과 가성비입니다. 

마이크로소프트가 제공하는 클라우드 기반 데이터웨어하우스 서비스 이름은 '애저 SQL 데이터웨어하우스(Azure SQL Data Warehouse)'입니다. 이 서비스 관련 벤치마크 결과를 마이크로소프트가 공개했는데요, 그 수치가 인상적입니다. 공정을 기하기 위해 기가옴 리서치(Gigaom Research)를 통해 벤치마크를 수행했는데요, 주요 결과를 보시죠. 

먼저 30TB 규모의 데이터를 대상으로 한 쿼리 수행 성능 비교입니다. 업계에서 널리 쓰이는 TPC-H 표준으로 벤치마크를 진행한 결과 애저가 아마존보다 67% 정도 빠른 것으로 나왔습니다. 노드 수에 관계없이 일정한 편차가 보이는 걸로 봐서 전반적으로 성능이 앞선다고 봐도 되겠습니다. 


성능 다음으로 중요한 포인트는 뭐니 해도 가격 대비 성능이죠. 30TB 규모의 데이터를 다루는 워크로드를 기준으로 '가성비'를 따져보니 애저가 아마존보다 23% 정도 저렴한 것으로 나타났습니다. 


데이터웨어하우스 운영자 입장에서 가장 중요한 보는 것이 하나 더 있습니다. 사실 운영자 입장에서 성능과 가격보다 이게 더 중요할 수 있습니다. 바로 동시에 처리할 수 있는 쿼리 수입니다. 이게 제약이 심하면 아무리 성능이 좋고 가격이 매력적이라도 엔터프라이즈 환경에서 쓸 때 운영자가 사용자들의 원성(?)을 들을 위험이 있죠. 그래서 어느 정도까지 동시 처리를 보장하는지 잘 살펴야 합니다. 

동시 처리 가능한 쿼리 수를 비교해 보면 애저 SQL 데이터웨어하우스가 아마존 Redshift보다 2배 이상 넉넉합니다. 애저에서는 동시에 128개의 쿼리 처리가 가능한 반면 아마존은 50개 제약이 있습니다. 50개 뒤로 들어오는 쿼리는 앞서 보낸 쿼리 수행이 끝날 때까지 대기해야 합니다. 

최근 엔터프라이즈 데이터웨어하우스 환경의 부하 분산 및 새로운 분석 수요를 클라우드에서 수행하는 것에 관심이 커지고 있습니다. 관련해 담당자는 성능, 가격, 동시 처리 등 여러 면을 잘 따져 봐야 할 것 같네요.


애저 HDInsight 새소식, 아파치 스파크 2.3 지원됩니다! 스파크 기반 머신 러닝, IoT 등 활용 시나리오가 더욱 풍성 ~

Database

마이크로소프트가 제공하는 매니지드 기반 빅 데이터 서비스인 애저 HDInsight가 아파치 스파크 2.3.0을 공식 지원합니다. 스파크 2.3.0 버전의 주요 개선 사항은 크게 세 가지입니다. 첫 번째는 파이썬 UDF를 이용하는 데이터 엔지니어는 10배에서 최대 100배까지 빨라진 데이터 처리 속도를 경험할 수 있다는 것입니다. 이에 따라 데이터 엔지니어는 스파크 기반 머신 러닝 환경에 텐서플로우 등의 프레임워크를 통합해 운영하기 좋아졌습니다. 흔히 머신 러닝 파이프라인이라고 하죠. 다음 그림 보면 이해가 쉬울 것입니다. 스파크 기반 머신 러닝 파이프라인에 각종 프레임워크를 연결해 써도 될 만큼 데이터 처리 속도가 좋아졌습니다. 

두 번째 개선 사항은 비즈니스 분석가를 위한 혜택입니다. 널리 쓰이는 컬럼 기반 데이터 포맷인 ORC 파일을 스파크 환경에서 역동적으로 분석할 수 있습니다. 벡터화 기반의 ORC 파일 포맷 리더를 통해 빠른 속도를 확보했기 때문에 얻게 된 개선 사항입니다. 따라서 다음과 같은 환경에서 스파크를 이용해 데이터 분석을 하는 경우 2.3.0 버전의 이점을 살리기 좋습니다. 


세 번째 개선 사항은 실시간 애플리케이션을 만드는 개발자를 위한 혜택입니다. 스파크 2.3.0에는 'Continuous Processing' 모드란 것이 새로 들어갔는데요, 이벤트 프로세싱을 할 때 발생하는 처리 속도 지연을 밀리 초 단위로 줄인다고 합니다. 네, 딱 보면 느낌이 오죠. 금융권에서 사기 탐지나 제조 등에서 IoT 관련해 빅 데이터 시나리오를 적용하는 그림에 넣어 보면 새로 추가된 모드가 갖는 이점이 눈에 들어올 것입니다. 


말 나온 김에 애저 환경에서 스파크를 이용한 스트리밍 분석 시나리오 몇 가지 살펴보겠습니다. 마이크로소프트는 데이터 과학자, 엔지니어, 개발자를 위한 노트북인 애저 데이터브릭스(Azure Databricks)라는 서비스를 제공합니다. 이 노트북을 쓰면 클릭 한 번으로 새로운 스파크 환경을 구성해 원하는 프로젝트를 시작할 수 있습니다. 스파크 스트리밍을 이용해 어떤 프로젝트를 시도해 볼 수 있을까요? 대표적인 예, 거의 대표 시나리오로 세미나에 자주 등장하는 주제가 있죠. 네, IoT 분석과 웹 사이트 클릭 스트림 분석입니다. 

이들 시나리오에 등장하는 기술적 특징은 크게 4가지입니다. 먼저 스파크 스트리밍을 통해 데이터를 데이터 스토어로 보내기 전에 지속해서 수집하고 정재를 할 수 있죠. 스트리밍 ETL 작업을 하는 것이죠. 그리고 이상 행위가 징후가 감지되면 실시간으로 사전에 정의한 실행이 이루어지도록 트리거 설정도 할 수 있습니다. 

라이브 데이터를 다루기 때문에 실시간 분석을 위한 데이터 세트가 풍부한 것은 당연하죠. 여기에 한 가지 더해 복잡한 세션 속에서 지속해서 뭔가 알아냅니다. 가령 특정 사이트에 사용자가 접속한 후 여기저기 둘러봅니다. 이 같은 라이브 세션 관련 정보는 학습의 훌륭한 재료입니다. 

히트맵 분석 같은 전통적인 것이 아니라 머신 러닝 모델을 적용해 방문자의 클릭 스트림을 통해 뭔가 더 나은 결과를 끌어내고 싶다고 가정해보죠. 이 경우 머신 러닝 모델을 만들어 트레이닝을 한 다음 프로덕션에 적용하겠죠. 이후 라이브 세션 정보는 머신 러닝 관련 추론에 쓰이고, 추론 작업이 결과물은 다시 모델을 보강하는 재료로 쓰입니다. 

소개한 시나리오 관련해 더 자세한 사항은 웨비나를 통해 알아볼 수 있습니다. 영어로 진행되는 점이 아쉽긴 하네요. 해당 주제를 친숙한 한글로 듣고 싶다면 ~ 락플레이스가 도움을 드릴 수 있습니다. 


애저 이벤트 허브와 서비스 버스 보안 강화를 위해 필요한 서비스 ~ IP 필터링

보안

애저 이벤트 허브 애저 서비스 버스를 이용 중이라면 이번에 발표된 IP 필터링 프리뷰를 꼭 한번 써보기 바랍니다. 참고로 이벤트 허브는 웹, 앱 등 모든 원천에서 데이터 스트림을 원격으로 수집해 분석하는 서비스입니다. 그리고 서비스 버스는 클라우드 기반 메시징 서비스입니다. 두 서비스의 공통점이라면 연결 접점이 많다는 것입니다. 이를 보안 측면에서 풀이하면 연결을 허용해야 할 것과 그렇지 않아야 할 것을 잘 가려내는 것이 중요합니다. 

그래서 마이크로소프트에서 두 서비스를 위한 IP 필터링 기능 프리뷰를 공개했습니다. 크게 화려한 기능은 아닙니다. 룰 기반으로 특정 IP 주소에서 오는 트래픽을 허용할지 말지 정하는 기능이라 보면 됩니다. 참고로 IP 필터링 프리뷰 기능은 서비스 버스 프리미엄, 이벤트 허브 스탠다드 플랜에 적용이 가능합니다. 주요 특징 몇 가지 보시죠. 

* 룰 기반으로 특정 IP 주소에서 오는 트래픽 허용 및 거부 
IPv4 주소에 대응
네임스페이스 수준에서 룰 적용 가능
여러 개의 룰을 지정해 적용할 수 있음
거부된 IP 주소의 경우 비인가 접속이란 응답을 보냄 

이 기능은 애저 포탈을 통해 이용할 수 있는데, 이벤트 허브나 서비스 버스의 네임스페이스 또는 ARM 템플릿에서 찾아 볼 수 있습니다. 

다음 ARM 템플릿을 보면 IP 필터링 기능을 어떻게 사용할 수 있는지 알 수 있습니다. 주요 파라미터는 다음과 같습니다. 

ipFilterRuleName: 룰 이름은 규칙의 특징이 분명히 보이면 좋습니다. 같은 이름을 쓸 수는 없고요, 최대 128자까지 정할 수 있습니다. 
ipFilterAction: IP 필터 룰에 따라 거부할지 허용할지에 대한 액션입니다. 
ipMask: 단일 IP 주소 또는 CIDR(Class inter-Domain Routing)에 속한 IP 주소들일 수 있습니다. 


{ "$schema":"http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#", "contentVersion":"1.0.0.0", "parameters":{ "namespaceName":{ "type":"string", "metadata":{ "description":"Name of the namespace" } }, "ipFilterRuleName":{ "type":"string", "metadata":{ "description":"Name of the Authorization rule" } }, "ipFilterAction":{ "type":"string", "allowedValues": ["Reject", "Accept"], "metadata":{ "description":"IP Filter Action" } }, "IpMask":{ "type":"string", "metadata":{ "description":"IP Mask" } } }, "resources": [ { "apiVersion": "2018-01-01-preview", "name": "[concat(parameters('namespaceName'), '/', parameters('ipFilterRuleName'))]", "type": "Microsoft.EventHub/Namespaces/IPFilterRules", "properties": { "FilterName":"[parameters('ipFilterRuleName')]", "Action":"[parameters('ipFilterAction')]", "IpMask": "[parameters('IpMask')]" } } ] 

}


IP 필터링 적용에 대한 자세한 사항은 관련 문서를 참조 바랍니다. 


하둡 애플리케이션을 위한 가장 경제적인 선택 - 클라우드 오브젝트 스토리지에서 Data Lake 운영

Database

하둡 커뮤니티에서 가장 경제적인 스토리지 인프라 운영 방안으로 꼽는 것은? 네, 클라우드 서비스 사업자의 오브젝트 스토리지로 데이터 레이크를 운영하는 것입니다. 관련해 하둡 커뮤니티에서 최고로 꼽는 것은 ADL(Azure Data Lake) 스토리지입니다. ADL만 해도 경쟁력이 충분한데 마이크로소프트에서 ADL Gen2 프리뷰로 제대로 된 데이터 레이크 전용 클라우드 스토리지 아키텍처를 제시해 화제입니다. 

다음 자료는 호튼웍스에서 작성한 것인데요. 클라우드 스토리지 관련 선택지를 보여 줍니다. 성능과 최적화 면에서 ADL은 최고죠. 


클라우드 오브젝트 스토리지를 이용할 경우 성능이 문제가 되곤 합니다. 그 이유는 하둡 파일시스템(HDFS)을 추상화하기 때문이죠. ADL Gen2는 이런 문제를 근본적으로 해결하는 아키텍처를 제시합니다.



자 다음 그림을 보시죠. 많은 경우 하둡 애플리케이션은 클라이언트의 하둡 파일시스템 드라이버를 통해 create, open, rename 등의 작업을 에뮬레이션합니다. 이 경우 문제는 너무 많은 REST API 요청을 처리해야 한다는 것입니다. 이는 클라우드 오브젝트 스토리지의 경우 네임스페이스를 통해 폴더를 관리하지 않기 때문입니다. ADL Gen2의 경우 클라이언트에서 이루어지던 에뮬레이션 작업을 서버로 옮겨 오는 구조를 택했습니다. 클라이언트는 BLOB REST API 또는 ADL Gen2 API를 통해 데이터에 직접 접근할 수 있습니다. 또한, ADL Gen2는 성능을 보장하는 가운데 클라우드 규모의 확장성을 지원하기 위해 네임스페이스 기능이 추가되었습니다. 네임스페이스를 통해 계층적으로 파일과 폴더가 관리된다는 것입니다. 따라서 파일 삭제와 카피 같은 작업을 할 때 불필요한 API 호출을 줄일 수 있습니다. 



다음 그림은 하둡 클라우드 스토리지 진화 방향에 대한 호튼웍스의 전망인데요, 결국 추상화 계층을 통한 작업이 아니라 오브젝트 스토리지와 직접 하둡 애플리케이션 연결되는 그런 구조로 발전하는 것이 빅 데이터 커뮤니티가 원하는 것이라 할 수 있습니다. 이 바람에 가장 가깝게 구현된 기술이 ADL Gen2가 아닐까 합니다. 


보안성도 언급하지 않을 수 없는데요, ADL Gen2의 경우 애저 액티브 디렉토리가 통합됩니다. 따라서 RBAC 기반 접근 제어가 한결 간편해집니다. 여기에 ADL Gen2가 지원하는 POSIX 기반 ACL 기능을 이용하면 파일과 폴더 수준까지 접근 제어를 할 수 있습니다. 


ADL Gen2에 대한 자세한 내용은 관련 문서나 마이크로소프트 채널9에 올라온 영상을 참조 바랍니다.