Offcanvas

개발자 / 데브옵스 / 머신러닝|딥러닝 / 신기술|미래 / 애플리케이션 / 오픈소스

2018년 소프트웨어 개발 전망 10가지

2018.01.08 Siddhartha Agarwal  |  InfoWorld


7. 본격적인 프로덕션 단계에 접어드는 서버리스 아키텍처
서버리스 아키텍처의 장점은 분명하다. 예컨대 특정 이벤트에서 자신의 코드에 대한 실행 수요가 있는 경우 인프라가 인스턴스화되고, 자신의 코드를 배치 및 실행하며 자신의 코드가 구동되는 시간에 대해서만 요금을 지불하면 된다. 예를 들어 비행편, 호텔, 렌트카 등을 예약 및 취소하는 여행 예약 기능을 만들려고 한다고 해 보자. 이들 각각의 활동들은 자바, 루비, 자바스크립트, 파이썬 등 각기 다른 언어를 이용하여 서버리스 기능으로 만들 수 있다. 자신의 코드로 구동되는 애플리케이션 서버는 필요하지 않다. 되려 이들 기능은 기능들은 필요할 때에만 인프라 상에서 인스턴스화되어 실행된다.

개발자는 여러 가지 서버리스 기능을 통합하여 복합적인 거래를 처리하는 과정에서 새로운 과제에 직면하게 된다. 이들 기능이 어떻게 하나로 묶일 것인지 설명하고, 분산 거래를 디버깅하며, 또한 체인 상 하나의 기능이 실패할 경우 어떻게 이에 대한 보상 거래를 창출하여 부적절한 변화 내용을 상쇄할 것인지 결정해야 한다. FN 프로젝트 같은 오픈소스 툴이나 클라우드 서비스는 프로그래밍, 디버깅 및 서버리스 기능의 라이프사이클 관리를 돕고 노트북이나 온프레미스 서버, 또는 클라우드 상에서 이들을 테스트할 수 있게 해 줄 것이다. 여기서 가장 중요한 것은 최대한의 이동성을 제공하는 서버리스 플랫폼을 선택하는 것이다.

8. 컨테이너, 새로운 기본값이 되다
개발 및 테스트 과정에서 컨테이너가 기본이 될 것이며, 애플리케이션 프로덕션 단계에서도 컨테이너는 아주 흔해질 것이다. 특히 오픈소스 혁신과 업계 표준은 컨테이너 보안, 관리 용이성, 오케스트레이션, 모니터링 및 디버깅 수준의 향상을 주도하게 될 것이다. 컨테이너는 마이크로서비스 아키텍처, 클라우드 네이티브 앱, 서버리스 기능, 그리고 데브옵스 등 현대적 개발 트렌드를 쌓아 올리는 데 필수적인 구성 요소로 기능하게 될 것이다.

그렇지만 컨테이너가 만능은 아니다. 예를 들어 통합 PaaS나 모바일 PaaS같은 보다 규범적인 클라우드 플랫폼이 필요한 경우에는 컨테이너가 소용 없을 것이다. 하지만 보다 고차원적 클라우드 서비스의 경우 컨테이너 상에서 구동될 것이며, 결국 이러한 예외적 사례들을 통해 룰을 증명해 낼 것이다.

또한 가치 높은 상용 온프레미스 소프트웨어를 위한 소프트웨어 라이선싱 모델들 역시 컨테이너 도입의 확산 트렌드를 수용할 수밖에 없을 것이다. 소프트웨어 가격 모델들 역시 컨테이너가 인스턴스화되고, 확장 및 축소됨에 따라 라이선스의 ‘온/오프’를 지원해야 할 것이다.

9. 자체 치유, 조정, 관리 능력을 갖춰가는 소프트웨어와 시스템들
오늘날의 개발자와 프로덕션 운영팀은 로그와 웹/앱/데이터베이스 성능 모니터링, 사용자 경험 모니터링, 설정에서 수집되는 온갖 데이터에 파묻혀 익사하고 있다. 나아가 이처럼 무수한 데이터 유형들은 각자의 사일로 안에 저장되고 있기 때문에 디버그 문제 등이 발생하면, 수많은 사람들의 참여가 필요해지곤 한다. 모두 지식 전달의 문제를 야기하는 특성들이다. 그 결과 개발자는 자신의 애플리케이션과 관련한 입출 내용과 설정해야 할 기준점, 처리를 위해 모니터링 해야 할 서버 환경 등을 생산 운영자에게 전달하는 데 시간을 소요해야 한다.

하나의 저장소에 로그부터 성능 지표, 사용자 경험, 설정 등 많은 양의 데이터를 집결시키고, 여기에 충분한 컴퓨트 용량과 머신러닝, 그리고 특정 목적을 위해 제작된 알고리즘 등을 적용하면 클라우드 기반 시스템의 관리 시스템이 성능/로그/설정 모니터링 과정을 더욱 쉽게 만들어 줄 것이다.

이런 클라우드 서비스는 트랜잭션을 관찰하고(이 덕분에 운영팀은 기준치를 관리하는 수고를 덜 수 있게 되었다), 트랜잭션과 관련된 서버 토폴로지를 자동으로 이해할 수 있다. 이처럼 비정상성 탐지를 통해 정상적 행위 패턴에서 벗어나고 있는 것을 식별하고 특정 트랜잭션 문제의 근본 원인이 되는 것을 나타내는 등 시스템 관리 문제 해결에 도움을 받을 수 있다.

개발자들은 애플리케이션을 개발할 때, 특히 지능형 관리 시스템 및 자체 관리 애플리케이션을 개발할 때 이런 자동화 기술을 어떻게 활용할 지 생각해 봐야 할 것이다.

10. 개발자의 새로운 아군이 되어 줄 고도로 자동화된 보안 및 컴플라이언스
지금껏 개발자들은 보안이나 컴플라이언스를 ‘다른 사람의 일,’ 또는 ‘코드 전달의 병목’ 정도로 여겼다. 하지만 머신러닝을 기반으로 SaaS 방식으로 전달되는 포괄적 보안 및 컴플라이언스 규제의 등장으로 이제 보안 및 컴플라이언스 문제는 개발과 밀접한 관계가 될 수밖에 없다. 고도로 자동화된 사이버 보안 기술은 개발 단계에 존재하는 잠재적인 보안 위험을 식별하고 치유하는 방향으로도, 또한 생산 과정에서 발생하는 지속적인 애플리케이션 및 환경 변화(공격 식별, 취약점 보완, 지속적 컴플라이언스 평가 등)에 기업의 보안 프로파일을 적응시키는 방향으로도 배치할 수 있다.

경우에 따라서는 이러한 보호 장치가 요구사항이 된다. 특히 지속적인 컴플라이언스 평가는 GDPR 및 기타 유사 규제의 전형적인 특징이 될 것이다. 개발자, 보안 전문가, 최종 사용자 모두 데브옵스 라이프사이클 전반에 걸쳐 더욱 강력하고 자동화된 보안 접근을 통해 많은 이득을 누리게 될 것이다.  editor@itworld.co.kr

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

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

Copyright © 2024 International Data Group. All rights reserved.