Anzeige
Anzeige

Más contenido relacionado

Presentaciones para ti(20)

Similar a Openshift 활용을 위한 Application의 준비, Cloud Native(20)

Anzeige

Último(20)

Anzeige

Openshift 활용을 위한 Application의 준비, Cloud Native

  1. 1 OpenShift 활용을 위한 Application의 준비, Cloud Native What is Cloud-Native Jong Jin Lim (jonlim@redhat.com) Solution Architect RedHatOpenShiftContainerPlatform
  2. APPLICATION DevOps / MSA with OpenShift 2 기획 디자인 개발 테스트 어플리케이션
  3. CONTAINER ADOPTION DevOps / MSA with OpenShift 3 종속성 제거 배포 단위 생성 이미지 스택 컨테이너화
  4. EVENTS, LOGGING API MGMT, DISCOVERY RESILIENCE MESSAGING DATA SERVICES ORCHESTRATION CONFIGURATION MGMT SECURITY CONTAINER PLATFORM DevOps / MSA with OpenShift 4 컨테이너 Eco-systems
  5. DEVELOP TEST MANAGE DEPLOY EVENTS, LOGGING API MGMT, DISCOVERY RESILIENCE MESSAGING DATA SERVICES ORCHESTRATION CONFIGURATION MGMT SECURITY LIFE CYCLE 관리 DevOps / MSA with OpenShift 5 컨테이너 Life-cycle
  6. DEVELOP TEST MANAGE DEPLOY DEVOPS | MSA | CLOUD NATIVE DevOps / MSA with OpenShift 6 기존에 하던 행위 어떻게 해야 잘 할까?
  7. 7 RedHatOpenShiftContainerPlatform DevOps
  8. People : RE-ORG TO DEVOPS DevOps 8 As-Is 현 업 설 계 개 발 개발팀 구축요 청 사용 자 매니 저 운 영 운영팀 CSR 운영이관 App7 App2 App2 App5 App7 개발자와 운영자간의 사상차이 존재 As-Is 현 업 DevOps 리더 개발/배 포 DevOps 조직 구축요 청 사용 자 CSR App1 기 운영 Squad A Squad B C D E 대규모 구축/App 운영 Core Engineer DevOps Ready Developer MSA MSA 대규모 구축 후 운영 시 DevOps팀 단위로의 운영을 위한 분리된 형태의 아키텍쳐가 요구됨
  9. Process : PROCESS의 변화 예시 DevOps 9 DevOps Governance 프레임워크 DevOps 거버넌스 관리 인프라 DevOps 거버넌스 운영체계 DevOps 거버넌스 관리 프로세스 서비스 기획 및 투자 서비스 모델링 서비스 개발 서비스 운영 서비스 평가 서비스 기획 및 투자 DevOps 관리 정책 및 전략 의사결정 그룹 리더 그룹 기회관리 그룹 실행 그룹 비즈니스 전략 및 목표관리 서비스 총괄 조정 센터 서비스 발견 및 기회관리 서비스 구현 및 제공 정보 관리 서비스 모델 관리 인프라 서비스 라이프사이클 관리 인프라 ▪ 비즈니스와 IT 리더들로 구성된 의사결정 협의체 중심으로 운영 ▪ 서비스를 계획하고 계획된 서비스의 오너 식별 및투자예산 등을 결정하는 Task로 구성 서비스 모델링 ▪ 실행그룹 중심으로 운영 ▪ 계획된 서비스 유형을 정의하여 서비스를 식별 ▪ 식별된 서비스의 스펙 작성, 서비스 Realize 하는 Task로 구성 서비스 개발 ▪ 실행그룹 중심으로 운영 ▪ PaaS에서 구현될 마이크로서비스를설계, 개발, 테스트하는Task로 구성 서비스 운영 ▪ 실행그룹 중심으로 운영 ▪ 개발된 마이크로서비스에대한 운영 계획을 수립 ▪ 운영 계획을 기반으로 서비스 배포, 보안관리, 모니터링을 수행하는 Task로 구성 서비스 평가 ▪ 리더 및 기회관리 그룹 중심으로 운영 ▪ 운영되는 서비스의 재사용성, 투자대비 성과 등을 서비스 계획 시에 정의된 지표를 통하여 평가하는 Task로 구성
  10. 빌드 환경 Build/Unit Test 소스 관리 Branch Tag 티켓 관리 Commit, Test, Build 상황 관리 테스트 환경 통합 테스트 사용자 테스트 배포 환경 Technology : 지속적인 통합 및 배포(CI/CD) DevOps with Container 10 DEVELOPER Development 커밋 반영 테스트 결과 반영 확인 및 배포 Stage 소스 관리 빌드 테스트 배포 Production 소스 관리 빌드 테스트 배포 OERATIONS
  11. 국내 은행 멀티클라우드 DevOps DevOps with Container 11 Binary Build 개발 OCP Image Build & Push Private Docker Registry Project Developer Dependenciesmaster prod Resource Build Pod Pod CI/CD Pipeline 형상관리 Image Build & PushResource Build master release CI/CD Pipeline 운영 OCP Private Docker Registry Project Pod Pod 개발환경 (Azure Stack) 운영환경 (AWS) SCM Repository Manager Pod SCM
  12. 12 RedHatOpenShiftContainerPlatform MSA challenges
  13. MICROSERVICE ARCHITECTURE
  14. 14 MICROSERVICE ARCHITECTURE Runtime Service Runtime Service Runtime Service Runtime Service Runtime Service Runtime Service Runtime Service Application Server HTML Javascript Web Service Service Service Service Service Service Data Access Runtime Service Runtime Service Micro Services Architecture
  15. 15 MICROSERVICE ARCHITECTURE Runtime Service Runtime Service Runtime Service Runtime Service Runtime Service Runtime Service Runtime Service Application Server HTML Javascript Web Service Service Service Service Service Service Data Access DISTRIBUTED Runtime Service Runtime Service Micro Services Architecture
  16. MSA의 도전과제 Micro Services Architecture 16 End to End Data Integration Service Tracing Async Fail Control Automation Broke Coupling Split Datasource
  17. 17 분산 컴퓨팅에서 필요한 조건들: Source: https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing • 네트워크를 신뢰할 수 있다 • 지연 시간은 0ms! • 대역폭은 무제한이다 • 네트워크는 안전하다 • 토폴로지는 변하지 않는다 • 관리자는 한명이다 • 전송에 대한 비용은 무료다 • 단일 네트워크일 것이다 Micro Services Architecture
  18. 18 MICROSERVICE SYSTEM에 필요한 요소 BUILD DEPLOYMENT NETWORK PERSISTENCE ISOLATION FAULT TOLERANCE OBSERVABILITY SERVICE SECURITY CHAOS ENGINEERING TRAFFIC CONTROL LOGS MONITORING INFRA SECURITY RELEASE MANAGEMENT LOAD BALANCING DEPLOYMENT RESILIENCE SERVICE DISCOVERY CONFIG MANAGEMENT RESOURCE MANAGEMENT ELASTICITY INFRA INFRA OPS SERVICE OPS SERVICE Micro Services Architecture
  19. 19 MICROSERVICE SYSTEM with NETFLIX OSS INFRA INFRA OPS SERVICE OPS SERVICE Spring Cloud Config Server Netflix Eureka Netflix Zuul Server ZipKin Server Service Service Service Tracing Circuit Breaker Routing Svc Discovery Config Tracing Circuit Breaker Routing Svc Discovery Config Tracing Circuit Breaker Routing Svc Discovery Config Netflix Ribbon Netflix Hystrix Netflix Turbine Physical Virtual Cloud Micro Services Architecture
  20. NETFLIX OSS를 이용한 MSA 운영의 한계 20 비즈니스 로직에 집중할 수 없는 MSA with Netflix OSS 환경 ✖ 지속적인 업그레이드 및 수정이 필요한 Library ✖ 이식을 위해 Application 로직 수정 필요 ✖ Java 관련 언어만을 지원 Service Configuration Service Discovery Routing Circuit Breaker Tracing Micro Services Architecture
  21. NETFLIX OSS를 이용한 MSA 운영의 한계 21 Properties 관리 Code 관리 Dependency 관리 Micro Service 개수 만큼 구성 관리 x 10 x 100 x 1000 Micro Services Architecture
  22. 22 RedHatOpenShiftContainerPlatform MSA의 어려움 해결을 위한 Service Mesh
  23. SERVICE DISCOVERY / SERVICE MESH 23 Micro Service Side Car OpenShift Container Platform Build Automation ⁞ Logs ⁞ Monitoring ⁞ Infra Security ⁞ CI/CD ⁞ Load Balancing Deployment Resiliency ⁞ Service Discovery ⁞ Config ⁞ Resource Management ⁞ Elasticity Red Hat Service Mesh
  24. Logic 개발이 필요없는 MicroService Architecture 관리 기능 Observe Observe Secure ControlConnect Jaeger Kiali Prometheus Istio Grafana RED HAT SERVICE MESH Red Hat Service Mesh
  25. ISTIO를 이용한 SERVICE MESH ARCHITECTURE 25 POD ENVOY SERVICE POD ENVOY SERVICE POD ENVOY SERVICE Pilot Mixer CitadelJaeger ● Pod 수준에서 보안, 경로 규칙, 정책 및 트래픽 리포팅, 원격 분석을 적용합니다. ● Application 로직과 분리되어 소스 수정이 필요 없습니다. ● Java 뿐 아니라 여러 언어를 지원합니다. Red Hat Service Mesh
  26. Control Plane WHAT IS ISTIO? 마이크로 서비스를 연결, 관리 및 보호하는 서비스 메시 Pilot Mixer Citadel Data Plane Pod Envoy App Pod Envoy App Pod Envoy App Pod Envoy App Jaeger 모든 구성 요소가 K8S 관리하에 동작 Red Hat Service Mesh
  27. ISTIO 없이 Circuit Breaker 구현을 한다면 App App AppCB CB 코드와 함께 서비스 연결을 구현 Red Hat Service Mesh
  28. Pod ISTIO 로 Circuit Breaker 구현을 한다면 App 서비스의 코드와 관계 없이 구현 Envoy Pod App Envoy Pod App Envoy Red Hat Service Mesh
  29. Pod ISTIO가 구현하는 대표적 기능 App Envoy Pod App Envoy 서킷 브레이커 타임아웃과 재시도 유입량 조절 보안 설정 동적 라우팅 Red Hat Service Mesh
  30. 주요 기능 ● Managed ISTIO 버전 제공 ● OCP 콘솔에서 직접 링크 ● 레이블링 된 HAProxy가 라우팅 ● Kiali의 UI프레임웍 (Patternfly4) ● Kafka를 통한 Jaeger 스트리밍 지원 ● Jaeger를 외부 Elasticsearch 연결 허용 RED HAT SERVICE MESH Red Hat Service Mesh
  31. What's new in OpenShift 4.4 31 RED HAT SERVICE MESH Red Hat Service Mesh
  32. What's new in OpenShift 4.4 32 RED HAT SERVICE MESH Red Hat Service Mesh
  33. OPENSHIFT와 ISTIO를 이용한 쉬운 SERVICE MESH 구현 33 Physical Virtual Cloud SERVICE SERVICE OPS INFRA OPS INFRA OPENSHIFT THE ENTERPRISE KUBERNETES Build Automation ⁞ Logs ⁞ Monitoring ⁞ Infra Security ⁞ CI/CD ⁞ Load Balancing Deployment Resiliency ⁞ Service Discovery ⁞ Config ⁞ Resource Management ⁞ Elasticity ISTIO SERVICE MESH Load Balancing ⁞ Fault Tolerance ⁞ Traceability ⁞ Observability ⁞ Service Security ⁞ Infra Security ⁞ Chaos Engineering ⁞ Traffic Control Red Hat Service Mesh
  34. 34 Support services > Smart routing > API management > Caching service > Configuration > Messaging > SSO > Registry Application logic > Client-side load balancing > Service registration > Circuit breaker > Distributed tracing Application logic > Client-side load balancing > Circuit breaker Support services > Distributed tracing > API management > Caching service > Messaging > SSO > Registry > Configuration > Server-side load balancing Support services > API management > Caching service > Messaging > SSO Application logic > Registry > Configuration > Server-side load balancing > Client-side load balancing > Distributed tracing > Circuit breaker > Fault injection 2014 current next MSA MANAGEMENT JOURNEY Red Hat Service Mesh
  35. 35 RedHatOpenShiftContainerPlatform Accelerating Cloud-Native Development Tools
  36. 개발환경은 변화 중… Accelerating Cloud-Native Development | Workspaces 36 로컬 데스크탑, 단일 언어 및 사용자 정의 프로세스에서 ... 다양한 언어를 기반으로 컨테이너 친화적으로 하이브리드 클라우드로 Source: Cloud Development Survey 2017 - Evans Data Corp
  37. 빠르게 변화하는 개발 환경 Accelerating Cloud-Native Development | Workspaces 37 Moving to the Cloud 90% 향후 3 년 내에 개발은 클라우드 환경에서 진행될 것으로 예상하고 있습니다. Adopting Containers 66% 이미 기업들은 컨테이너 환경에서 개발하고 테스트하고 운영하고 있습니다.
  38. 그리고 눈앞의 걸림돌… Accelerating Cloud-Native Development | Workspaces 38 Config and Setup 24% 개발팀은 주중에 빌드와 개발환경 구성관리에 상당 시간을 할애합니다. Dev Tool Integration 41% 기업들은 개발 툴의 통합과 컨테이너를 위한 프로세스 관리에 시간을 낭비합니다.
  39. OPENSHIFT = DEVOPS & MSA PLATFORM Accelerating Cloud-Native Development 39 SERVICE CATALOG (LANGUAGE RUNTIMES, MIDDLEWARE, DATABASES, …) SELF-SERVICE APPLICATION LIFECYCLE MANAGEMENT (CI / CD) BUILD AUTOMATION DEPLOYMENT AUTOMATION CONTAINER CONTAINERCONTAINER CONTAINER CONTAINER NETWORKING SECURITYSTORAGE REGISTRY LOGS & METRICS ATOMIC HOST / RED HAT ENTERPRISE LINUX OCI CONTAINER RUNTIME & PACKAGING INFRASTRUCTURE AUTOMATION & COCKPIT ● 개발 및 운영을 위한 다양한 툴 제공(IDE, UX 등) ● 전통적인 WEB/WAS, 최신의 MSA 및 Serverless 아키텍처를 위한 다양한 application runtimes & services 제공 ● Auto-Healing으로 Application HA 기능 제공 ● Auto-Scaling으로 과부하 대비 기능 제공 ● 쿠버네티스 기반의 컨테이너 오케스트레이션 ● OCI 표준 컨테이너 ● 컨테이너 최적화 OS 기반 – Red Hat Enterprise Linux/Atomic Host ● 하이브리드 클라우드 환경에 설치(Bare-Metal, 다양한 VM, Public/Private IaaS 등) OpenShift Physical Virtual Private Public
  40. 로컬 환경을 위한 KUBERNETES Accelerating Cloud-Native Development | Developer Environment 40 CodeReady Container
  41. 왜 개발자에게 컨테이너 개발 환경이 필요할까요 Accelerating Cloud-Native Development | Developer Environment 41 Developers BUILD TEST Stage. & Prod. CONTAINER 컨테이너를 위한 빌드방식의 검증이 필요합니다. 컨테이너 플랫폼 환경이 개발자환경과 달라 다른 방식의 테스트와 검증법이 필요합니다.
  42. CONTAINER Developers Stage. & Prod. CONTAINER 이미 컨테이너 빌드/배포에 대한 전략을 갖추고 있습니다. 스테이지/운영 환경이 개발단계에서 수행되는 테스트와 검증 방식과 동일합니다. BUILD TEST 왜 개발자에게 컨테이너 개발 환경이 필요할까요 Accelerating Cloud-Native Development | Developer Environment 42
  43. 호환되는 환경 Accelerating Cloud-Native Development | Developer Environment 43 no-cost Red Hat Enterprise Linux® Developer Subscription CodeReady Container
  44. WORKSPACES 44 Accelerating Cloud-Native Development 조직의 개발 속도를 가속화 하고 개발 이외의 요소를 제거하는 작업공간이 필요합니다.Kubernetes-base IDE Red Hat CodeReady Workspaces는 팀 및 조직을 위해 개발 된 개발자 작업 영역 서버 및 클라우드 IDE입니다.Workspaces
  45. GA & Support 클라우드를 위한 IDE Accelerating Cloud-Native Development | Workspaces 45 Workspaces
  46. 클라우드를 위한 IDE의 가치 Accelerating Cloud-Native Development | Workspaces 46 프로젝트 개발을 가속화 하고 개발자 온보딩을 돕습니다. 컨테이너화 되는 어플리케이션을 쉽게 개발하세요! 불일치성을 제거합니다. "제 PC에서는 잘되는데요? " 같은… 보안성을 높이기 어려운 로컬환경에 더 이상 코드는 없습니다.
  47. 데스크탑 환경에 갇힌 일관성과 보안 Accelerating Cloud-Native Development | Workspaces 47 데스크탑 IDE 환경 관리 IDE Runtime (Local process or container) Project Files 테스트/스테이지/운영 환경 관리와 가이드 개발자가 관여해야하는 영역 Development
  48. IDE Runtime (Local process or container) Project Files 개발자 영역 Development 개인 개발자 작업 영역 할당과 중앙 호스팅 제공되는 환경 ECLIPSE CHE / CODE READY WORKSPACES 데스크탑 환경에 갇힌 일관성과 보안 Accelerating Cloud-Native Development | Workspaces 48
  49. CODEREADY WORKSPACES 구성 Accelerating Cloud-Native Development | Workspaces 49
  50. IDE 화면 구성 Accelerating Cloud-Native Development | Workspaces 50 Eclipse Desktop IDE Eclipse Che / CodeReady Workspaces Web IDE
  51. 51 RedHatOpenShiftContainerPlatform Focus benefits { Cloud-Native | MSA | DevOps }
  52. 각광받는 기술 Digital Transformation 새로운 전략과 기술이 주는 의미와 우리가 집중해야할 방향은? Cloud-Native MSA DevOps 52 Digital Transformation 준비에서의 가장 중요한 의미
  53. 각광받는 기술 + 우리가 얻을 이익 Cloud-Native MSA DevOps 53 형태나 기술이 아니라 가치를 취하는 것이 목적 유연성/확장성 자동화 언제어디서나 비용없는 기능 확장 인력 최소화 낮은 리스크 새로운 효율적 협업 Digital Transformation
  54. linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat 54 Red Hat is the world’s leading provider of enterprise open source software solutions. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500. Thank you RedHatOpenShiftContainerPlatform
Anzeige