Edge Computing이란?
5G 네트워크 기술에 대해 연구가 진행되면서 앞에서 언급했던 SDN, NFV와 동시에 또 큰 주목을 받고 있는 기술이 Edge Computing과 Network Slicing이다. 이번에는 Edge Computing의 기본적인 개념을 정리해보고자 한다.
이번에도 내가 이해한 정보를 토대로 정리하는 것이기 때문에 틀린 내용이 있을 수도 있다. 지적은 언제나 환영이다.
Edge Computing에 대해서 이야기하기 위해서는 먼저, CS분야에서의 Cloud Computing 기술에 대한 기본적인 이해가 있어야 한다. 내가 computer science 분야의 전공이 아니기 때문에, 세부적인 내용은 모르고, high level에서 어떤 기술인지에 대해서 먼저 간단하게 설명하고자 한다.
내가 이해한 바에 의하면, cloud computing은 위의 그림과 같이 간단하게 설명할 수 있다. 여러 개의 서버를 분산 처리하여 하나의 큰 서버가 동작하는 것 처럼 작동하는게 핵심이며, 하나의 cloud를 각각의 유저들이 마치 따로 따로 여러 대의 기계를 쓰는 것 같은 효과를 준다. 이러한 서비스가 그냥 각 유저가 각자의 기계를 가지고 있는 것 보다 이득이 되는 점은 하나의 서버에 문제가 생겨도 전체 cloud의 data 손실은 없고, 전체의 연산능력이 떨어지는 정도로 끝난다는 것이다. 이에 대해서 모든 데이터를 cloud 회사가 가지고 있게 되어 보안 쪽의 이슈와, virtual machine을 어떻게 할당해 줄 지에 대한 scheduling 문제 등의 이슈가 있다.
이 cloud 기술은 Edge Computing과 Network Slcing에서 모두 쓰이며 약간 다른 방식으로 사용된다. Network Slicing 분야에 대해서는 나중에 다시 정리를 하도록 할 예정이다.
이제 Edge Computing이 어떤 기술인지에 대해서 알아보도록 하자.
일단, Edge Computing이라는 개념은 total latency를 줄여주기 위해서 나온 개념으로, 정말 단순하게 data를 처리해주는 data center를 edge user들에게 더 물리적으로 가까운 곳에 많이 virtual server를 배치해줘서 서비스를 해주겠다는 것이 메인 아이디어이다. 이에 대해서는 이전부터 Fog Computing, Clone Cloud 등으로 이전부터 연구가 진해되고 있었지만, 최근에 hardware가 발전하면서 어느 정도 실현 가능성이 확보되고, 5G에서 URLLC(Ultra Reliable and Low Latency Comunication)이 하나의 큰 목표가 되면서 큰 주목을 받고 있다. 서버의 배치 자체는 넓은 의미의 Edge Computing으로 보면 Edge User와 Center Cloud Server 사이에 위치를 하면 어느 위치라도 EC로 보고 있으며, 국내 5G 통신망에서도 Data Center의 전진배치를 이야기 하는 것이 이 Edge Computing의 개념을 적용한 것이라고 볼 수 있다.
이 서버들의 기능으로는 user caching과 computing offloading의 기능을 수행하게 된다. 그래서 간단의 연산의 경우는 offloading이 되어 있으면 중앙 서버까지 갈 필요 없이 바로 local에서 처리가 가능해지면서 delay를 줄이는 효과가 있다. 사실 세부적으로 뜯어보면, 개인적으로는 기존의 user caching과 거의 동일하다고 볼 수 있을 것 같다. 독립된 서버에 caching을 하고, 그 서버에 독립적인 computation 능력을 부여하여 offloading을 가능하게 한 개념이라고 보면 될 것 같다.
EC에 대해서도 server choice 문제, server 배치 문제, 자원 분배 문제 등의 여러 이슈가 있으며, 보안쪽에 있어서는 자신의 정보가 거의 local에서만 처리 될 수 있어서 기존의 cloud 기술보다는 보안측면에서 좋을 것으로 기대되고 있다.