클라우드 네이티브 되기: 웹 표준과 오픈 소스 소프트웨어가 애플리케이션 개발을 혁신하는 방법
클라우드 데이터 관리, 블록체인, 사이버 보안, 인터넷 자유에 대한 의견. Solix Technologies, Inc. 및 Minds, Inc.의 회장.
멀티클라우드 상호 운용성을 통해 소프트웨어 애플리케이션을 프라이빗 및 퍼블릭 클라우드에서 원활하게 실행하고 액세스할 수 있습니다. 오늘날 조직은 멀티클라우드 환경에 의존하여 비용과 복잡성을 줄이면서 인프라 투자를 최적화하는 동시에 가용성, 보안 또는 제어에 절대 타협하지 않습니다. 결과적으로 엔터프라이즈 애플리케이션 포트폴리오는 이제 다양한 공급업체에서 제공하는 클라우드 아키텍처와 온프레미스 환경에서 풀스택 이식성이 필요합니다.
오픈 소스로 구동
클라우드 기반 소프트웨어 W3C(World Wide Web Consortium)에서 제정한 오픈 소스 표준을 기반으로 하기 때문에 멀티클라우드 배포를 위한 이상적인 플랫폼을 제공합니다. 국제 공동체 열려있는 것으로 발전하다 기준 웹용. 디지털 변환 실시간 이벤트 기반 데이터 수집이 필요하며 W3C "One Web" 비전은 모든 W3C 호환 클라우드에서 모든 앱으로 모든 데이터를 실행할 수 있는 이상적인 아키텍처를 정의합니다.
모바일 및 IoT 기기(예: 대화형 텔레비전 시스템, 음성 응답 시스템, 키오스크, 심지어 냉장고)는 방대한 데이터 및 서비스 웹에서 데이터를 수집하고 보고하는 엄청난 범위의 기기 중 하나입니다. W3C 아키텍처와 표준을 통해 누구나, 어디에서나 다른 사람과 정보를 처리하고 공유할 수 있습니다.
표준 설정: 신뢰할 수 있는 시스템 구축
하지만 어떻게 그런 시스템에 신뢰를 설계할 수 있을까요? 규칙은 무엇일까요? 그리고 나쁜 행위자가 그저 자신의 규칙에 따라 행동하지 않는다는 것을 어떻게 확신할 수 있을까요? 좋은 소식은 W3C가 대중적 채택을 통해 신뢰를 키울 수 있는 개방형 표준과 프로토콜을 제공했다는 것입니다. W3C는 멀티 클라우드 환경에서 모든 것을 투명하게 연결하는 무료 오픈 소스 소프트웨어 아키텍처를 구축함으로써 글로벌 규모로 신뢰를 구축합니다.
오픈소스 소프트웨어는 기본적으로 코드가 투명하고 누구나 읽고 검토할 수 있기 때문에 광고된 대로 작동합니다. 사용 및 재사용을 통해 오픈소스 소프트웨어와 표준은 문서화된 대로 수행되도록 검증, 심사 및 테스트됩니다. 소스 코드가 검사에서 숨겨지고 저작권법으로 보호되는 독점 소프트웨어 시스템은 이와 동일한 주장을 할 수 없습니다.
클라우드 네이티브가 되기 위한 핵심 기술: REST, NoSQL 및 마이크로서비스
개발자들은 항상 복잡한 소프트웨어 시스템을 만들고 조립하는 더 간단한 방법을 찾고 있습니다. 대표 국가 양도 (REST)는 모든 클라우드 네이티브 소프트웨어 애플리케이션의 핵심에 있는 오픈 표준 아키텍처 스타일입니다. REST는 잘 알려져 있고 이해되기 때문에 인터넷 소프트웨어 개발의 기반이 되었습니다. 그 자손은 어디에나 있으며 Hypertext Transfer Protocol Secure(HTTPS), Uniform Resource Identifiers(URL) 및 Apache 웹 서버의 오픈 소스 프로토콜을 포함합니다.
REST는 일반성의 소프트웨어 엔지니어링 원칙에 의존합니다. 즉, 아무것도 단 하나의 특정 사례에 국한되지 않으며 REST는 네트워크의 모든 요소 간에 균일한 인터페이스를 구축합니다. 각 요소는 더 큰 시스템의 "무상태" 구성 요소로, 소프트웨어 개발을 크게 단순화하고 상호 작용 및 이벤트에 대한 가시성을 개선합니다.
NoSQL 데이터베이스 (이는 "SQL뿐만 아니라"의 약자)는 종종 클라우드 네이티브 애플리케이션의 핵심에서 발견됩니다. 데이터 중심의 실시간 사용 사례에 점점 더 많이 사용되는 NoSQL 데이터베이스는 분산 노드에서 수평적으로 확장되는 더 간단한 디자인을 제공합니다. 구조화된 데이터, 구조화되지 않은 데이터, 반구조화된 데이터를 포함한 모든 데이터를 저장하고 검색할 수 있기 때문에 NoSQL 데이터베이스는 광범위한 워크로드에 적합합니다.
NoSQL 데이터 구조는 관계형 데이터베이스 및 단순 파일 시스템과 구별되며 일반적으로 열 저장소, 문서 저장소 또는 그래프 저장소로 정의됩니다. 어떤 경우에는 NoSQL 작업이 기존 데이터 저장소보다 더 빠르게 수행되고 다른 경우에는 그렇지 않습니다. 사용할 NoSQL 스타일을 선택하는 것은 사용 사례 요구 사항에 따라 달라집니다. 관계형 구조의 표준 설계에서 벗어나면 데이터 과학자는 데이터를 더 잘 설명하고 더 강력한 데이터 통찰력을 얻을 수 있습니다.
마이크로서비스는 건축적 틀 RESTful 웹 서비스의. 앱을 서로 통신하고 자율적으로 작동하는 핵심 객체 지향 기능으로 분해함으로써, 마이크로서비스 아키텍처는 중요한 인프라 장애가 발생하더라도 계속 실행되는 분산되고 느슨하게 결합된 컴퓨팅 패브릭을 만듭니다. 한 구성 요소가 실패하거나 오류를 발생시키더라도 전체 애플리케이션을 오프라인으로 전환할 필요가 없습니다.
마이크로서비스는 표준화되어 있고 구현하기 쉬우며 소프트웨어 엔지니어링과 시스템 통합을 크게 단순화할 수 있습니다. 데이터 저장소와 같은 서비스는 애플리케이션 기능과 분리될 수 있으며, 개발자는 마이크로서비스가 다음을 사용하여 통신하기 때문에 자체 도구를 선택할 수 있습니다. 응용 프로그래밍 인터페이스 (아피스.)
쿠버네티스: 게임 체인저
소프트웨어 컨테이너는 클라우드 네이티브 애플리케이션을 개발, 배포 및 관리하는 방식을 혁신했습니다. 마이크로서비스 및 API와 마찬가지로 컨테이너는 시스템의 나머지 부분과 분리되어 있지만 컨테이너에는 기능을 실행하고 수행하는 데 필요한 모든 파일이 포함되어 있습니다. 컨테이너는 이식 가능하고 일관적이기 때문에 운영 및 프로덕션 관리가 간소화되어 개발자가 소프트웨어 개발 수명 주기를 더 잘 제어할 수 있습니다.
안에 컨테이너화된 아키텍처, 소프트웨어 서비스는 별도로 패키징되어 물리적 또는 가상 머신 클러스터에 배포됩니다. 컨테이너 오케스트레이션은 컨테이너 클러스터를 "포드"로 구성하고 컴퓨팅 리소스를 예약하여 데이터 기반 애플리케이션으로 배포, 확장 및 네트워크화합니다. 쿠버네티스는 컨테이너 "포드"를 대규모로 배포하고 관리할 수 있는 오픈 소스 프로젝트입니다. Kubernetes 온프레미스, 퍼블릭, 프라이빗 또는 하이브리드 클라우드 환경을 포함하여 어디서나 실행됩니다.
클라우드 네이티브가 되면 모든 조직이 멀티 클라우드 환경에서 상호 운용되는 애플리케이션을 구축할 수 있습니다. 소프트웨어 개발자는 엄청나게 어려운 작업이 훨씬 덜 복잡해져서 기뻐합니다. W3C의 "One Web" 비전과 무료 및 오픈 소스 표준 덕분에 모든 클라우드가 동일한 방식으로 실행되고 안전하고 보안적으로 상호 운용될 수 있습니다.
