Ionic Capacitor의 개념Ionic Capacitor는 하이브리드 모바일 앱을 개발하기 위한 오픈소스 프레임워크로 여러 OS의 웹, 앱에 거의 동일한 UI 적용이 가능하며 Progressive Web Apps를 개발할 수 있는 오픈소스 Native Runtime이다. Capacitor는 Cordova를 대체하기 위해 개발되었으며, Ionic Framework와 함께 사용할 수 있습니다. 2013년 이후 모바일 사용자가 데스크탑 사용자보다 많아지고 2015년 이후로는 모바일 Native App보다 Web을 사용하는 사람이 더 많아졌다. 이는 Native App의 용량이 커지고 무거워짐에 따라 App을 굳이 설치하여 쓰지 않고 Web을 사용해서 더 많이 시간을 보내게 되면서 부터다. 이에 따라 Ap..
Svelte의 개념Svelte는 빠르게 웹 애플리케이션을 구축할 수 있는 도구이다. Svelte는 자바스크립트 기반의Front-end Web Framework로, 애플리케이션을 구축하기 위한 프레임워크로서 개발자가 UI를 작성하는 방식을 변화시키는 새로운 접근 방식을 제공한다. Svelte는 2016년 Reactive를 개발한 Rich Harris에 의해 개발되었으며, 2018년에 처음 공개되었다. Svelte는 기존의 React, Vue 등 대부분의 Front-end Web Framework가 가지고 있던 단점을 보완해서 가볍고 빠른 개발을 가능하게 하기 위해여 개발되었다.Svelte는 "Framework without Framework"라는 개념으로 설계하여 HTML에 애플리케이션을 표기하는데 필요한..
Quarkus의 개념 Quarkus는 Java 가상머신(JVM) 및 Native 컴파일을 위해 만들어진 풀스택, 쿠버네티스 Java 프레임워크이다. 기본적으로 GraalVM과 함께 사용되며, 클라우드 네이티브 애플리케이션 개발에 적합한 기술 스택과 기능을 제공한다. Java는 On-premise환경의 대규모 서비스에 적합하도록 설계되어 있기 때문에 컨테이너 중심의 Cloud-Native환경에서는 느린 부팅속도, 많은 리소스 사용, 유연성 부족 등 여러 문제가 발생하였고, 이를 해결하기 위해서 Red Hat이 주관이 되어 Quarkus Project가 시작되었다. Quarkus Project에서는 마이크로서비스, K8s용 가상머신인 GraalVM과 OpenJDK HotSpot에 최적화되도록 설계되었으며, ..
AsyncAPI의 개념 AsyncAPI는 Message-driven API를 Machine-readable한 형식으로 기술하고 문서화하기 위한 명세서 이다. 다시말해 비동기 API를 설계하고 문서화하는 OpenAPI와 유사한 표준화된 형식의 명세서이다. 이 명세서는 메시지 기반 아키텍처에서 사용되는 메시지 브로커, 스트림 처리 엔진 등과 같은 다양한 비동기 시스템을 기술한다. AsyncAPI는 비동기 API의 설계와 관련된 문제를 해결하기 위해 만들어졌으며, 메시지의 전송 프로토콜, 메시지의 스키마, 메시지 처리 규칙 등을 정의하여 비동기 시스템 간의 상호운용성을 향상시킨다. 또한, AsyncAPI는 각각의 비동기 API를 쉽게 검색하고 참조할 수 있는 API 카탈로그 역할을 수행하며, 모든 API의 작..
Data Gateway의 개념 Data Gateway는 여러 소스의 데이터에 대한 접근을 제공하는 소프트웨어입니다.Data Gateway는 데이터 소스 및 데이터 소비자 간의 인터페이스 역할을 하며, 데이터를 전달하고 데이터를 요청하는 사용자나 응용 프로그램을 안전하게 연결합니다. Data Gateway는 클라우드 네이티브 환경에서 분산되어 존재하는 여러 Microservice들이 각자 활용하는 Database유형에 무관하게 서로 유연하게 연계되어 서비스를 제공할 수 있도록 데이터 관점에서 추상화, 보안, 확장 등의 기능을 제공하는 Gateway입니다. 주로 클라우드 기반 애플리케이션과 로컬 데이터 소스 간의 데이터 통합을 용이하게 하기 위해 사용됩니다.예를 들어, 기업 내부 데이터 소스와 클라우드 기반..
Dapr(Distributed application runtime)의 개념 Dapr(Distributed application runtime)는 2019년 10월에 Microsoft가 발표한 것으로 Cloud, Edge의 분산 환경에서 실행되는 Micro Service Architecture 기반 애플리케이션을 위한 오픈소스 Event driven runtime이다. Dapr는 분산 시스템의 접근, 제어, 연결, 가시성 관련 빌딩블록을 서비스로 제공함으로써, 개발자가 분산 시스템의 복잡성을 신경쓰지 않고 확장가능한 분산 애플리케이션을 손쉽게 개발가능하게 한다. Dapr에서는 Sidecar패턴을 사용하여 애플리케이션 통합한다. Dapr Sidecar를 시스템에 추가되면 필요한 빌딩 블록을 활용할 수 있다...
WebAssembly의 개념 WebAssembly는 약어로 WASM, 와즘 이라고도 하는데 웹 애플리케이션 성능향상을 위해 개발한 기술로 웹 표준 언어인 JavaScript가 아닌 언어로 작성된 코드를 재작성할 필요 없이 별도의 플러그인 없이도 Native 애플리케이션에 가까운 속도로 웹브라우저에서 실행하는 방법을 제공하는 도구이다 좀 더 상세히 설명하며, C, C++, Rust 등의 고급 언어로 작성된 코드를 최적화하여 웹 브라우저에서 실행할 수 있는 이진 형태의 파일로 변환하여 웹브라우저 상에서 실행가능하며 이식가능한 Binary Format 을 정의한 개방형 표준으로, 간략히 말해 웹 브라우저 상에서 네이티브 애플리키이션에 가까운 성능으로 프로그램을 실행 가능하게 하는 기술이다. WebAssembl..
API Mediation의 개념 Cloud Native, MSA(Micro Service Architectrure) 등이 발전하면서 점차 loosely-coupled 서비스들 간의 통신과 연계가 중요해지기 시작했으며, Event-driven, API-first 아키텍처가 주요 사상으로 자리잡게 되면서 API를 통한 백앤드와 애플리케이션가의 통합이 널리 사용되고 있다. 하지만, 서비스에 따라서 API의 프로토콜을 변환해야 하거나 여러 API를 묶어 제공해야 하는 경우 API Gateway의 부담이 가중됨에 따라, 복잡해진 컴퓨팅 환경에서 더욱 빠르고 안전하게 백앤드, Microservice를 결합하기 위해 API Mediation이 등장하였다. 즉, API Mediation은 다양한 백앤드 리소스를 가져와..