Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.

백엔드

“여기 백엔드 개발자가 있다” 백엔드 개발자 경험을 위한 솔루션 열전

코드형 인프라와 데브옵스, 내부 플랫폼의 인기가 높아지면서 백엔드 개발자가 탄력적이면서 성능과 확장성이 우수한 서버 측 애플리케이션과 서비스를 구축하기에 훨씬 더 좋은 환경이 됐다. 그러나 너무 많은 부담을 짊어지고 있기도 하다. 현대 애플리케이션의 복잡함으로 인해 백엔드 개발자는 리눅스의 기본부터 스크립트 언어, 로깅, 모니터링, 클라우드 기반 네트워킹과 서비스 메시, 관찰 가능성, 쿠버네티스 클러스터, 그리고 공포의 YAML 파일에 이르기까지 갈수록 많은 툴과 기술, 기법을 마스터해야 한다.   백엔드 개발자에게는 숨을 쉴 공간, 명확히 말하자면 더 나은 개발 경험이 필요하다. 다행히 툴 제조 업체들이 앞다퉈 그런 경험을 제공하고 있다. 코드형 인프라의 장벽을 낮추는 것부터 쿠버네티스 워크플로우와 분산 앱 배포 과정을 원활하게 하고 필요에 따라 클라우드에 개발자 작업 공간을 마련하는 데 이르기까지, 새롭게 쏟아지는 여러 프로젝트는 서버 측에서 고난을 겪고 있는 개발자가 더 편하게 작업을 수행하는 데 도움이 될 것을 약속한다.   "백엔드 엔지니어도 감정이 있다" 오늘날의 클라우드 네이티브 세계에서 모든 유형의 개발자는 일반적으로 더 직관적이고 사용하기 쾌적한 툴에 자연스럽게 이끌린다. 간편함이나 사용 편의성과 거리가 먼 영역에서 일하는 경우라 해도 마찬가지다. 버셀(Vercel)이나 네트리파이(Netlify)와 같은 업체는 프론트엔드 개발자 경험에 초점을 두고 백엔드를 추상화하는 방식으로 큰 성공을 거두었지만, 많은 기업이 서버 인프라에 대한 어느 정도의 통제력을 원한다. 이런 백엔드를 담당하는 엔지니어도 더 나은 경험을 원할 수 있다. 레드몽크(RedMonk) 애널리스트 제임스 가버너는 “개발자가 이런 작업을 더 쉽게 할 수 있도록 서비스 업체가 지원에 나서는 것은 자연스러운 현상이며, 이 부분이 인프라와 소프트웨어 개발이 만나는 지점이다. 결국 헬름 차트, 연산자 또는 YAML을 수동으로 다룰 필요 없이 생산성을 높일...

개발자경험 백엔드 오픈소스 2022.05.10

IDG 블로그 | 포그 컴퓨팅 노드를 사용해야 할 때

