아마존의 AWS
구글의 GCP
마이크로소프트의 Azure
대표적인 클라우드 컴퓨팅 서비스를 제공하는 상품들이죠.
인터넷으로 서비스하는 제품을 개발할 때 서버를 두는 2가지 방식인
On-premise방식과 On-demand방식을 비유적으로 쉽게 설명드릴게요.
예를 들어,
질문자님의 업무팀이 어느 나라로 장기파견을 갔어요.
그런데 이 가상의 국가에서는 지낼 방법을 마련하는 것이 2가지 입니다.
일터와 숙소로 쓸 가건물 하나를 빌리거나
가성비가 꽤 좋은 초대형 호텔을 이용하는거에요.
건물을 빌리는게 호텔보다는 평당가도 싸고 우리 팀만의 넓은 공간이 확보가 되겠죠. 다만 건물 전체를 빌리는 거니까 필요 이상의 공간까지 값을 치르는 것이고 그래서 내야하는 총 금액도 클거에요. 전기, 수도, 각종 수리 등 건물 관리도 직접 해야 하고 청소, 빨래, 요리 등 업무 외 수고가 들겠죠. 어쩌다 현지 일이 바빠져서 갑자기 파견팀 규모가 커지고 그래서 공간이 부족하게 되면 또 곤란해질거구요.
반면 호텔에서는 팀에게 딱 필요한 공간만 방을 빌릴 수 있겠죠. 상황에 따라 언제든 방을 더 빌리거나 덜 쓰거나 할 수가 있어요. 건물도 호텔 측이 관리해주는거고 여러분이 집일도 직접 해도 되지만, 돈을 더 낼 여유가 있다면 클리닝, 빨래, 식사까지 서비스로 제공되니까 주요 업무 자체에 더 집중할 수가 있겠죠. 물론 방을 많이 쓰거나 서비스를 많이 이용하면 총 금액은 건물 렌트보다 비싸질거에요. 남이 관리하는 건물이니까, 보안에 민감한 팀은 불안할 수도 있고 업무에 맞게 직접 커스터마이징한 건물보다 효율이 떨어지는 부분도 있을 수 있구요.
그러니깐 팀에서는 회사의 재정적 여건과 업무의 특성에 따라 둘 중 알맞은 것을 선택하겠죠.
건물 렌트가 전통적인 방식 즉, 회사가 자사의 시설, 혹은 IDC에 자체적으로 컴퓨터 서버를 두고 운영하는 On-premise(온-프레미스)방식이에요.
그리고 AWS, GCP, Azure 그리고 한국의 클라우드 플렛폼 같은 대기업 브랜드 호텔에서 제공하는게 클라우드 컴퓨팅 서비스에요. 지금부터 줄여서 ‘클라우드’라고 부를게요.
이 클라우드들 역시 자세의 거대한 데이터센터에 서로 연결된 수많은 컴퓨터들을 운영하고 있어요. 다만, 전통적인 서버 방식처럼 사용자에게 컴퓨터를 하나씩 통째로 배당하는게 아니라 필요한 만큼 떼어서 나눠줍니다.
질문자님이 어느 정도 코딩을 배우고 이제 리눅스 좀 만져볼 수 있을 것 같다. 서버나 웹사이트 한번 직접 만들어서 온라인에 열어보고 싶다 하면 위 주요 클라우드 업체들 모두 새 가입자에게 1년간 IAAS(외 다수) 무료 이용권을 제공해요.
작은 서비스를 운영하기엔 충분한 리소스고요. 저도 돌아가면서 1년씩 잘썼어요. 서버관리 빼고 코딩에만 집중해보고 싶으면 히로쿠나 넷리파이 같은 PAAS 서비스들도 좋아요. 다 일정부분 무료로 제공하고요. 클라우드 컴퓨팅이 발달하면서 개발자들의 할 일들이 적어지고 소프트웨어 개발과 운영의 진입장벽이 낮아지고 비용적 부담없이 프로그래밍에 뛰어들 수 있는 환경이 되어가니까 이런 풍성한 인프라들을 잘 활용해서 부담없이 이것저것 만들어보고 배포해서 운영도 해보고 멋진 프로그래밍 경험들을 쌓아가보시길 바래요.
AWS관련해서 직접적인 교육이 필요하다면 서울 종로구에 위치한 KG아이티뱅크 학원에서 유일하게 AWS관련 직장반/취업반 교육이 이뤄지고 있어요.