Amazon Web Services 한국 블로그
Amazon Managed Service for Apache Flink 발표 (Amazon Kinesis Data Analytics 이름 변경)
Apache Flink를 사용하여 실시간 스트리밍 애플리케이션을 빌드하고 실행할 수 있는 완전 관리형 서버리스 서비스인 Amazon Kinesis Data Analytics의 이름을 Amazon Managed Service for Apache Flink로 변경한다는 소식을 알려드립니다.
Flink 애플리케이션에서 동일한 경험을 계속 누리실 수 있으며, 현재 진행 중인 운영, 개발 또는 비즈니스 사용 사례는 어떠한 영향도 받지 않습니다. Kinesis Data Analytics에서 실행 중인 모든 애플리케이션은 변경 없이 그대로 작동합니다.
많은 고객은 데이터 처리에 Apache Flink를 사용하며 활발한 오픈 소스 커뮤니티에서 다양한 사용 사례 지원을 받고 있습니다. Apache Flink 애플리케이션은 강력하고 인기 있지만, 병렬 컴퓨팅이나 컨테이너 리소스의 확장과 조정이 필요하기 때문에 관리하기가 쉽지 않습니다. 데이터 볼륨, 데이터 유형 및 데이터 소스가 폭발적으로 증가함에 따라 이제 고객은 성능과 비용에 영향을 주지 않으면서도 데이터에 더 빠르게 액세스하고 데이터를 처리, 보호 및 분석하여 심층적인 인사이트를 빠르게 얻어야 합니다.
Amazon Managed Service for Apache Flink를 사용하면 최소한의 코딩으로 데이터 소스 또는 대상을 설정 및 통합하고, Amazon Kinesis Data Streams와 Amazon Managed Streaming for Apache Kafka(Amazon MSK)를 비롯한 수많은 데이터 소스에서 1초 미만의 지연 시간으로 데이터를 지속적으로 처리하고, 이벤트에 실시간으로 대응할 수 있습니다. 또한 Apache Zeppelin 기반의 시각화 기능이 내장된 Amazon Managed Service for Apache Flink Studio를 사용하면 클릭 몇 번만으로 노트북에서 대화형으로 스트리밍 데이터를 분석할 수도 있습니다.
Amazon Managed Service for Apache Flink를 사용하면 안전하고 호환성이 우수하며 가용성이 높은 애플리케이션을 배포할 수 있습니다. 서버와 클러스터를 관리할 필요가 없고, 컴퓨팅 및 스토리지 인프라를 설정하지 않아도 되며, 애플리케이션에서 사용하는 리소스에 대한 비용을 지불하면 됩니다.
Apache Flink 지원 과정
2016년에 독점 SQL 엔진에 기반한 Amazon Kinesis Data Analytics를 출시한 후, SQL만으로는 고객이 상태 저장 스트림을 효율적으로 처리하는 데 필요한 기능을 제공할 수 없음을 알게 되었습니다. 그래서 실시간 데이터 스트림을 처리하는 인기 있는 오픈 소스 프레임워크이자 엔진인 Apache Flink에 투자하기 시작했습니다.
2018년에는 고객이 Apache Flink 라이브러리를 사용하여 스트리밍 애플리케이션을 빌드하고 자체 통합 개발 환경(IDE)을 선택하여 애플리케이션을 빌드할 수 있도록 Amazon Kinesis Data Analytics for Java를 프로그래밍 가능한 옵션으로 지원했습니다. 2020년에는 Apache Flink에 대한 지속적인 지원을 강조하기 위해 Amazon Kinesis Data Analytics for Java의 명칭을 Amazon Kinesis Data Analytics for Apache Flink로 변경했습니다. 2021년에는 Apache Zeppelin 기반이며 처리 엔진으로 Apache Flink를 사용하여 신속한 개발을 위한 간단하고 친숙한 노트북 인터페이스를 제공하는 Kinesis Data Analytics Studio(현재 명칭은 Amazon Managed Service for Apache Flink Studio)를 출시했습니다.
2019년부터는 Apache Flink 커뮤니티와 더욱 긴밀히 협력하여 Kinesis Data Streams와 Kinesis Data Firehose용 커넥터 같은 Apache Flink용 AWS 커넥터와 관련 코드 제공을 늘리고 연례 Flink Forward 이벤트를 후원하기 시작했습니다. 최근에는 Flink 1.15 릴리스에 Async Sink를 제공하는 업데이트를 실시해 클라우드 상호 운용성을 개선하고 더 많은 싱크 커넥터와 형식을 추가했습니다.
또한 AWS는 커넥터에 국한되지 않고 Flink 커뮤니티와 지속적으로 협력하여 가용성 개선 및 배포 옵션을 꾸준히 제공합니다. 자세한 내용은 AWS 오픈 소스 블로그에서 Apache Flink를 이용해 커넥터 쉽게 만들기: Async Sink 소개를 참조하세요.
Amazon Managed Service for Apache Flink의 새로운 기능
앞서 언급했듯이 Kinesis Data Analytics(현재 명칭은 Amazon Managed Apache Flink)에서는 기존 Flink 애플리케이션을 어떤 변경도 없이 계속 실행할 수 있습니다. 콘솔 변경 및 새로운 기능과 함께 서비스의 일부이며 클릭 한 번으로 전체 데이터 파이프라인을 생성하는 청사진에 대해 알려드리겠습니다.
먼저 AWS의 Analytics 섹션에서 Amazon Managed Service for Apache Flink의 새로운 콘솔을 바로 사용할 수 있습니다. 먼저 새로운 콘솔에서 이전과 동일한 환경을 이용해 스트리밍 애플리케이션이나 Studio 노트북을 쉽게 만들어 보세요.
새 콘솔에서 스트리밍 애플리케이션을 만들려면 처음부터 만들기나 청사진 사용을 선택합니다. 새로운 청사진 옵션을 사용하면 AWS CloudFormation을 이용해 바로 시작하는 데 필요한 모든 리소스를 만들고 설정할 수 있습니다.
청사진은 엄선된 Apache Flink 애플리케이션 모음입니다. 첫 번째 애플리케이션에는 Kinesis Data Stream에서 읽어 Amazon Simple Storage Service(S3) 버킷에 쓰는 데모 데이터가 있습니다.
데모 애플리케이션을 만들고 나면 Apache Flink 대시보드를 구성하고, 실행하고, 열어서 이전과 동일한 환경에서 Flink 애플리케이션 상태를 모니터링할 수 있습니다. 로컬 개발 환경에서 Flink 라이브러리를 사용하여 다양한 작업을 수행하도록 GitHub 리포지토리의 코드 샘플을 변경할 수도 있습니다.
청사진은 확장 가능하도록 설계되었으며, 청사진을 사용하면 Amazon Managed Service for Apache Flink를 기반으로 비즈니스 과제를 해결할 수 있는 복잡한 애플리케이션을 만들 수 있습니다. AWS 설명서에서 Apache Flink 라이브러리를 사용하는 방법에 대해 자세히 알아보세요.
청사진을 활용하면 Apache Zeppelin을 새로운 설정 옵션으로 사용하는 Studio 노트북을 만들 수도 있습니다. 또한 이 새로운 청사진 옵션을 사용하면 AWS CloudFormation을 이용해 바로 시작하는 데 필요한 모든 리소스를 만들고 설정할 수도 있습니다.
이 청사진에는 Apache Flink 애플리케이션이 포함되어 있으며, 이 애플리케이션에는 Amazon MSK 주제로 전송되고 Managed Service for Apache Flink에서 읽는 데모 데이터가 있습니다. Apache Zeppelin 노트북을 사용하면 스트리밍 데이터를 보고, 쿼리하고, 분석할 수 있습니다. 청사진을 배포하고 Studio 노트북을 설정하는 작업은 10분 정도 소요됩니다. 설정하는 동안 커피 한 잔을 즐기세요!
새 Studio 노트북을 만든 후에는 Apache Zeppelin 노트북을 열어 이전과 동일한 환경을 이용해 노트에서 SQL 쿼리를 실행할 수 있습니다. GitHub 리포지토리에 있는 코드 샘플을 확인하면 Apache Flink 라이브러리를 사용하는 자세한 방법을 알 수 있습니다.
이 데모 데이터에서 사용자 정의 함수, 텀블링 및 호핑 시간 간격, Top-N 쿼리, 스트리밍을 위해 S3 버킷으로 데이터 전송 등의 더 많은 SQL 쿼리를 실행할 수 있습니다.
또한 블로그 게시물인 Studio 노트북 사용 방법과 Amazon MSK 주제 쿼리하기에 나오는 것처럼 Java, Python이나 Scala를 사용해 SQL 쿼리를 강화하고 노트를 연속 실행 애플리케이션으로 배포할 수도 있습니다.
청사진 샘플에 대해 자세히 알고 싶다면 MSK Serverless에서 읽어 Amazon S3에 쓰기, MSK Serverless에서 읽어 MSK Serverless에 쓰기, MSK Serverless에서 읽어 Amazon S3에 쓰기 같은 GitHub 리포지토리를 참조하세요.
정식 출시
이제 Amazon Kinesis Data Analytics의 새로운 이름인 Amazon Managed Service for Apache Flink를 사용할 수 있습니다. Kinesis Data Analytics에서 실행 중인 모든 애플리케이션은 변경 없이 그대로 작동합니다.
자세한 내용을 보려면 새 제품 페이지와 개발자 안내서를 참조하세요. AWS re:Post for Amazon Managed Service for Apache Flink이나 평소 이용하는 AWS Support 연락처를 통해 피드백을 보내주셔도 됩니다.
– Channy