개발을 하다보면 자주 접하게 되는 단어이자 필수가 되어버린 VM과 Container 이 둘은 어떠한 의미를 가지고 있는지 그리고 어떻게 차이가 있는지에 대하여 한번 이야기 해보고자 합니다. VM(Virtual Machine)VM 즉, 가상화 머신이라고 불리는 기술은 하나의 컴퓨터 자원을 소프트웨어 기술을 통해 나누는 기술을 의미합니다. VM을 만들고자 하면 각 가상화마다 OS가 필요로 하게 되고, 생성된 VM에 어플리케이션과 환경을 설정하게 됩니다. 이렇게 만들어진 가상화 머신을 이미지화 하여 원하는 만큼 복제를 할 수 있다는 장점을 가지고 있습니다. 이러한 가상화 머신이 가진 장점으로 인해 오랜 시간동안 많은 개발자들의 관심을 받을 수 있었고 지금도 여러 회사에서 해당 기술을 통해 개발을 진행하고 있..
3티어 레이어는 개발에서도 자주 사용되는 용어로 개발자에게도 많이 익숙한 용어 입니다. 이러한 3티어 레이어라는 것이 실제로 인프라에서는 어떻게 접목이 되고 있는지 알아보도록 하겠습니다. 3티어 레이어3티어 레이어는 말그대로 레이어를 3계층으로 나누어 관리를 하는 방식을 의미 합니다.여기서 의미 하는 각 레이어에 대한 설명은 아래와 같습니다. #Web Layer 는 기본적으로 정적 페이지를 제공해주는 서버를 의미합니다. 현 시대에서는 이러한 정적과 동적에 대한 의미가 많이 퇴색이 되고 있는 현황에 있고 이를 두고도 많은 아키텍처가 생겼기도 합니다. #Service Layer 흔히 알고 있는 Application Server들이 존재하는 곳 들로 여러 API를 제공함으로써 여러 GUI에서 해당 기능을 ..
이제는 개발자로써 프로그래밍만을 하는 것에서 끝나지 않고 지속적인 운영관리에 대한 부분도 역할을 맡고 있습니다. 이러한 기술적 변화는 기존 시스템 개발자와 소프트웨어 개발자 간의 간극이 더 커졌다고 생각하고 있습니다. 그렇다면 전반적인 아키첵터와 각 인프라에 대한 기초 내용들을 함께 보면서 어떻게 달라지고 현 상황은 어떻게 되는지 이야기 해보도록 하겠습니다.소프트웨어 생명주기와 역할소프트웨어는 기본적으로 생명주기를 가지고 있습니다. 생명주기라는 것은 어찌보면 소프트개발에서 필수적인 영역이라고 생각하는데요. 필수적이라고 보는 이유는 알게 모르게 우리가 이러한 방식으로 개발을 하고 있기도 하고 또 더욱 체계적인 개발을 하게 만드는데 이해를 해야 하는 영역이 제대로 구분이 되어져 있다고 생각합니다. 그럼 각 ..