2018년 상위 5대 소프트웨어 개발 동향 – Igor Lebedev, SONM CTO 작성

게시 됨: 2021-08-09

지금까지 2018년은 개발자들에게 혁신적인 해였습니다. 소프트웨어 개발은 ​​전산화 작업을 그 어느 때보다 쉽고 효율적으로 만드는 새로운 버전과 더 높은 품질의 솔루션으로 스스로를 능가했습니다. 데이터베이스는 이제 중단 없이 대규모 정보 풀을 정량화할 수 있고, 서버는 단일 단위 대신 시리즈로 판매되며, 블록체인은 분산 시스템을 사용하여 문을 열었습니다. 올해 기술 세계를 강타한 상위 5가지 소프트웨어 개발 동향은 다음과 같습니다.

빅 데이터

기업 및 공개 데이터의 지속적인 성장으로 인해 기존 데이터베이스 및 저장 장치로는 더 이상 데이터 볼륨을 사용 및 관리할 수 없는 상황이 되었습니다. RDBMS(관계형 데이터베이스 관리 시스템)가 더 이상 모든 것을 보유할 수 없다는 것을 직접 확인하면서 이전 접근 방식은 더 이상 작동하지 않습니다. 이것은 새로운 도구와 접근 방식의 출현으로 이어지지만, 더 중요한 것은 이것이 전통적인 모놀리식 데이터베이스의 지배를 끝내게 한다는 것입니다. 새로운 접근 방식은 여러 노드에서 공유되는 데이터를 저장하는 것입니다. 핵심 데이터는 여전히 기존의 중앙 집중식 데이터베이스에 저장되지만 더 많은 데이터 볼륨이 별도로 저장되고 모놀리식 데이터베이스의 점유율이 줄어듭니다. 2018년 빅 데이터의 과제는 대규모 데이터 풀을 처리하기 위해 기존 애플리케이션을 새로운 방식으로 다시 작성해야 한다는 것입니다.

수평적 확장성

기존의 확장 솔루션은 항상 더 새롭고 더 큰 서버를 구입하는 것이었습니다. 이 새로운 서버에는 더 많은 코어, 모드 캐시, 더 높은 주파수, 더 큰 메모리 뱅크, 더 빠른 버스 및 더 많은 디스크가 있습니다. 그러나 이 스케일링 솔루션에는 한계가 있으며 이미 이러한 한계에 도달했습니다. 일반 서버 섀시에는 최대 2개 또는 4개의 CPU가 있을 수 있으며 주파수를 올릴 수 없으므로 제한 없이 CPU를 추가할 수 없습니다. 어느 시점에서 수직 스케일링은 한계에 도달합니다. 다음 단계는 수평 확장입니다. 즉, 이전 서버를 교체하기 위해 더 큰 서버를 구입하는 대신 기존 풀에 추가할 동일한 유형의 추가 서버를 하나 이상 구입합니다. 이 접근 방식은 더 유연해 보이지만 다른 소프트웨어 아키텍처가 필요하며 다시 소프트웨어를 다시 작성해야 합니다. 이렇게 하면 리소스를 공유할 수 있는 기능으로 더 나은 리소스 관리의 이점을 얻을 수 있습니다. 여기서 우리는 마이크로서비스, 상태 비저장 실행 및 Kubernetes를 추세로 봅니다.

분산

세상의 변화는 새로운 도전을 불러옵니다. 정치, 배송 비용, 신뢰 또는 시장 상황과 관련이 있을 수 있지만 기업은 서비스와 소프트웨어를 분산시키는 경향이 있습니다. 콘텐츠 전송 네트워크는 ISP에 서버를 배포하고 SaaS 공급업체는 해당 국가에서 DC를 열며 기업은 재해 복구에 대해 생각합니다. 이로 인해 기업은 더 이상 하나의 메인 데이터 센터가 아닌 둘 이상을 보유하게 되며 엔지니어는 애플리케이션 아키텍처의 일부 측면을 변경하는 것에 대해 생각해야 합니다.

안개 처리