포그 노드는 엣지 컴퓨팅에 새로 등장한 유망주이다. 하지만 엣지에서의 진정한 용도를 제대로 이해하지 못하면 과용할 위험이 있다. 포그 컴퓨팅 노드는 엣지 디바이스(온도계나 로봇, 자동차 내장 컴퓨터 등)와 백엔드 시스템 사이에 배치된 물리 서버라고 생각하면 된다. 보통은 퍼블릭 클라우드에서 호스팅한다. 포그 노드는 엣지 컴퓨팅의 한 가지 아키텍처 문제에 대응한다. 엣지 디바이스의 요청을 퍼블릭 클라우드 기반 서비스까지 전달하자니 너무 오래 걸리고, 데이터를 디바이스에서 직접 처리하자니 성능이 부족하다는 것.   이 3계층 시스템은 백엔드 처리의 일부를 수행할 수 있는 또 하나의 컴퓨팅 플랫폼을 추가한다. 성능이 낮은 보급형 엣지 디바이스가 데이터를 자체적으로 처리하는 데 필요한 처리 성능과 스토리지를 갖추지 못했다는 우려를 해소하는 것이다. 이제 멀리 떨어진 클라우드 서비스에 데이터를 보내고 받느라 생기는 지연을 걱정하지 않고 데이터를 포그 노드로 보내 처리할 수 있다. 이렇게 포그 노드는 단순한 문제를 해결하기 위한 단순한 해법이지만, 언제 사용하고 언제 사용하지 말아야 하는지를 알아야만 한다. 포그 노드는 데이터가 복잡하거나 자체적으로 처리해야 할 용량이 너무 커서 엣지 기반 디바이스를 압도할 때 사용해야 한다. 다시 말해, 거의 실시간으로 대응해야 하는 경우라야 한다. 서버가 과열되면 공장 로봇이 중단되는 상황을 예로 들 수 있는데, 이 경우 대응이 즉각적이어야 한다. 전문 인력이 기다리고 있다가 엣지 디바이스로 응답을 보내야 할 때도 포그 노드를 사용해야 한다. 기다릴 수 없는 이벤트에 대응이 필요한 것처럼, 인력도 거의 실시간 대응이 필요한 구조적 요소로 간주할 필요가 있다. 전문 인력은 원격 클라우드 시스템에서 오는 응답을 기다리기에는 너무 값비싼 자원이다. 서로 다른 여러 엣지 디바이스로부터 데이터를 다중 수신하거나 이런 엣지 디바이스로 데이터를 다중 송신해야 할 때 포그 노드를 사용해야 한다. 포그 노드는 여러 엣지 디바이스...

엣지컴퓨팅 포그노드 백엔드 2020.07.22

IDG 블로그 | 데이터와 프로세싱을 클라우드에 둬야만 하는 이유

필자는 IEEE가 새로 부상한 클라우드 컴퓨팅 영역까지 관장하는 것을 적극 지지한다. IEEE 논문의 기술적인 깊이는 일반 IT 책임자를 독자로 끌어들이기에 너무 깊지만, 필자는 새로운 혁신에 중점을 두고 상세한 해법을 제시하며 혁신을 증명하는 데 중점을 둔다는 점을 좋아한다. 때로는 너무 자세하다는 문제는 있지만.   최근 필자는 “모바일 클라우드 오프로딩을 위한 에너지 효율적인 의사 결정(Energy-Efficient Decision Making for Mobile Cloud Offloading)”이란 논문을 읽었다. 이 논문을 읽고 모바일 컴퓨팅 디바이스가 클라우드와 함께 한지가 10년이 넘었다는 것을 새삼 생각하게 됐다. 그럼에도 우리는 아직 모바일 디바이스 프로세싱과 데이터 스토리지의 계층화에 관해서는 본격적인 시도도 하지 않았고, 베스트 프랙티스도 만들지 않았다. 이제 때가 된 것 같다. 이 논문은 모바일 컴퓨팅의 개념을 퍼블릭 클라우드의 이점과 모바일 ‘터미널’의 이점을 결합한 것으로 설명했다. 터미널이란 용어는 과거 정보를 보여주고 소비하지만 처리하지는 않는 더미 디바이스를 이르는 말이었다. IT는 이미 가능한 한 많은 프로세싱과 데이터 스토리지를 퍼블릭 클라우드로 배치하고 있다는 점을 생각하면, 당연한 유추이다. 한편으로는 기술을 소형화해 저렴한 가격으로 쉽게 이용할 수 있도록 한 덕분에 일부 프로세싱과 스토리지 역량을 모바일 디바이스에 유지하는 것이 쉬워졌다. 이 때문에 가능한 한 많은 것을 원격지 클라우드 기반 시스템으로 보내는 것이 베스트 프랙티스임에도 모바일 디바이스는 ‘스마트’ 터미널이 되었다.  논문에서 언급한 ‘오프로딩’은 모바일 컴퓨팅 애플리케이션이 수년 동안 다뤄 온 것이다. 프로세싱과 스토리지의 위치를 묻는 것은 매우 일반적이다. 모바일 디바이스에 프로세싱과 데이터 스토리지를 유지해야 한다는 요구도 있는데, 사용자와의 인터랙션에 지연이 거의 없어야 하는 애플리케이션이다. 물론 장단점이 있다. 프로세...

오프로딩 백엔드 베스트프랙티스 2020.06.29

