CS/개발 상식

    가상화와 가상머신, 그리고 컨테이너

    가상화(Virtualization)란?가상화(Virtualization)란, 컴퓨터나 네트워크의 자원을 논리적으로 구분하여 하나의 물리적 자원을 여러 개의 가상 자원으로 나누어 사용하는 기술을 말한다. 물리적인 하드웨어 장치를 논리적인 객체로 추상화하는 것이다. 즉, 하나의 컴퓨터를 여러명의 사용자가 동시에 사용할 수 있도록 여러대의 작은 컴퓨터로 분할시키거나, 반대로 여러 장치를 묶어 하나의 장치인 것처럼 사용자에게 제공할 수 있다. 운영 체제부터 애플리케이션에 이르기까지, 새로운 소프트웨어의 요구 사항은 점점 더 높아지고 있다. 더 많은 데이터, 더 높은 처리 능력, 더 큰 용량의 메모리가 필요해지는 것이다. 가상화를 사용하면, 하드웨어 리소스를 효율적으로 사용하여 비용을 단축할 수 있다. 가상화 기..

    MSA(Microservice Architecture)란?

    전통적인 애플리케이션 구축 방식은 모놀리식(Monolithic)에 중점을 두었으며, 애플리케이션에서 구축 가능한 모든 부분이 하나의 애플리케이션에 포함되어 있었다. 이러한 방식의 단점은 애플리케이션이 커질수록 새로운 문제를 해결하고 새로운 기능을 추가하는 것이 어려워진다는 것이었다. 마이크로서비스 기반 애플리케이션 구축 방법은 이러한 문제를 해결하고 개발 및 대응 속도를 가속화할 수 있다. 마이크로서비스(Microservices)란? 마이크로서비스는 소프트웨어가 잘 정의된 API를 통해 통신하는, 소규모의 독립적인 서비스로 구성되어있는 경우의 소프트웨어 개발을 위한 아키텍처 및 조직적 접근 방식이다. 마이크로서비스 아키텍처는 애플리케이션의 확장을 용이하게 하고 개발 속도를 앞당겨 혁신을 실현하고 새로운 ..

728x90