2019.10.10

IDG 블로그 | 마이크로서비스의 도전에 대비하라

David Linthicum | InfoWorld
지난 주 필자는 퍼블릭 클라우드의 내외부 모두에서 컨테이너가 점점 더 인기 있는 공격 대상이 되고 있다고 지적했다. 이번에는 컨테이너의 공통적인 부산물인 마이크로서비스에 대해 좀 더 자세히 살펴보자.

마이크로서비스는 애플리케이션을 배치하는 아키텍처이자 방법이다. 실제로 마이크로서비스란 용어는 컨테이너 내에서건 아니건 애플리케이션을 조각조각 분해해 더 작고 전문화된 부분의 연속으로 만드는 관행을 설명하는 용어로 사용된다. 각각의 마이크로서비스는 API나 REST 인터페이스 같은 공용 인터페이스를 통해 다른 마이크로서비스와 커뮤니케이션할 수 있다.

이 접근법이 완전히 새로운 것으로 보이지만, SOA 시절로 돌아가 보면 미립자(Fine-grained) 서비스라는 것이 있었다. 마이크로서비스는 자체적으로 구축할 수도 있고, 아니면 서비스로 이용할 수도 있다. 실제로 SaaS 서비스 업체는 로컬 또는 클라우드 기반 애플리케이션에 통합할 수 있는 자체 마이크로서비스 카탈로그를 제공한다.

마이크로서비스를 추가한다는 것은 이를 컨테이너 기반 애플리케이션 및 전통적인 서비스 지향 애플리케이션과 통합하는 것은 물론, 적절하게 테스트해야만 한다는 것을 의미한다. 마이크로서비스는 보안 테스트와 운영이라는 측면에서 몇 가지 핵심적인 과제를 안고 있다.

- 마이크로서비스는 보안을 포함한 테스트가 어렵다. 각각이 별도의 API라는 점에서 독립적으로 테스트해야만 한다. 마이크로서비스와 컨테이너에 전문화된 툴을 사용할 수도 있지만, 명령줄 테스트 툴이라면 모두 잘 동작할 것이다.

- 마이크로서비스는 빈번하게 바뀐다. 사이버 보안 전문가는 이런 변경이 취약점을 가져온다고 지적할 것이다. 마이크로서비스는 흔히 원격지 호스트에 의해 변경된다. 예를 들어, 국제 운송료와 관세를 계산하는 마이크로서비스는 비즈니스 또는 기술적인 이유로 수시로 바뀐다. 이런 마이크로서비스를 운영하기 위해서는 프로덕션을 중단하거나 보안 문제를 일으키지 않으면서 새로운 서비스를 도입할 수 있는 방안이 마련되어야 한다. 

- 마이크로서비스는 보안 운영에 새로운 차원을 추가한다. 마이크로서비스를 운영할 때는 변경 내용을 추적하는 것을 포함해 보안 문제에 특별한 주의를 기울여야 한다. 실제로 마이크로서비스는 통합된 조합 애플리케이션과의 테스트는 물론, 자동화된 보안 테스트를 거쳐야만 한다. 일부 애플리케이션은 100개가 넘는 마이크로서비스를 이용할 수도 있다. 이 모두를 개별적으로 테스트하는 한편, 전체를 하나의 애플리케이션으로 테스트해야 한다.

마이크로서비스 보안과 운영을 효과적으로 처리하는 방법은 없을까? 계획만이 해답이다. API 및 서비스 기반 거버넌스는 물론, 마이크로서비스 계층에서의 변경 관리, 운영 모니터링이 필요하다. 이 모두는 쉽지 않은 과제이지만, 보안 사고를 하나라도 피할 수 있다면 그만한 가치가 있을 것이다.

클라우드 배치가 점점 더 복잡해지면서 취약성 역시 커지고 있다. 어떤 것이 바뀌는 정확하게 인지하고 보안과 운영 문제에 지지 않도록 해야 할 것이다.  editor@itworld.co.kr


