4. Cloud Native Platform의 요건
APPLICATION
Scaling통합로그
수집
SSO
연동
자동복구
성능 및
분산모니
터링
네트워킹
로드밸런싱
Infrastructure Agnostic
and Utilization
플랫폼 보안
데이터보안
Data Services
연동 자동화
자동화된
CI/CD
플랫폼
고가용성
성능 및
분산모니
터링
데이터보안
8. Cloud Native Platform의 요건
APPLICATION
Scaling통합로그
수집
SSO
연동
자동복구
성능 및
분산모니
터링
네트워킹
로드밸런싱
Infrastructure Agnostic
and Utilization
플랫폼 보안
데이터보안
Data Services
연동 자동화
자동화된
CI/CD
플랫폼
고가용성
성능 및
분산모니
터링
데이터보안
9. SPRING을 위한 최적화된 플랫폼
Scaling통합로그
수집
SSO
연동
자동복구
성능 및
분산모니
터링
네트워킹
로드밸런싱
Infrastructure Agnostic
and Utilization
플랫폼 보안
데이터보안
Data Services
연동 자동화
자동화된
CI/CD
플랫폼
고가용성
성능 및
분산모니
터링
데이터보안
10. ■ 기반 마이크로서비스(Spring Cloud Services)
■ 마이크로서비스 분산추적(Trace Explorer)
■ 애플리케이션 상태 모니터링(Spring Actuator)
■ 모니터링 시스템 연동(Metrics Forwarder Service)
■ Demo
17. 마이크로서비스를 위한 기반 서비스를 플랫폼에서 관리형
으로 제공
Config Server for PCF
애플리케이션의 외부 프로퍼티를 중앙에서 관리하는 동적 중앙 설정 서비스 제공
hello-server-dev hello-server-stage hello-server-prod
refresh w/ curl
application.yml
• hello-server-dev.yml
• hello-server-stage.yml
• hello-server-prod.yml
18. 플랫폼에서 관리형으로 제공될 때의 장점은?
With PCFWithout PCF
Config Server Service Registry
(Eureka)
Circuit Breaker
(Hystrix)
개발자가 배포 및 보안 관리 플랫폼이 배포 및 보안 관리
Config Server Service Registry
(Eureka)
Circuit Breaker
(Hystrix)
19. ■ 기반 마이크로서비스(Spring Cloud Services)
■ 마이크로서비스 분산추적(Trace Explorer)
■ 애플리케이션 상태 모니터링(Spring Actuator)
■ 모니터링 시스템 연동(Metrics Forwarder Service)
■ Demo
20. 마이크로서비스의 분산추적
Spring Boot
App
Spring Boot
App
PCF Metrics
Trace Explorer
GoRouter
Spring Boot
App
Spring Boot
App
X-B3-SpaceId
X-B3-TraceId
X-B3-TraceId
39. With PCFCloud Native Reference Architecture
PRIVATE CLOUD PUBLIC CLOUD
CLOUD ORCHESTRATION
& AUTOMATION
LANGUAGES
Java
.NET
Python
CONTAINER
ORCHESTRATION
CONTAINERS MESSAGING
DATA MICROSERVICES CIRCUIT BREAKERS
Hystrix
DIY
LOAD BALANCING
Ribbon
Zuul
DATABASES AND DATA
MANAGEMENT
DISCOVERY &
REGISTRATION
Consul
Eureka
etcd
VERSION CONTROL
DEV FRAMEWORKS
Buildpacks
API MANAGEMENT
SECURITY &
COMPLIANCE
SSO
IPSEC
METRICS &
DASHBOARDS
PCF Metrics
PCF Logging
BOSH
Docker RunC
Ruby
Go
*.JS
CI / CD
NETWORKING
MONITORING / LOGGING
Azure
MySQL Gemfire
Redis RabbitMQ
Gitlab
Jenkins Artifactory
Spring Cloud
Dataflow
RabbitMQ
PCF Elastic Runtime
HA Proxy Router
Service Broker
Service Nodes
Service
Service Broker
Service Nodes
Service
Ops Manager UI
Ops Manager Director
Operations Manager
Others
Diving into Spring Cloud Netflix, for example, we see here some of the Netflix OSS projects for which Spring Cloud provides integrations.
Ribbon, the Netflix client-side load balancer, and Eureka, the Netflix discovery server, can be used together as we saw earlier where the client side load balancer loads routing information from the discovery server and applies its own load balancing rules.
Netflix Hystrix is an implementation of a circuit breaker. With Spring annotations, we can use AOP to add fallback commands to methods. We can also automatically report failures and metrics ass streams, in accordance with 12-factor app principles, and Netflix Turbine can collect these streams and provide an aggregated visualization into the state of all circuit breakers in the system.
------------------------------
Auxiliary notes:
Ribbon: A client load balancer. Ribbon loads routing info from Eureka. It has several implementations of load balancing rules. Ribbon is used internally by Feign
Feign: A declarative REST client. Allows annotation of interface to be mapped to endpoints. When combined with Ribbon it adds load balancing capabilities to the client interface
Hystrix: Circuit breaker patter implementation. Via spring annotations add commands to methods using AOP. Protects clients from failures and reports metrics via a stream of HTTP events
Zuul: A set of HTTP filters do add routing, security. On spring its used to create a CORS filter for UI apps to be able to access external services
Archaius: Dynamic configuration management. Used with Spring’s config server to allow dynamic properties loading
Eureka: Discovery server
Turbine: Event aggregation engine. It can combine several streams (hystrix) into one combined view, that can be view later on a dashboard
기반 마이크로서비스(Spring Cloud Services)
마이크로서비스 분산추적(Trace Explorer)
애플리케이션 상태 모니터링(Spring Actuator)
모니터링 시스템 연동(Metrics Forwarder Service)
Demo