Infra
-
클라우드 마이크로 서비스 - Spring CloudInfra/클라우드 2023. 12. 12. 13:08
Spring Cloud "By 2017, at least 70% of new enterprise Java applications won't be deployed on traditional app servers" 자바 엔터프라이즈 어플리케이션 의 70%이상은 기존의 앱 서버에서 작동되지 않을 것이다. - Gartner https://spring.io/projects/spring-cloud Spring Cloud Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circu..
-
클라우드 마이크로 서비스 - Microservice Architecture StructuresInfra/클라우드 2023. 12. 12. 11:44
Microservice Architecture Structures MSA 표준 구성요소 마이크로서비스는 독립적으로 deploy(배포)되고 확장될 수 있는 서비스들을 조합해서 하나의 거대한 어플리케이션을 구성하는 아키텍쳐 패턴이라고 보면 될 것 같다. 이런 마이크로 서비스를 지원하고 관리하기 위해서 일반적으로 서비스 디스커버리라던가 API 게이트웨이 아니면 오케스트레이션 또는 컨텍스트 바운더리 등의 서비스들을 연결해서 사용하게 된다. 위 그림은 2018년도 Gartner라는 시장 조사 기관에서 발표한 내용인데 넷플릭스, 트위터, 아마존, 나이티 등의 회사에서 채택한 아키텍쳐로서 소개되면서 주목을 받기 시작했다. 지금까지도 널리 많은 서비스들에서 참조되고 있는 구조이기도 하다. 아키텍쳐 관련되어 있는 표준 ..
-
클라우드 마이크로 서비스 - SOA vs MSAInfra/클라우드 2023. 12. 12. 10:33
SOA vs MSA SOA와 MSA와의 차이점 서비스의 공유 지향점 SOA - 재사용을 통한 비용 절감 MSA - 서비스 간의 결합도를 낮추어 변화에 능동적으로 대응 하나의 서비스와 연결되는 다른 서비스와의 관계를 줄인다는 얘기다. 만약 이라는 마이크로 서비스에서 저장된 회원 목록 데이터가 라는 마이크로 서비스에서 사용되기 위해서는 두 개의 서비스가 연결되거나, 결제 서비스에서 직접 회원가입 서비스에 데이터베이스에 접속해서 데이터를 사용하는 방식이 아니라, API를 통해서 결제 서비스가 회원가입 서비스에 데이터를 요청해서 사용해야 하고, 회원가입 서비스에 문제가 생길 시에도 결제 서비스에는 직접적인 영향을 주지 않고 우회화 할 수 있도록 구현된 것이 마이크로 서비스들의 관계이다. 기술 방식 SOA - 공..
-
클라우드 마이크로 서비스 - Microservice ArchitectureInfra/클라우드 2023. 12. 11. 16:05
Microservice Architecture Microservice amazon과 Netflix는 클라우드 서비스를 가장 잘 사용하고 활발히 서비스하고 외부로 공개하고 있는 회사라고 알려져 있다. 왼쪽 그림의 검은색 점은 각각의 서비스들로 서로 복잡하게 연결되어 있는 형태로 하나의 아마존 닷컴이라는 서비스를 유지하고 있다. 그림 오른쪽의 넷플릭스라는 회사도 가각 초록색 단말에 해당하는 마이크로 서비스에서 파란색으로 보이는 이 서비스들 간의 호출 작업을 복잡하게 하고 있는 것을 확인할 수 있다. In 2002, Amazon founder and CEO Jeff Bezo's Email to Employees. 1. All team will henceforth expose their data and func..
-
클라우드 마이크로 서비스 - Monolithic vs MSAInfra/클라우드 2023. 12. 11. 13:25
Monolith vs Microservices Monilith 모노리스 방식이라는 것은 애플리케이션을 개발함에 있어서 필요한 모든 요소를 하나의 커다란 소프트웨어 안에 포함시켜서 개발하는 방식이다. 데이터베이스 관련된 로직이라든가 비지니스 관련된 로직뿐만 아니라 화면을 처리해주는 프론트 기술까지 서비스에 대한 모든 내용들이 하나의 어플리케이션 안에서 유기적으로 연결되어 있고 배포되기 위해서 서로 의존성을 가진채 패키징 되어 운영서버에 배포되게 된다. Monolith Architecture 모든 업무 로직이 하나의 애플리케이션 형태로 패키지 되어 서비스 애플리케이션에서 사용하는 데이터가 한곳에 모여 참조되어 서비스되는 형태 Microservices 어플리케이션을 구성하는 각각의 요소 밑 서비스의 내용을 분..
-
클라우드 마이크로 서비스 - 12 FactorsInfra/클라우드 2023. 12. 8. 16:38
12 Factors https://12factor.net/ The Twelve-Factor App Background The contributors to this document have been directly involved in the development and deployment of hundreds of apps, and indirectly witnessed the development, operation, and scaling of hundreds of thousands of apps via our work on the Heroku pla 12factor.net 12팩터스는 클라우드 서비스 중 플래폼 Azure 서비스 즉 PaaS라는 형태의 서비스를 제공하는 Heroku라는 개발 회사에서 제..
-
클라우드 마이크로 서비스 - Cloud Native ApplicationInfra/클라우드 2023. 12. 8. 13:59
Cloud Native Application 클라우드 네이티브 아키텍쳐에 의해 설계되고 구현되는 어플리케이션을 클라우드 네이티브 네이티브 어플리케이션 이라고 볼 수 있는데, 클라우드 네이티브 어플리케이션은 앞선 게시글에 소개한 클라우드 네이티브 아키텍쳐의 특징을 그대로 가진다. DevOps DevOps에서는 처음에 시스템이 기획이 되고 → 구현되고 → 테스트되고 → 배포되는 과정을 시스템이 종료될 때까지 무한 반복해줌으로써 고객의 사용성이 최대화 되는 결과를 만드는 것에 그 목적을 두고 있다. Containers 하나의 어플리케이션을 구성하는 마이크로 서비스들을 클라우드 환경에 배포하고 사용하기 위해서는 컨테이너 가상화 기술을 사용하게 된다. CI/CD 지속적인 통합, CI(Continuous Integ..
-
클라우드 마이크로 서비스 - 소프트웨어 아키텍쳐,Cloud Native ArchitectureInfra/클라우드 2023. 12. 8. 11:21
Software Architecture Atifragile 1. Auto scaling Auto scaling 시스템을 구성하고 있는 인스턴스를 하나의 Auto Scaling group으로 묶은 다음 그룹에서 유지 되어야 하는 최소 인스턴스를 지정할 수 있다.(최소 규모) 더불어 사용량에 따라 자동으로 인스터스를 증가 할 수 있는 환경을 의미한다. 서비스에 특수한 이벤트가 있는 기간에는 서버의 운영개수(인스턴스)를 늘리고, 비수기에는 서버의 운영 개수를 줄인다. Auto scaling을 활용하면 이런 작업이 관리자 또는 운영자에 의해 수동으로 설정되는 것이 아니라 CPU,메모리,네트워크,데이터베이스 사용량이나 조건에 따라서 자동으로 처리 할수 있다. 2. Microservices 위 그림은 Netflix..