ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Cloud Foundary (CF)
    클라우드 2022. 1. 18. 09:14

    Cloud Foundry란 인프라와 독립적이며 Applicationr과 Service를 개발부터 배포까지 쉽고 빠르게 수행하기 위한 컨테이너 기반의 어플리케이션 플랫폼입니다.


    Cloud Foundary를 구성하기 위한 몇가지 조건(?)이 있는데. 그것은 아래와 같습니다.

    • Cloud Native
      클라우드 인프라 환경을 만드는 것을 뜻하는데.
      이것은 신뢰성있고, 확장성을 제공하는 소프트웨어 개발을 지향하는 것을 의미 하기도 합니다.
      - Cloud native application은 인프라와 독립적으로 어디로든 배포 및 확장이 가능한 Application을 의미합니다.

      - Cloud native가 되기 위한 3가지 중요한 요건은
      1. Automated Infrastructure Management and Orchestration - 인프라의 유연한 확장/축소가 가능한 IaaS 필요
      2. Platform - IaaS 위에서 다양한 서비스를 제공하는 플랫폼 (배포, 운영, 삭제 등)
      3. 12 Factor App - SaaS와 같은 서비스를 만들기 위해서 필요한 규약(방법론)
          - Twelve-Factor 방법론을 참조 해 주세요. (https://it-dict.tistory.com/2)

    Cloud Foundry란는 아래와 같은 software 최근의 발전 기술과 트렌드를 포함해야 합니다.

    • Anything as a service - as a service로 제공되는 모든 것을 활용하고, 비즈니스 가치에 집중
    • Cloud computing - 다양한 as a service가 가능하도록 인프라 자원을 on-demand로 제공
    • Containers - 기존 VM 대비 빠르고, 효율적인 자원활용 및 확장성을 제공
    • Agile - 신속한 반복 작업을 통해 실제 작동 가능한 소프트웨어를 개발하여 지속적으로 제공하기 위한 소프트웨어 개발 방식입니다
    • Automation -  CI & CD를 도입하여 최적의 SW를 자동으로 개발/배포가 가능
    • DevOps - SW의 개발과 운영의 모든 lifecycle을 통합하여 최적의 서비스 제공
    • Microservices - API로 독립된 서비스로 구성하여 서비스 확장성 및 변화에 빠른 대응
    • Business-capability teams - 비즈니스 중심의 팀으로 구성하여 SW 아키텍처를 설계
    • 모든 아키텍처 설계는 조직의 구성을 따라간다.
    • Cloud-native applications - 클라우드 네이티브 애플리케이션은 클라우드 컴퓨팅 모델의 가장 큰 장점인 민첩성과 확장성을 최대한 활용할 수 있도록 작성된 애플리케이션입니다.

    Cloud-Native Platforms은 Cloud Foundry는 다음의 특징을 가지고 있습니다.

    •  Structured Platform
       - 어플리케이션을 실행하는데 필요한 모든 기능을 인프라에 상관없이 제공해야 합니다.
       - Unstructured Platform은 특정 조직/기업에 최적화된 플랫폼입니다.
    •  Platform Opinions
       - 복잡성을 제거하여 단순한 구성을 강제됩니다.
       - 이를 통해 코드 및 운영의 간소함과 효율성을 높임니다.
    •  The Open Platform
       - 어떠한 IaaS도 사용 가능해야 합니다.
       - 다양한 개발자 프레임워크, 언어를 지원(Ruby, Go, Spring, etc)해야 합니다.
       - Apache 2 License로 공개됩니다.

    Resiliency(회복성)과 Fault Tolerance
     * Fault Tolerance - 일부 결함(fault) 또는 고장(failure)이 발생해도, 정상 또는 부분적으로 기능을 수행하는 것을 의미함


    CF는 자동으로 어플리케이션의 실패를 복구하여 정상상태를 유지되어야 합니다.

    • 실패한 시스템 프로세스는 자동으로 다시 시작
    • 누락되거나 응답하지 않는 VM 자동 재생성
    • 새로운 애플리케이션 인스턴스 자동 배포 - 애플리케이션이 충돌하거나 응답하지 않는 경우
    • Application 가용성 보장을 위해 기본 인프라는 분리
    • 동적 라우팅 및 로드 밸런싱 제공
Designed by Tistory.