아이티랩 - [Introduction] 마이크로넛으로 개발하는 자바 클라우드 앱(App)

이 콘텐츠는 캐나다 토론토에서 IT 인재 양성에 힘쓰고 있는 Billy Lee 네오아베뉴 대표의 본지 독점 기고입니다. 장차 19회 연재가 예정되어 있으며(물론, 필자 사정으로 횟수는 변경될 수 있습니다.), 이번 시간에는 본격적인 연재에 앞서, 간략히 어떤 내용을 중심으로 소통할 것인지 알려드리는 시간입니다. 추후 기회가 되면 빅데이터와 하둡 관련 콘텐츠도 <디지털 인사이트> 독자 여러분께 알려드린다고 합니다. 많은 관심과 성원 부탁드립니다. <편집자 주>

초급자를 위해 준비한 백엔드 (Back-End), 마이크로넛으로 자바 웹 개발

자바 오라클 클라우드 네이티브 애플리케이션을 제작하면서 비동기 처리, I/O 처리, 고성능 웹 애플리케이션, 게다가 JIT 컴파일러 기술로 2배 이상의 빠른 애플리케이션 실행 처리로 네트워크 입력에 부하 없는 초고속 애플리케이션을 제작하고자 합니다.

Micronaut
GraalVM Enterprise Edition
Oracle Cloud
Micronaut Data
Autonomous Database
Visual Studio Code
IntelliJ IDEA Community
Oracle VirtualBox
Ubuntu
Java 11
REST API
SDKman
Gradle
DTO/POJO
▲오마이크로넛 백엔드 웹 개발 올인원 (오라클 클라우드 빌드)

✅ 왜 지금, 마이크로넛을 배워야 할까

인간이 사용하는 개발 언어와 기계가 인식하는 컴퓨터 언어 사이의 매개체 역할을 하는 프로그램 개발 언어를 인식하고 습득하는 데는 한계가 있기 마련입니다. 기계에게 학습 시키고자 개발 언어로 프로그램 구현한 뒤 마이크로넛은 개발 언어로 기계 학습을 도와 이를 웹 애플리케이션이나 기계 언어로 바꾸어 프로그램이 작동하도록 도와줍니다.

▲마이크로서비스 개발을 위한 오픈소스 JVM 기반 프레임워크, 마이크로넛(Micronaut)을 통해 더욱 손쉽고 강력한 마이크로서비스 애플리케이션을 제작할 수 있습니다.

▲마이크로넛 프레임워크를 사용하는 기관

JVM-Based Micronaut(마이크로넛)은 JVM-Based 애플리케이션을 개발하는 데 있어, 자바스크립트와 R, Ruby, Python 언어까지 GraamVM 기술과 접목한 매력적일 수밖에 없는 유니크한 기술입니다. 이번 기고에서는 이러한 다양한 언어 (All-in-one language)들을 소개하는 정도지만, 다양한 언어를 한 번의 설치로 개발할 수 있는 장점을 지니고 있는 만큼 다양한 서비스에서의 수요를 만족시킬 것이라 생각합니다.

마이크로넛으로 개발하는 자바 클라우드 애플리케이션

마이크로넛 프레임워크는 해외에서 활발히 사용하고 있습니다. 더욱이 국내에서는 이와 관련한 강의조차 찾아보기 어려워 마이크로넛 프레임워크에 쉽게 접근하지 못하는 것이 현실입니다.

그 장벽을 넘어 매력적인 이번 기회에 마이크로넛 기술을 독자 여러분과 나누고자 합니다. 그 생생한 현장을 모두 누리시길 바라는 마음도 함께 말이죠.

JVM-Based Micronaut(마이크로넛)은 컴퓨터 지침서(Computer Instruction) 바탕 위에 제작한 자바 인터프리터와 JavaC 컴파일러의 한계를 넘어 최단 컴파일과 인터프리터 기술을 가진 컴플레이션 타임(Compilation Time)의 핵심 키를 갖고 있습니다. 뿐만 아니라 미리 정의된 자바 빈 클래스들을 생산할 수도 있으며, AOT 컴플레이션을 향해 최적화된 런타임 기술을 경험할 수 있습니다.

✅ 모노리스/마이크로 서비스 개요

세 가지 프레임워크 기반 곧 모던기술(Modern), 자바 버츄얼머신 기반(JVM-Based), 풀스택(Full-Stack) 기반 프레임워크 기반으로 모듈러 빌딩과 함께 아울러 간결한 테스트 기반의 마이크로서비스 그리고 서버레스 애플리케이션 (Serverless Application)을 제작하는 기술들을 습득하게 됩니다. 

▲모노리스 애플리케이션에서 마이크로서비스 애플리케이션으로의 변화1
▲▲모노리스 애플리케이션에서 마이크로서비스 애플리케이션으로의 변화2

학습내용

Oracle GraalVM Enterprise Edition 21.2.0 and Java,
Javascript, R, Ruby, Python 기술을 동시에 제작하는
All-in-one Technology

  • 오라클에서 제공하는 네이티브 클라우드 기반 웹 애플리케이션 제작
  • 백엔드 클라우드 런타임 기반 위에 오라클 자율 운영 데이터베이스 연동으로 웹 애플리케이션 제작
  • 마이크로넛 3.x 버전의 모던 프레임워크 최신 기술 습득
  • 윈도우 오라클 버추얼박스 설치 및 우분투 20.04 LTS 운영체제 기술 습득

