콘텐츠로 이동

클라우드를 이용해 실습하는 뉴욕 시립대학 학생들

뉴욕 시립대학은 제한된 리소스를 할당하여 새로운 인프라를 구축하는 대신 Google Cloud을 선택하여 가상화 및 컨테이너와 같은 오픈소스 기술을 가르쳤습니다. 이제 학생들은 컴퓨터 공학 분야에 실제로 진출하기 전에 소중한 실습 교육을 받을 수 있습니다.

컴퓨터 공학(CS)과에서는 현업에서 사용되는 최신 기술에 관한 교육 및 훈련을 제공해야 하는데, 오늘날의 최신 기술은 클라우드와 가상화와 같은 관련 기술을 뜻합니다. 그러나 대다수의 대학은 이러한 기술을 지원하기 위해 새 인프라를 구축할 리소스가 없으며, 변화의 속도가 너무 빨라서 최신 플랫폼, 도구, 언어를 따라가는 데 어려움을 겪고 있습니다.

뉴욕 시립대학(CCNY)의 교수진은 기존 교과서나 수업 자료에서 제대로 다뤄지지 않고 있던 가상화, 컨테이너, 기타 클라우드 기술을 학생들이 직접 경험할 수 있도록 기회를 제공하고자 했습니다. 이를 위해 CCNY에서는 합리적인 비용과 실용적인 방식으로 컴퓨팅 분야의 최신 개발 기술을 이용할 수 있는 새로운 전략이 필요했습니다.

CCNY 컴퓨터 공학과의 겸임 부교수인 피터 바넷 교수는 “많은 CS 프로그램은 핵심 데이터 구조, 알고리즘, 운영체제에 대한 접근에 있어 이론적이고 전통적인 접근을 하는 경향이 있습니다. 학생의 '시야를 넓히는' 것이 중요합니다. 학생을 다재다능한 컴퓨터 공학자로 육성하려면 미래를 내다볼 수 있는 교육을 실시해야 합니다."라고 말합니다.

Google Cloud을 활용한 포괄적인 컴퓨터 공학 교육 실시

Zahn Innovation Center의 이사인 린지 시겔씨는 Google Cloud 교육 지원 프로그램에 바넷 교수를 추천했습니다. 이 센터는 스타트업 부트캠프, 멘토링, 무상 서비스, 신속한 프로토타입 시설 등을 제공하는 CCNY의 학생 지원 센터입니다.

바넷 교수는 처음으로 Google Cloud를 수업에 소개할 때 학생에게 기존 운영체제 및 애플리케이션 서버의 기능을 클라우드 플랫폼에서 어떻게 구현하는 지를 알아보도록 했습니다. 학생은 '현재 어디에 기반하고 있는가?', 즉 컨테이너인지 아니면 가상 머신인지를 알아내야 했습니다. 특정 서버에 기반하고 있는지 아니면 분산 컴퓨터 클러스터에 기반하고 있는지 어떻게 알 수 있는가?

학생들에게는 Google Cloud 또는 다른 클라우드 기술 제공업체 중 하나를 고를 수 있는 선택권이 제공되었습니다. Google Cloud를 선택한 많은 학생들은 직관적인 가이드 덕분에 쉽게 데이터를 가져오고 애플리케이션을 구축할 수 있었다고 바넷 교수는 말했습니다. 프로젝트를 시작하고 실행하는 데 문제가 발생하면 Google Cloud팀과 CCNY 교수진의 지원을 받을 수 있었습니다.

일부 학생들은 Google App Engine을 이용해 작업하고 컨테이너의 작동 방식을 탐구했으며, 다른 학생들은 Google Compute Engine에서 앱을 만드는 가이드 중 하나를 선택했습니다. 모든 학생이 Linux 명령어를 사용하여 컨테이너 환경 또는 가상 머신(VM)을 탐색하는 방법을 배울 수 있었고, SQL 명령어를 사용하여 데이터베이스 백엔드를 탐색했습니다.

학생이 엔지니어처럼 사고하도록 장려

클라우드 플랫폼을 충분히 경험시킨 다음 학생들에게 클라우드에 관해 개념적으로 생각하고 클라우드에서도 실제 하드웨어를 계속 사용할 수 있다는 것을 이해할 수 있는 기회를 제공했습니다. 학생들은 자료를 읽고 가이드를 시청하고 컨테이너 안팎에서 할 수 있는 일에 관한 실험을 진행했습니다. 메모리 및 CPU 사용량을 기록해 두고 가상 저장소가 제공되는 방식과 IP 주소를 획득하는 방법도 배웠습니다.

