본문 바로가기

프로그래밍/IoT

[IoT] AWS IoT로 IoT 서비스 개발 시작하기

반응형

멀게만 느껴졌던 IoT 서비스를 직접 설계하고 구현하고 있다.

 

이 한 문장이 엄청 거창하게 보이지만, 이것이 가능한 데에는 여러 Cloud에서 IoT 서비스를 설계할 수 있도록 기본적인 리소스를 제공해주기 때문에 진입장벽은 많이 낮아진 것 같다.

 

Cloud 서비스를 바탕으로 IoT 시작하기

 

AWS IoT의 Developer Docs를 살펴보면, AWS IoT 서비스를 다음과 같이 설명한다.

"인터넷에 연결된 Device가 AWS Cloud에 연결할 수 있고, Cloud의 애플리케이션이 인터넷에 연결된 디바이스와 상호 작용할 수 있게 하는 서비스"

즉, AWS IoT를 사용하면 인터넷에 연결된 제품과 AWS 클라우드 간의 양방향 통신이 가능한 서비스를 설계하고 구현할 수 있다는 것이다.

 

AWS Console에 들어가서 전체 서비스 목록 중 IoT를 검색하면 아래의 그림과 같다.

AWS IoT의 가장 기본이 되는 "IoT Core" 서비스에서부터 통합 솔루션과 같은 Greengrass, 분석을 위한 Analytics, 보안을 위한 Device Defender 등 정말 많은 서비스가 있다.

그리고 여느 AWS Cloud와 동일하게 새로운 서비스가 지속적으로 생기고 있으며, 새로운 기능이 추가되고 있다.

 

Web Service를 생각해보면, 어떠한 인터페이스로 Client와 Server가 데이터를 주고받을 것인가를 고민하며 그 과정에서 특정 사용자에 대한 인증은 어떻게 처리할 것인지의 보안적 이슈도 함께 생각해보게 된다.

 

AWS IoT로 충분할까?

 

위에서 언급한 AWS IoT의 한 문장으로 된 설명을 생각해보면, AWS IoT는 "어떻게" 데이터를 주고 받을 것인지 그리고 "어떻게" 통신 과정에서 Device의 인증을 처리할 것인지를 모두 지원해준다는 것이 된다.

출처) AWS IoT 개발자 문서(https://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/aws-iot-how-it-works.html)

처음 AWS IoT를 접하고, 준비할 당시에는 이런 그림으로 된 설명이 없었던 것으로 기억하지만 가장 설명이 깔끔한 도표같다.

위와 같은 Component 단위들을 모두 제공해주는 Cloud Service가 있는 상황이니 IoT Service에 대한 진입장벽이 낮아진 것은 확실한 것 같다.

 

통신 프로토콜과 같은 여러가지 네트워크 상의 규약에 대한 사전 지식이 없다고 하더라도,

주어진 틀 내에서 또는 주어진 틀을 변형 및 확장해가며 서비스를 구상 및 구현해낼 수 있다는 장점이 있다.

 

그리고 결정적으로 RasberryPi나 다른 IoT Device(Alexa, Google Home, Apple Home kit 외에도 여러가지...)가 Ali Express, Amazon 등등에서 쉽게 구할 수 있는 상황이 되었다보니 장비에 대한 정보, 장비를 컨트롤할 수 있는 또 다른 언어를 모른다고 해도 충분히 서비스를 만들어갈 수 있는 상황이 되었다.

 

AWS IoT 101

이 글과 향후 대부분의 글에서는 IoT 101과 AWS IoT 101을 명확하게 구분할 것이다.

AWS IoT 기반으로 IoT Service를 설계 및 구현하는 방법을 남겨볼 것이지만, Cloud는 언제든 변경할 수 있기 때문에 일부 컨텐츠는 IoT 101이 되지 않을까싶다.

 

AWS 계정에서 IoT Core 서비스에 접속하면 아래와 같은 화면이 노출된다.

여기에서 "Get Started"를 누르면, 다시는 이 화면을 볼 수 없다.(아직까지 필자는 계정 당 한번 밖에 못봤다.)

 

 

AWS 직원이 아니지만, IoT에 대한 첫 포스팅은 AWS IoT를 설명하고 장점을 부각시키는 것으로 끝난 것 같아 매우 당황스럽지만, 앞으로는 AWS IoT의 특징과 장단점을 모두 공유하면서 어떻게 IoT 서비스를 만들어갈 수 있을 지 남겨보겠다.

To Be Continued......
반응형