추가적인 학습으로 ▲오라클 클라우드 계정 세팅을 통한 자바 기술 습득 준비 ▲마이크로넛 프레임워크 3.x 기초 이해 ▲오라클 GraalVM Enterprise Edition 21.2.0으로 자바 11버전과 함께 python, r, ruby, javascript (angular.ja/Vue.js/react.js) 동시 개발 기술(All-in-one language) ▲마이크로넛 런치(Micronaut Launch)로 그래들(Gradle)과 메이븐(Maven) 자바 클라우드 웹 애플리케이션 구축 ▲프로그램 언어와 번역과정, 자바 번역기 인터프리터 구조, 컴퓨터 지침서, 자바 컨버트 도구인 자바 컴파일러와 인터프리터와 그 한계 ▲오라클 자율 운영 데이터베이스와 오라클 클라우드 인프라스트럭쳐 (OCI) 기술 습득 및 개발 ▲VS Code/IntelliJ IDE툴을 이용한 자바 클라우드 웹 애플리케이션 제작 ▲유닉스(혹은 리눅스 바탕 운영 시스템에서 멀티 소프트웨어 개발 툴 패러럴 방식의 툴 과정 등을 꼽을 수 있습니다.

Q&A

Q. 마이크로넛은 무엇인가요? 오픈 소스인 스프링이나 다른 자바스크립트 프레임워크와 비슷한가요?

마이크로넛은 자바 버추얼 머신 기반 오픈소스 소프트웨어 프레임워크(JVM-based software framework )입니다. 물론 가벼운 경량의 프레임워크(lightweight) 빌드로 구축 가능하며 모듈러 do플리케이션(Modular application) 빌드됩니다. 동시에 마이크로서비스 기반(Microservices) 어플리케이션 제작할 수 있는 자바 프레임워크입니다. 적은 메모리 풋프린트이며 단시간 스타트업 타임을 자랑합니다. 경쟁자 스프링을 비롯한 다른 웹 기반 프레임워크보다 무려 2배나 빠르답니다.

Q. 마이크로넛을 배우면서 JVM에 대한 이해가 필요한가요?

네, 당연히 기본 지식이 필요합니다. 자바 기술에서 2000년대 처리 속도와 처리량은 무척 향상되었으면서도 동시에 무거워지는 자바 엔터프라이즈 어플리케이션은 따라가지 못합니다. 1950년대부터 내려온 자바와 C언어를 비롯한 다양한 언어들은 인간 코드와 머신 언어 사이로 매개체, 컴퓨터 지침서와 통역(Interpretation)에 대한 이해를 가지고 있으면 유익한 강의 습득이 될 것이며, 동시에 Converting Process, Compiler, JVM 과 더불어 JIT Compiler 에 대한 용어와 정의는 개발자들에게는 유익한 시간이 될 것입니다. 동시에 스프링에서 빠지지 않는 의존성 기술과 의존성 주입 그리고 IoC에 대한 이해력 역시 기업에서 다루어야 할 깊은 지식과 이해는 필수 불가입니다.

Q. 그랄VM(GraalVM) 엔터프라이즈 21.2.0 과 자바 JDK 11과 서로 다른 것인가요?

두 가지는 서로 불가분의 관계입니다. 오라클에서 두 프로젝트를 동시에 진행하고 있으며, GraalVM은 자바 JDK 11뿐만 아니라 JDK 17까지 포함되어 있습니다. 물론 설치과정에서 사용자나 개발자들이 JDK 버전을 미리 선택해 다운받아 사용가능합니다. 물론 JDK 11/JDK 17을 설치하고 나면 GraalVM을 별도록 설치할 필요 없지만 통상 GraalVM 엔터프라이즈 (유료이자만 개발용으로 가능)를 설치하면 자동으로 JDK가 설치됩니다. 이는 멀티로 개발 가능하도록 돕습니다. 당연히 R, Ruby, Python, Javascript (NodeJS/Vue.JS/AngularJS/ReastJS) 모두 동시에 가능합니다. 이를 Polyglot이라 부릅니다.

Q. 오라클 자율 운영 데이터베이스(Oracle Autonomous Database)는 무엇인가요?

2017년 첫선을 보인 이래 오라클 자율 운영 데이터베이스는 튜닝 자동화된 최적의 성능을 자동화한 이상적인 데이터베이스입니다. 많은 데이터베이스 시스템에서 성능 저하 방지용 튜닝 전문가들을 필요로 한 기업들로서는 많은 비용이 들겠지만, 이 자율운영 데이터베이스는 성능 최적화를 위한 튜닝 작업을 자동화 하여 지속적으로 수행하게 되는 이상적인 데이터베이스 입니다. 또한 두번째로 데이터베이스 생성에 대한 서비스를 데이터베이스명 CPU 갯수, 스토리지 용량, 오라클 암호 관리를 모두 1분 내에 생성하는 혁식적인 신속성을 지닙니다. 세번째로 운영시간에 새로운 비지니스 분석 요건에 따라 컴퓨팅 파워와 스토리지 확장에 간단히 몇 개의 클릭으로 확장 가능한 무중단 탄력성을 지닙니다. 마지막으로 머신러닝을 제공하는 SQLNote로 데이터를 실시간으로 분석하는 비지니스의 민첩성에 효과를 발휘하고 있는 신기술이기도 하죠.


의견 0 신규등록      목록