내용을 시작하기에 앞서 본 내용은 파이콘 세션 내용 중 네트워크 엔지니어에서 바라보는 입장을 적은 내용입니다.
파이썬 자체의 기술에 관련된 내용보다는 파이콘 행사에서도 Cloud에 대한 세션의 비중이 꽤 높았고,
구글 앱 엔진(Google App Engine:GAE), 아마존 웹 서비스(Amawon Web Services:AWS) 등의 대형 클라우드 시장 등장과 동시에 대한 개발자,서버관리자,네트워크 엔지니어의 생태계 변화에 대해 말해보려 합니다.
파이콘 2014의 다양한 세션들
빨간 체크 표시된 부분은 인상 깊었던 세션들입니다.
나머지 세션들은… 개발자가 아닌 저에게 너무 어렵더군요…
대부분의 세션 발표자 분들이 내용을 흥미있게 준비해 주셔서 개그코드도 중간중간에
넣어서 준비를 하셨더라구요..
그래서… 가끔은 개그코드들이 많더라구요… 다들 즐거워하는데 저는 ?????상태…
알아들을 수 없는 용어와 내용들이 나와서 가끔...혹은 자주… 소외감 들었습니다
세션들을 들으면서 기억나는 내용들을 하나씩 되새김질 해보면….
Python을 위한 가장 좋은 IDE는?
Pycharm! 이라는 의견이 압도적 이었습니다.
다들 그런지는 모르겠으나 Python 을 사용하시는 분들을 보면 Anti-Java의 느낌이 강하더라구요
어떤 이유인지는 모르겠습니다.
$99 면 살만하죠?... 제가 말하려는 내용은 이 내용이 아니라..
생태계 변화에 대해 얘기해보려 합니다.
그 동안의 개발자들이 Local 환경에서 개발하고 적용하는 상황이었다면… 인프라 환경의 변화로
개발환경이 매우 변화되었습니다.
가장 큰 변화는… 개발자들의 작업환경인 서버가… 구름위로 올라가 버린 거죠
더 이상 개발자들도 바닥에 앉아서 개발할 수는 없는 상황이 되고 있습니다.
인프라를 사용하는 기업(고객)들이 점점 클라우드로 갈아타기 시작한 것이죠...
서버가 구름으로 올라가버렸으니 개발자도 이제 구름으로 따라 올라가야죠…
게다가 인프라 관리자들도.. 같이 올라가는 것이죠.. 여기서 문제가 하나 생기는데…
나중에 뒤에서 다시 말씀 드리겠습니다.
그런데 이것이 또 쉽지는 않은가 봅니다.. 기존에 Local에서 개발하는 환경에 익숙한 개발자들도
어려움을 겪는다고 하네요... 어떤 어려움인지는 정확하게 모르겠지만…
지금은.. 꼭 구름 위로 올라 가야하나? 라는 생각을 가지고 있겠지만..
이미 올라가 있는 사람들도 꽤 있고 다들 올라가려고 노력하는 시기가 왔거나… 올 겁니다.
국내 시장에는 아직 큰 변화가 보이지 않지만 멀지는 않았다고 생각합니다.
변화가 올 것 같다. 올 것이다. 라는 내용은 많으나.. 실 사례는 찾기가 쉽지가 않죠.
자 근데 또 구름도 또 하나가 아닙니다. 구름마다 깊이도 다르고 용도도 틀리고
다 다릅니다….
출처: <http://pesonageografi.files.wordpress.com/2011/01/51v9cftmjel1.jpg>
우리가 사용해야 할 Cloud 들도 높이가 다 다릅니다.
크게는 세가지 층으로 구분합니다.
Infrastructure as a Service , Platform as a Service , Software as a Service
이정도로 구분을 하는 것이 대표적입니다.
우측을 보시면 현재 가장 잘나가는 서비스들의 예로 보시면 됩니다.
IaaS -> AWS , Azure , ...
PaaS -> Google App Engine , ...
SaaS -> Salesforce , ...
자 그럼 이러한 경계는 어떻게 생기는 지 한번 살펴보면….
출처: <http://www.slideshare.net/tekcraft/azure-vsamazon>
쉽죠? 어느 선까지를 자기가 관리하는지를 보시면 됩니다.
한 번만 더 정리를 해보면…
각 ?aaS는 어디까지 제한이 걸려 있나를 보시면 됩니다.
먼저 가장 위의 기존은 장비 / OS / 어플리케이션 뭐든 자유죠
IaaS - 인프라는 고정되어 있고 그 위는 제공하는 서비스 내에서 마음대로 이용 하라는 것이죠. AWS가 대표적 이구요
PaaS - 플랫폼이 정해져 있고 그 위에서 애플리케이션을 어느 정도 자유롭게 사용하는 레벨
SaaS - 다 정해놓고 다 만들어 놨으니 걍 쓰면 돼..레벨…
한 번 더 쉽게 정리를 해 보면…
제가 뭔가 웹 서비스로 개발을 해야 할 상황에서…
이런 거죠. 리눅스 환경에서 웹 개발을 한다고 가정하면…
AWS = ubuntu 설치 > LAMP(Linux, Apache, MxSql, PHP) 설치 > 연동 > 개발
GAE = 연동 > 개발
하지만 당연히… Local 환경에서 하는 것과 이러한 서비스를 이용하는 것이 쉽지는 않겠죠..
듣기로는 이런 부분에 있어서도 많은 고민이 있다고 하네요.
부산 닉스곤이라는 한상곤 대표님이 처음 클라우드 플랫폼을 기반한 개발 기획안을 받고 드신 생각이라시네요
출처: <http://www.slideshare.net/fullscreen/sigmadream/ss-35246054/4>
IaaS의 경우에는 이러한 초반 진입장벽이 높은편이나 PaaS인 Google App Engine(GAE)의 경우에는
이러한 장벽을 많이 낮춰주죠
좀 다른 내용으로 빠진 것 같은데… 이제 마무리를 향해 달려보겠습니다.
파이콘에서 가장 인상 깊었고 충격 받았던 세션이
"Scalable Infrastructure Build on Cloud with Python" BY 김승진
이 세션이었습니다.
인프라 관련 세미나가 아니니 IaaS에 대해서도 잠깐 설명 후 본 내용으로 들어가셨는데
내용은 이거였습니다.
Public Cloud 를 이용하는 부분을 Orchestration Tool을 python으로 운영하는 것을 말씀하셨는데…
Instance 생성과 삭제에 대한 부분은 aws API 를 통해 컨트롤 하고
생성된 서버들에 대해서는 Python을 이용하여 Orchestration tool을 이용하여 운영/관리 하는 거죠.
그런데 여기서 Orchestration Tool을 만드는 것에 그치지 않고 자신만의 Tool을 만드신 거죠.
바로 위 레진코믹스의 GAE와 AWS 를 비교해 놓은 자료를 보시면 Sysadmin이 필요하다고 표시해 두었는데,
이번 세션을 진행하신 분이 SysAdmin 입니다.
데모용으로 AWS와 연동하여 만드신 프로그램을 보여주셨는데
요약하면…
CLI를 통한
- AWS Instance 상태 확인 (Load Balancing 에 포함되는지도 확인)
- AWS Instance 생성
- AWS Instance 에 명령 전파
이처럼 sysadmin 한 명이 회사 내의 인프라 전체를 자유롭게 컨트롤 할 수 있는 것을 보여줍니다.
자 이래저래 글이 길었는데 진짜 말하고 싶은 부분은 이것입니다.
과거(클라우드를 사용하기 이전)에는 그림과 같이 개발자 아래에 보이지 않는 인프라가 존재하고 있었습니다.
그런데 말씀 드린 것처럼 이제는 전부 구름위로 올라가버렸죠.
인프라,개발환경 뿐만이 아니라 이에 따라서 네트워크 관리자, 서버 관리자, 개발자 전부 클라우드 위에서 동일한
위치에서 만나고 있습니다.
이 말은 하위 레이어는 상위 레이어에 포함되어 버리는 것이죠.
특히나 서버 관리자와 네트워크 관리자의 레이어가 투명해 지면서 네트워크 관리자는 서버관리자보다 불필요한
인력이 되고 있고, 구글 앱 엔진(GAE)를 쓰는 경우에는 이 서버관리자 마저도 필요가 없어질 수 있는 상황입니다.
클라우드의 활성화와 더불어 기업의 입장에서는 밝고 높은 위치에서 사업을 이끌어 나갈 수 있을 것 같지만
기존의 인프라를 담당하던 담당자들에게는 불투명한 위치가 되고 있죠..
게다가 일부 Sysadmin의 위치에서 일하시는 분들을 살펴보면 이미 클라우드 아키텍트에 대해서 공부하고 있는
분들이 점점 늘어나고 있습니다.
그런데 네트워크 엔지니어는 어떤걸 준비하고 있나요?
생태계를 보시면 위에서 아래를 잡아먹긴 쉽지만 아래에서 위를 잡아먹긴 힘듭니다.
출처: <http://www.forest.go.kr/img/edu/ani_img3.jpg>
클라우드의 등장과 동시에 대부분의 파트가 구름위로 올라가버리기 시작하였습니다.
여러분이 생각하기에 자신이 구름 위에서 잡을 수 있는 포지션은 무엇인가요?
P.S...