“네트워크가 다운되어도 돌아가는” 복원성 좋은 애플리케이션을 위한 최신 레시피

쿠버네티스, 도커, 마이크로서비스는 이제 새로운 애플리케이션 소프트웨어를 만드는 표준이다. 새로운 애플리케이션에서는 일반적으로 프론트엔드와 모바일 애플리케이션의 백엔드로 가는 요청 계층 사이에 API가 있다. 그러나 그 이후 요청은 백엔드로 가기 위해 10년 전과 다를 바 없이 여러 겹의 두꺼운 방화벽을 거쳐 일종의 애플리케이션 서버와 데이터베이스에 연결된다.   그런데 아마존발 인터넷 중단이 다시 발생하거나, 다른 원인으로 AWS가 마비되면 어떻게 될까? 전통적인 방법으로 구축된 모바일 앱 또는 인트라넷은 다운되고 400 오류와 500 오류가 발생하게 된다. 네트워크를 통해 스프레드시트 파일을 푸시하는 정도의 작업만 하고 있다면 큰 문제는 되지 않으니 걱정할 필요 없다. 그러나 예를 들어 심장병 환자에게 약을 제공하는 약국이거나 슈퍼볼 선데이에 배달해야 하는 피자 업소 입장에서는 심각한 문제가 아닐 수 없다. 다행히 애플리케이션 복원성과 고가용성 분야에서 여러 변화가 일어나면서 새로운 접근 방법이 나왔고 새로운 혁신도 목전에 두고 있다.   복원력 높은 클라이언트 애플리케이션 높은 복원력을 위한 접근 방법 중 하나는 애플리케이션 서버와 데이터베이스를 통째로 모든 위치에 두는 것이며 많은 기업이 실제로 이렇게 하고 있다. 또 다른 방법은 애플리케이션과 모바일 애플리케이션의 복원력을 높이는 것이다. 이 말은 백엔드 데이터베이스나 애플리케이션 서버가 없더라도 애플리케이션이 (서비스 수준을 낮춰서라도) 기능할 수 있어야 한다는 의미다. 예를 들어 CVS나 월그린(Walgreens)과 같은 약국 체인은 고객이 두 곳의 약국에서 나눠 약을 구매하는 경우에도 약물 상호작용이나 과용 위험을 감지할 수 있다. 제대로 설계만 된다면 이런 매장 내 애플리케이션은 네트워크 다운 시에도 실행할 수 있다. “네트워크 다운” 상황에서 특정 약물은 공급할 수 없지만 심장약은 가능하다. 다만 약사는 약물의 작용과 복용에 대해 환자에게 더 구체적인 주의사항을 전달해...

클라이언트 프론트엔드 백엔드 2020.02.24

IDG 블로그 | 에지 컴퓨팅과 클라우드 컴퓨팅의 관계 제대로 알기

