본문 바로가기
IT 정보

AWS를 공부 해야만하는 이유.(부제: 리눅스를 공부해야만 하는 이유)

by 완기 2021. 5. 22.
728x90
반응형

요새 회사에서 인프라 관련 업무를 많이 배정받다보니, AWS가 익숙해지기 시작했다.

 

업무를 진행하다 보면서 느낀점을 기록한다.

 


 

로컬에서의 프로그램은 의미가 없다.

 

서비스를 제공하는 회사에 재직하다보니 서비스가 다른 사람들이 사용한다.

사용자가 서비스를 항시 사용할 수 있도록 준비가 되어있어야 하고, 

그렇지 못하면 회사의 매출에 문제가 생긴다.

 

그런데 로컬에서의 프로그램은 사용자가 사용할 수 없는, 내 컴퓨터 한정으로 사용이 가능한 프로그램이고

다른 사람이 사용하게끔 만들기 위해선 호스팅 플랫폼을 꼭 이용해야한다.

(내 컴퓨터에 웹 서버를 구축하는건 꽤나 귀찮고 번거로운 일이다.)

 

호스팅 플랫폼 (AWS,GCP,MS Azure 등)을 이용하려면 인프라에 대한 이해가 필요했고,

인프라에 대한 이해는 네트워크에 대한 이해가 필요하다.

 

예) 인바운드 규칙을 설정하지 않으면 어떤 일이 일어나는지, 캐싱을 이용하면 어떤 이점이 있는지 등,

 

네트워크에 대한 이해가 있다면 비교적 호스팅 플랫폼에서 제공하는 인프라에 대한 이해가 쉬워지고 이는 곧 안정적인 서비스 운영에 대한 이해의 근간이 된다.

 

그렇기 때문에 다른 사람이 이용하고

그로 인한 수익 창출 및 부가적인 효과를 위해 호스팅 플랫폼과 같은 인프라 공부는 개발자에겐 필수적이다.

 


효과적인 어플리케이션 운영을 위해서

 

예를 들어 호스팅하고 있는 웹 어플리케이션에서 캐싱을 사용하지 않는다면,

요청마다 리소스를 사용자에게 전달하고 이는 곧 호스팅 플랫폼에서 아웃바운드 비용으로 이어진다.

 

AWS는 아웃바운드에 대한 비용을 부과하므로 자칫 잘못 설계하면 비용 폭탄을 맞을 수 있다.

그렇다고 서비스 운영을 중지하거나 할수도 없는 노릇이다.

 

이런 문제를 해결하기 위해, 캐싱을 사용하고 그 캐싱은 얼마동안 유효한 시간을 가지는지 등, 

300x250

웹 및 인프라에 대한 이해가 필수적이고 이를 잘 이용하면 최대한 적은 비용 및 리소스로 사용으로 사용자에게 서비스를 제공할 수 있다.

 

 


대부분 리눅스로 되어있다.

AWS EC2는 보통 리눅스를 OS를 사용하는데,

서비스를 EC2에 올리고 사용자에게 제공하려면

NginX같은 웹 서버 및 명령어를 사용하여 사용자의 요청을 처리하고, 프로그램을 실행하여 서비스를 제공한다.

 

이러한 일련의 과정을 위해, EC2에 접속할 때, 보안문제,권한 문제, 프로그램 실행, 배치프로그램에 관한 문제 등

다 CLI로 해결해야하기 때문에 리눅스는 필수다.

 


클라우드 경험이 있는 개발자만 뽑는다.

 

요새 신입 개발자 및 경력 개발자를 뽑는 구인 공고 어디를 보더라도 우대 사항에는 AWS 사용 경험 및 인프라에 대한 지식이 있는 사람을 우대한다.

 

그 이유는 앞서 말한 이유와 동일하다.

서비스를 제공하기 위해서는 호스팅 해야하고,

이에 지식이 없는 개발자는 단순 개발만하고 서비스를 제공하지 못하는 팥 없는 붕어빵 같은 존재다.

 

그리고, 요새 호스팅 업체를 사용하지 않는 업체는 정말 찾아보기 힘들 정도로 AWS와 같은 서비스는 대중화되어있고, 

꼭 호스팅 뿐만 아니라 굉장히 다양한 서비스를 제공하기 때문에 꼭 학습할 필요가 있다.

 

 

728x90
728x90

댓글