데이터 처리 사용량이 매일 증가하고 있습니다. IoT는 네트워크 에지에서 점점 더 많은 데이터를 생성합니다. 이 데이터는 전통적으로 DC나 클라우드에서 처리됩니다. 그러나 현대의 광 라인이 빠르게 발전하고 네트워크 처리량이 해마다 증가한다는 사실을 감안할 때 데이터의 양은 조례에 따라 빠르게 증가합니다. 네트워크는 항상 글로벌 정보 처리의 "병목"이었습니다. 기술적으로(대역폭 및 대기 시간 기준) 그렇지 않은 경우 경제적으로(전송당 가격 기준). 현재 데이터 웨어하우스를 다른 DC로 마이그레이션하는 가장 빠르고 저렴한 방법은 화물 차량을 불러 말 그대로 HDD를 새로운 위치로 옮기는 것입니다. 아니, 농담이 아니다.

이것은 Edge 및 Fog 처리에 대한 업계의 창립 아이디어로 이어집니다. 즉, 가능한 한 많은 데이터를 로컬에서 처리해야 합니다. 선도적인 IT 회사는 장치 근처에서 데이터를 처리하고 제공하는 솔루션을 개발하고 있습니다. 이러한 처리가 안개입니다. 여기에는 어려움이 있습니다. 클라우드에서 코드를 복사하고 작동하기를 바랄 수는 없습니다. 클라우드에서는 모든 데이터에 로컬로 액세스할 수 있지만 포그에서는 단일 노드에 모든 데이터가 없고 주변의 다른 노드에 필요한 정보를 요청해야 하기 때문입니다. 이를 위해서는 애플리케이션 개발자가 아키텍처를 채택하고 코드를 다시 작성해야 작업이 MPP(대규모 병렬 처리) 방식으로 해결될 수 있습니다. 이것은 코드와 분산형 IaaS를 다시 작성해야 하는 또 하나의 이유를 제공합니다. 새로운 애플리케이션을 호스팅할 수 있는 매력적인 플랫폼이 될 때까지.

결함 허용

우리는 생산하는 것보다 판매하는 것이 더 어려운 시대에 살고 있습니다. 시장의 동의가 높아지고 소프트웨어를 실행하는 회사는 더 나은 SLA에 대해 생각하여 우위를 확보하고 사용자로부터 신뢰를 구축합니다. 이전에 언급한 사항으로 인해 단일 시스템 구성 요소가 고장날 확률이 크게 높아집니다. 대부분의 데이터가 외부에 있기 때문에 Oracle 데이터베이스 클러스터의 충돌 시 처리 기능에 의존할 수 없습니다. 이중 전원 공급 장치가 있는 매우 안정적인 서버 두 대를 사용하는 대신 이제 10개 또는 심지어 100개의 서버가 있을 수 있으며 단일 노드 오류에 대한 수학적 예상은 1(1, 100%)에 가깝습니다. 무언가가 실패할 수 있으며 기업은 애플리케이션 아키텍처를 살펴봄으로써 이에 대해 다시 준비해야 합니다. 세상, 특히 IT는 끊임없이 변화하고 엄청나게 빠른 속도로 움직이고 있습니다. 이전 접근 방식은 작동하지 않습니다. 기업은 빅 데이터, 수평적 확장성, 탈중앙화 및 포그 처리를 모두 핵심으로 하여 소프트웨어를 다시 작성하고 있습니다. 엔지니어는 애플리케이션 측면에서 내결함성을 지속적으로 염두에 두고 있습니다.

이러한 소프트웨어 개발 동향으로 인해 단일 노드 장애에 덜 중요하고 수평 확장 옵션이 더 많은 하드웨어 및 가용성에 대한 새로운 요구 사항이 등장했습니다. 미래를 내다보면서 우리는 발전하는 기술과 더 많은 하드웨어 지원에 대한 필요성을 따라잡을 수 있는 추가 발전 추세를 예상하고 있습니다.

이고르 레베데프 소개:

Igor Lebedev는 15년 이상의 IT 경험을 가진 컴퓨터 과학 전문가입니다. 그의 전문 지식은 클래식 시스템 아키텍처, 시스템 클래스, 데이터베이스, 포그 컴퓨팅, 자동 거래 시스템, 스마트 계약 및 마이크로일렉트로닉스에 있습니다. Igor는 현재 2017년 7월부터 CTO이자 SONM 개발 팀장으로 재직하고 있습니다. Igor는 CTO로서 제품 비전과 전체 개발 프로세스에 대한 통찰력과 가치 있는 기여를 제공하는 동시에 포그 컴퓨팅, SONM 프로젝트를 만드는 개발자 팀을 지속적으로 구축하고 있습니다. .