2019.10.10

IDG 블로그 | 마이크로서비스의 도전에 대비하라

David Linthicum | InfoWorld
지난 주 필자는 퍼블릭 클라우드의 내외부 모두에서 컨테이너가 점점 더 인기 있는 공격 대상이 되고 있다고 지적했다. 이번에는 컨테이너의 공통적인 부산물인 마이크로서비스에 대해 좀 더 자세히 살펴보자.

마이크로서비스는 애플리케이션을 배치하는 아키텍처이자 방법이다. 실제로 마이크로서비스란 용어는 컨테이너 내에서건 아니건 애플리케이션을 조각조각 분해해 더 작고 전문화된 부분의 연속으로 만드는 관행을 설명하는 용어로 사용된다. 각각의 마이크로서비스는 API나 REST 인터페이스 같은 공용 인터페이스를 통해 다른 마이크로서비스와 커뮤니케이션할 수 있다.

이 접근법이 완전히 새로운 것으로 보이지만, SOA 시절로 돌아가 보면 미립자(Fine-grained) 서비스라는 것이 있었다. 마이크로서비스는 자체적으로 구축할 수도 있고, 아니면 서비스로 이용할 수도 있다. 실제로 SaaS 서비스 업체는 로컬 또는 클라우드 기반 애플리케이션에 통합할 수 있는 자체 마이크로서비스 카탈로그를 제공한다.

마이크로서비스를 추가한다는 것은 이를 컨테이너 기반 애플리케이션 및 전통적인 서비스 지향 애플리케이션과 통합하는 것은 물론, 적절하게 테스트해야만 한다는 것을 의미한다. 마이크로서비스는 보안 테스트와 운영이라는 측면에서 몇 가지 핵심적인 과제를 안고 있다.

- 마이크로서비스는 보안을 포함한 테스트가 어렵다. 각각이 별도의 API라는 점에서 독립적으로 테스트해야만 한다. 마이크로서비스와 컨테이너에 전문화된 툴을 사용할 수도 있지만, 명령줄 테스트 툴이라면 모두 잘 동작할 것이다.

- 마이크로서비스는 빈번하게 바뀐다. 사이버 보안 전문가는 이런 변경이 취약점을 가져온다고 지적할 것이다. 마이크로서비스는 흔히 원격지 호스트에 의해 변경된다. 예를 들어, 국제 운송료와 관세를 계산하는 마이크로서비스는 비즈니스 또는 기술적인 이유로 수시로 바뀐다. 이런 마이크로서비스를 운영하기 위해서는 프로덕션을 중단하거나 보안 문제를 일으키지 않으면서 새로운 서비스를 도입할 수 있는 방안이 마련되어야 한다. 

- 마이크로서비스는 보안 운영에 새로운 차원을 추가한다. 마이크로서비스를 운영할 때는 변경 내용을 추적하는 것을 포함해 보안 문제에 특별한 주의를 기울여야 한다. 실제로 마이크로서비스는 통합된 조합 애플리케이션과의 테스트는 물론, 자동화된 보안 테스트를 거쳐야만 한다. 일부 애플리케이션은 100개가 넘는 마이크로서비스를 이용할 수도 있다. 이 모두를 개별적으로 테스트하는 한편, 전체를 하나의 애플리케이션으로 테스트해야 한다.

마이크로서비스 보안과 운영을 효과적으로 처리하는 방법은 없을까? 계획만이 해답이다. API 및 서비스 기반 거버넌스는 물론, 마이크로서비스 계층에서의 변경 관리, 운영 모니터링이 필요하다. 이 모두는 쉽지 않은 과제이지만, 보안 사고를 하나라도 피할 수 있다면 그만한 가치가 있을 것이다.

클라우드 배치가 점점 더 복잡해지면서 취약성 역시 커지고 있다. 어떤 것이 바뀌는 정확하게 인지하고 보안과 운영 문제에 지지 않도록 해야 할 것이다.  editor@itworld.co.kr


X