닛산, 제임스, 마이클, 이 3명의 학생이 만든 샘플 애플리케이션은 요구된 최소 수준을 뛰어넘었습니다. 바넷 교수는 “3명이 각자 자신의 저장소를 가져와 각자의 애플리케이션을 구축했습니다. 구축된 애플리케이션은 원활하게 작동했으며, 학생들은 Google을 작업 환경으로 사용한 것에 대해 매우 만족했습니다.”라고 말합니다.

원인과 방법 이해

학생이 스스로 질문을 하고 이에 대한 답을 찾도록 하면 주제에 대해 훨씬 더 많은 것을 배우게 됩니다. 일부 실습에서 학생들은 위치(영국 또는 미국)에 따라 애플리케이션이 응답하는 데 걸리는 시간을 알아냈습니다. 이 실습에서 학생들은 실제 컴퓨팅 리소스의 위치까지 생각해야 했습니다. 한 학생이 클라우드 프로젝트에서 Google Cloud의 MySQL 데이터베이스를 구현하고 시스템 파일이 저장된 위치를 파악하기 위해 데이터베이스를 탐색했습니다.

바넷 교수는 학생들에게 가장 관심이 있는 클라우드 기술에 대해 알아보도록 요청했습니다. 일부 학생들은 Kubernetes로 컨테이너를 관리하는 방법을 알아보았고 다른 학생들은 MongoDB에서 부하 분산을 실험했습니다. 그런 다음 서로의 경험을 공유하면서 다양한 환경에 관한 폭넓은 지식을 습득했습니다.

"이제 더 이상 학생들은 물리적 서버를 기반으로 하지 않을 것입니다. 클라우드는 미래가 아니라 이미 도래한 현실입니다.”

Peter Barnett, 컴퓨터 공학과 겸임 부교수, 뉴욕 시립대학

심화된 학습 경험

CCNY의 바넷 교수가 진행하는 4학년 프로젝트 캡스톤 과정의 학생들은 현재 과학적, 사회적, 사업적으로 상당한 잠재력을 가지는 중요한 소프트웨어 프로젝트의 백엔드 부분을 구현하는 데 Google Cloud를 사용하고 있습니다.

바넷 교수는 5개의 팀을 구성하여, 필기된 문자를 광학식으로 인식하는 데 머신러닝을 사용해 인식 기능 개선, 운동하는 사람이 올바른 자세를 찾고 유지하도록 도와주는 트레이너와 물리 치료사를 지원, 머신러닝과 결합된 콘텐츠 분석을 사용해 특허 검색 기능 개선, 시각장애인 이동 시 공간 이동을 지원하도록 지하철역 및 기타 공공장소용 실내 지도 제작, 사용자 피드백에 따라 AI로 음악을 준임의로 생성 등 5개 프로젝트를 진행하도록 했습니다.

이들 프로젝트 중 대부분은 AI를 콘텐츠 분석 및 머신러닝 형태로 사용하며, Google Cloud에서 ML-Engine 및 BigQuery와 같은 강력한 API를 제공하여 이를 지원합니다. Google for Education팀은 현재 진행 중인 개발 및 테스트의 원활한 진행을 위해 각 바넷 교수팀에 Google Cloud를 충분히 사용할 수 있도록 했습니다.

실제 체험 기회 제공

실력 있는 컴퓨터 과학자가 되려면 학생들은 오늘날 업무 현장에서 사용되는 도구의 실제 적용 방법과 이론을 모두 배워야 합니다. CCNY에서는 Google Cloud와 같은 클라우드 서비스를 통해 대규모 선행 투자 없이도 최신 개발자 도구 및 대규모 클라우드 인프라에 액세스할 수 있습니다. 학생들은 Python, Ruby, Sinatra, Google Cloud 등 다양한 언어와 클라우드 플랫폼으로 작업하는 방법을 배울 수 있습니다. 자원이 제한되어 다양한 기술을 제공할 수 없는 대부분의 학교에서는 이러한 도구와 언어를 이용하지 못할 것입니다. Google Cloud는 모든 학생과 부서의 요구에 부응할 수 있는 확장 가능한 방식으로 최신 컴퓨팅 환경에 액세스할 수 있는 경제적인 방법을 제공합니다.

바넷 교수는 “클라우드 환경은 현대 운영체제의 추세입니다. 이제 더 이상 학생들은 물리적 서버를 기반으로 하지 않을 것입니다. 클라우드는 미래가 아니라 이미 도래한 현실입니다.”라고 말합니다.

여기에서 가입하고 최신 정보, 유용한 정보, 리소스 등을 받아보세요.