에지 컴퓨팅과 클라우드 컴퓨팅은 단일 공생 솔루션을 제공한다. 이 둘은 결코 서로를 배제하지 않을 것이다; 최근 매일 듣는 말이 있다. “우리는 이제 클라우드 컴퓨팅을 넘어 에지 컴퓨팅으로 간다”는 것이다. 상당히 과장되었을 뿐만 아니라 전혀 논리적이지도 않다. 에지 컴퓨팅은 편리한 기법이다. 에지 컴퓨팅은 컴퓨팅 처리와 데이터 보유 역할을 데이터를 수집하고 또 자동으로 처리하는 대상 시스템 가까이 배치하는 역량을 말한다. 처리 작업을 위해 모든 데이터를 백엔드 시스템(보통 클라우드에 있다)으로 전송하지 않아도 되는 등 아키텍처 상의 이점은 많다. 지연도 줄고, 더 나은 보안과 안정성도 제공한다. 물론 이런 장점은 크지만, 에지 컴퓨팅 시스템은 홀로서기가 안된다. 백엔드 시스템과 공조해야만 마스터 데이터를 수집하고 심도 있는 데이터 처리 작업을 처리할 수 있다. 에지 컴퓨팅과 클라우드 컴퓨팅이 하나의 공생 솔루션을 제공하는 방식이다. 이 둘은 절대로 서로를 배제하지 않는다. 기업이 두 플랫폼 모두를 더 잘 사용할 수 있는 몇몇 베스트 프랙티스도 등장했다. 살펴보자. - 가능하다면 에지 컴퓨팅은 클라우드 컴퓨팅과 전체적으로 또는 부분적으로 동일한 코드 트리를 구동해야 한다. 예를 들어, 에지 기반의 소프트웨어를 업데이트하면, 클라우드 기반 소프트웨어도 동시에 업데이트하는 것이다. 그래서 같은 운영체제와 프로세서를 사용할 필요가 있다. 게다가 해당 소프트웨어는 현재 구동 중인 플랫폼이 에지 플랫폼인지 클라우드 플랫폼인지 인식할 수 있어야 한다. - 보안은 에지 플랫폼과 중앙 클라우드 플랫폼 모두에 체계적이어야 한다. 즉 가능하면 클라우드 기반 시스템에 사용하는 보안 시스템을 에지 컴퓨팅으로 확장해야 한다. 클라우드와 다수의 에지 컴퓨팅 각각을 위한 보안 시스템을 운영하는 것보다 공통된 보안 서비스를 다루기가 훨씬 쉬워진다. - 보안과 마찬가지로 관리와 모니터링 역시 체계적이어야 한다. 에지 컴퓨팅 ...

베스트프랙티스 백엔드 에지컴퓨팅 2018.07.11

구글, 앱 엔진을 ‘즉석 모바일 앱 백엔드’로 확장

구글이 자사 클라우드 서비스에서 구동되는 모바일 앱 개발을 촉진하기 위해 구글 앱 엔진을 대폭 업데이트했다. 다루기 까다롭지만 필수적인 모바일 앱 백엔드 인프라를 바로 이용할 수 있도록 해 개발자들이 모바일 앱 개발에 집중할 수 있도록 하는 데 중점을 두고 있다. 우선 구글은 구글 클라우드 엔드포인트란 새로운 툴과 라이브러리 모음을 발표했는데, 안드로이드와 iOS용 모바일 앱의 지원 인프라를 좀 더 쉽게 운용할 수 있다. 모바일 백엔드 스타터도 안드로이드와 iOS용 모바일 앱에 바로 사용할 수 있는 소프트웨어 스택을 대폭 업데이트했다. 두 가지 툴은 모두 구글 앱 엔진 내에서 사용할 수 있다. 클라우드 엔드포인트는 사용자 로그인 기능 등과 같이 현재 구동중인 모바일 앱의 백그라운드에서 일어나는 수많은 작업을 처리할 수 있다. 개발자가 앱용 사용자 계정을 관리하기 위한 인증 설정 등의 시간이 많이 드는 과정을 거치지 않아도 되는 것이다. 백엔드 서비스와의 커뮤니케이션은 REST 통신을 통해 구글이 자사 서비스에 액세스할 수 있도록 제공하는 여러 API로 전달된다. 구글이 제공하는 래퍼를 사용하면 앱을 다양한 구글 앱 엔진 서비스에 바로 연결할 수 있다. 또한 로드밸런싱이나 서버 유지보수 등 앱이 구동 상태를 유지하도록 하기 위한 수많은 시스템 관리 작업 역시 자동화해 준다. 클라우드 엔드포인트보다 좀 더 일괄적인 서비스가 필요하다면 모바일 백엔드 스타터를 이용하면 된다. 모바일 백엔드 스타터는 완성된 백엔드 인프라를 제공하기 때문에 모바일 앱을 구동하기 위해 필요한 여러 가지 작업을 대폭 줄여 주는데, 데이터 저장이나 사용자 인증, 푸시 알림, 또한 사용자 인터랙션을 활용하기 위한 이벤트 중심의 프로그래밍 기능 등을 제공한다. 특히 업데이트를 통해 iOS와 안드로이드 최신 버전과의 매끄러운 연동을 지원하며, 대용량 미디어 파일 관리 기능도 제공한다.  editor@itworld.co.kr

모바일 인프라 앱엔진 2013.11.12

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.