글

라벨이 #Google인 게시물 표시

[Google] spring VM으로 옮기기

[Google] spring VM으로 옮기기  GCP에 java 설치하기  GCP에 maven 설치하기 https://goni9071.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-maven-%EC%84%A4%EC%B9%98 local 터미널에서 구글 계정으로 로그인, 프로젝트(id)로 맞추기 gcloud auth list 확인 후 gcloud config set account `ACCOUNT` gcloud projects list 확인 후 gcloud config set project starry-app-238810 프로젝트가 아니라 프로젝트 id로 맞춰야 함 json키 받아서 환경변수 설정하기 터미널에 ssh-keygen 입력해서 키 생성하기 compute engine가서 수정 누른 후 ssh 키 추가(id_rsa.pub을 추가해야함) 파일 직접 옯기기  gcloud compute scp --recurse HelloAppEngine/  kimy34d2@instance-1:/home/kimy34d2/

[Google] Flutter란?

이미지
[Google] Flutter란? Flutter란 Mobile UI SDK로, "디자인 협업을 위한 프레임워크"가 주요 슬로건이다. 기존의 UI 개발 방식은 디자이너가 새 디자인의 prototype을 만들어 제공하고, 개발자가 새 디자인을 build해서 다시 보여주고 수정 사항에 대해 또 다시 반복하는 식으로 진행했다. 이렇게 디자이너와 개발자 간에 hand-over를 하는 과정에서 소모되는 시간과 노력을 최소화하고 좋은 product를 만들 수 있는 협업 workflow를 제공하는 것이 Flutter이다. Flutter의 주요 특징은 다음과 같다. 현재 구글에서 모바일 UI를 만드는데 활용 중이며, 알리바바, 텐센트 등 다양한 기업에서 Flutter를 이용한 모바일 앱 개발이 진행되고 있다. Flutte 사용 후, 모바일 UI 개발 프로세스의 시간 절약을 나타낸 그래프 출처 https://flutter.io/ https://medium.com/fm-stories/how-developers-and-designers-can-collaborate-using-flutter-35b3e49046ca

[Google] GCS 버켓 이름 변경 방법

[Google] GCS 버켓 이름 변경 방법 버킷과 관련된 저장소 등급을 변경(region변경 등)할 수 있지만, 버킷 생성 후에 버킷 생성 후에 버킷 이름이나 위치를 직접 변경할 수는 없음 버킷에 데이터가 없으면 버킷을 삭제하고 새 이름으로 또는 새 위치에 버킷을 다시 만들면 됨 버킷에 데이터가 있으면 다른 위치에 새 버킷을 만든 후 이전 버킷의 데이터를 새 버킷에 복사 중요: 소스 버킷과 대상 버킷이 서로 다른 위치에 있는 경우, 버킷 간에 데이터를 이동하면 버킷 간 네트워크 사용 비용이 발생할 수 있음. 또한 이동하는 객체가 Nearline Storage 또는 Coldline Storage객체인 경우, 버킷 간에 데이터를 이동하면 검색 및 조기 삭제 수수료가 발생할 수 있음 Nearline Storage, Coldline Storage : 백업, 보관처리, 재해 복구에 적합한 고가용성, 저비용 솔루션 출처 https://cloud.google.com/storage/docs/moving-buckets?hl=ko

[how to] Google App engine에 deploy하는 방법

[how to] Google App engine에 deploy하는 방법 공통 터미널 명령어 실행하는 디렉토리를 잘 설정해야 함 자바 Maven활용시 app.yaml 파일에서 service : {name} 에  알맞은 name쓰기 APISERVER 디렉토리에 있을 수도 있음 github에서  master를 clone한 후 (Opitional) gcloud auth list 확인후 만약 auth가 다르면 바꾸기  gcloud auth application-default login  Y입력후 바꾸기 gcloud config list project확인 후 만약 project가 다르면 바꾸기 mvn clean package -Dmaven.test.skip=true mvn appengine:deploy -Dmaven.test.skip=true vue.js NPM활용시 디렉토리 app.yaml이 있는 곳에서 진행 npm install npm run build gcloud app deploy 참고 https://cloud.google.com/sdk/gcloud/reference/app/deploy

[Google] Google Composer란?

이미지
[Google] Google Composer란? Cloud Composer 클라우드 및 사내 구축형 데이터 센터에 걸쳐있는 파이프 라인을 작성, 예약 및 모니터링 할 수 있는 완벽하게 관리되는 workflow 통합 서비스 Apache Airflow  오픈 소스 프로젝트를 기반으로 함 Python 프로그래밍 언어를 사용 DAG(Directed Acyclic Graph)로 구성되므로 모든 수준의 사용자가 workflow를 쉽게 작성하고 일정을 쉽게 수립 가능 원 클릭 배포를 통해 풍부한 커넥터 라이브러리 및 workflow의 여러 그래픽 표현에 즉각적으로 엑세스 가능 GCP와 깊은 관련이 있어 사용자가 전체 파이프라인을 관리 가능 BigQueery, Dataflow 등등 많은 제품과의 강력한 통합 기능 Workflow가 on-premises, 여러 클라우드, GCP내에 있는 모든 경우에도 단일 괄니 도구를 통해서 파이프 라인을 연결 가능 인프라 관리의 부담을 줄어들게 해줌 Apache Airflow를 기반으로 함 다양한 플랫폼과의 통합을 제공 출처 https://cloud.google.com/composer/?hl=ko

[Google] Cloud Function이란?

이미지
[Google] Cloud Function이란? 이벤트 기반 서버리스 컴퓨터 플랫폼 클라우드에서 코드를 실행하는 가장 가장 간편한 방법 자동 확장, 우수한 가용성, 내결합성 프로비저닝, 관리, 패치 또는 업데이트가 필요한 서버 없음 코드를 실행하는 만큼만 지불 클라우드 서비스 연결 및 확장 App engine보다 한 단계 발전한 것 App engine은 15분마다 인스턴스를 체크하는데  Cloud function은 100 밀리 초당 기능으로 가격을 체크 App engine은 인스턴스를 키고 끄는데 시간이 걸리지만 Cloud function은 인스턴스를 키거나 끄는데 시간이 별로 안걸림 인스턴스가 자주 돌아가고 종료되는 코드를 빠르게 변경 가능 rare calls에 대비하여 인스턴스를 계속 라이브 상태로 유지할 필요 없음 출처 https://cloud.google.com/functions/?hl=ko https://stackoverflow.com/questions/22697049/what-is-the-difference-between-google-app-engine-and-google-compute-engine

[Google] Datastore(데이터스토어)란?

이미지
[Google] Datastore(데이터스토어)란? 웹 및 모바일 애플리케이션을 위한 확장성 높은 NoSQL 데이터베이스 확장성이 높은 NoSQL DB 애플리케이션을 위한 확장성이 높은 NoSQL DB 자동 분할 및 복제 처리 를 통해 자동으로 확장되는 가용성과 내구성이 높은 DB를 제공해 애플리케이션 부하를 처리 ACID 트랜잭션, SQL 유사 쿼리 색인 등 수많은 기능 제공 간편한 연동 Cloud Datastore의 RESTful 인터페이스 를 사용해 배포 대상 모두가 간편하게 데이터에 액세스 가능 AE과 CE모두를 활용해 솔루션을 제작하고 Cloud Datastore를 통합 지점으로 활용 가능 빠른 속도와 뛰어난 확장성 provisioning 및 load 예상을 고민할 필요 없이 애플리케이션 제작에 집중 가능 Cloud Datastore는 데이터의 규모에 따라 자동으로 원활하게 확장 되므로 트래픽이 증가해도 애플리케이션을 고성능으로 유지 가능 사용하기 쉬운 쿼리 언어 스키마 없는 DB로서 애플리케이션 발전에 따른 기본 데이터 구조의 변경에 대해 걱정할 필요가 없음 여러 항목에서 데이터를 검색하고 필요에 따라 이를 정렬할 수 있는 강력한 쿼리 엔진 을 제공 출처 https://cloud.google.com/datastore/?hl=ko

[Google] Pub/Sub이란?

이미지
[Google] Pub/Sub이란? HiveMQ의 Pub/Sub 모델 매번 모든 서버를 동기화 하는일은 귀찮고 번거로운 일(특히 사진) 동기화 : 똑같이 만드는 것 동기화의 예 : 어느 장치에서 로그인을 하던 파일을 사용할 수 있게 하는 것 Pub/Sub 하나의 채널을 열어놈 여러개의 프로그램이 혹은 여러 서버가 해당 채널을 구독 서버에서 이벤트가 발생 모든 구독자들이 해당 이벤트를 받을 수 있음  Pub/Sub의 특징 Publiser와 subscriber가 1:1관계가 아니라 1:N관계 장점 : 안정적이다. 확장성이 용이하다 중간 브로커(Topic)이 있으므로 안정적 단점 : 느리다 서로 주고받을때 한 브로커(Topic)를 거쳐서 가므로 속도가 느리다 Pub/Sub의 예 공용의 저장소를 만들어 놓음 하나의 프로그래밍 사용자가 업로드한 이미지를 공용의 저장소에 올려놓음 파일을 올려 놨다고 알림 메시지를 보냄 모든 서버들이 해당 파일을 다운 받거나, 변경된 데이터를 알 수 있음 출처 https://defflee3.wordpress.com/2017/02/02/pubsub%EC%9D%B4%EB%9E%80/ https://medium.com/zaneiru-tech-life-blog/pub-sub-%EB%AA%A8%EB%8D%B8%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C-daa3c5c52aa8

[Google] Data Studio란?

이미지
[Google] Data Studio란? 대시보드 및 데이터 시각화 도구 데이터 시각화 데이터 스튜디오를 사용하면 데이터를 유용하고 읽기 쉽게 공유하기 위한 맞춤설정이 가능한 대시보드 및 보고서로 변환 선, 막대, 그래프, 영역 및 풍선 그래프 등등  데이터에 연결 하나 이상의 데이토 소스에서 정보를 가져옴 데이터 소스 도구를 사용하면 프로그램을 작성하지 않고도 다양한 데이터에 쉽게 연결 BigQuery, MySQL, PostgreSQL등 비롯한 DB CSV 파일 업로드 및 Google Cloud Storage를 통한 플랫 파일 Google 소비자 제품(예 : 스프레드 시트, YouTube 등등) 공유 및 공동작업 데이터 스튜디오 보고서 및 데이터 소스는 Google 드라이브에 파일로 저장됨 드라이브와 마찬가지로 파일을 개인, 팀 또는 전세계와 공유하기가 용이함 출처 https://support.google.com/datastudio/answer/6283323?hl=ko

[Google] 빅쿼리(BigQuery)란?

이미지
[Google] 빅쿼리(BigQuery)란? 대용량 Dataset(최대 몇 십억 개의 행)를 대화식으로 분석할 수 있는 웹 서비스 대규모 데이터 저장 및 분석 플롯폼으로, 일종의 데이터 웨어하우스 데이터 웨어하우스 : 축적된 데이터를 모아 관리하는 곳 확장 가능하고 사용이 간편한 BigQuery를 통해 개발자와 기업은 필요할 때 강력한 데이터 분석을 수행 할 수 있음 예전 BigQuery UI 현재 BigQuery UI Project : 데이터를 담는 최상위 개념, 하나의 프로젝트에 여러개의 데이터셋이 들어갈 수 있음 Dataset : RDB에서 Database의 개념이며, 하나의 Dataset에 여러개의 테이블이 들어갈 수 있음 Table : RDB에서 테이블과 동일한 개념 Job : BigQuery에서 내리는 모든 명령 Big Query의 특징 클라우드 서비스로 설치/운영이 필요 없다.(NoOps) 간단하게 클릭 몇 번으로 서비스 사용이 가능하고, 별도의 설정이나 운영이 필요 없다. 즉, 개발에만 집중 집중 집중! SQL 언어 사용 기존 RDBMS에서 사용되는 SQL언어를 그대로 사용한다. Hadoop이나 Spark등은 일정수준의 전문성이 필요한데, 빅쿼리는 로그인 후 SQL만 수행하면되므로 상대적으로 쉬움 클라우드 스케일의 인프라를 활용한 대용량 지원과 빠른 성능 데이터 복제를 통한 안정성 3개의 복제본이 서로 다른 데이터 센터에 분산되어 저장되기 때문에 데이터에 대한 유실 위험이 적다. 배치와 스트리밍 모두 지원 한꺼번에 데이터를 로딩하는 배치 외에, 실시간으로 데이터를 입력할 수 있는 스트리밍 기능을 제공 비용이 저렴하다. SQL의사용 BigQuery는 Standard SQL과 legacy SQL을 모두 제공 Legacy SQL은 초기부터 사용 된 문법이나, 2.0이후에는 Standard SQL이 지원 Standard SQL을 사...

[Google] GCP명령어 정리

[Google] GCP명령어 정리 $ gcloud auth list gcloud 인증된 계정 확인 $ gcloud auth application-default login gcloud 기본 계정 변경하기 $ gcloud auth login gcloud 로그인할 수 있는 웹 브라우저가 나옴 $ gcloud projects list 현재 ID에 로그인 되어 있어서 접근 가능한 프로젝트 목록 확인 $ gcloud init 프로젝트 초기 설정 $ gcloud app deploy 프로젝트 디플로이 $ gcloud compute scp [LOCAL_FILE_PATH] [INSTANCE_NAME]:~/ local PC에서 gcloud instance로 파일 전송 $ gcloud compute scp --recurse [INSTANCE_NAME]:[REMOTE_DIR] [LOCAL_DIR] GCP서버에서 로컬 PC로 파일 전송 출처 https://codechacha.com/ko/gcp-command/ 

[개발] stack driver로그를 이용한 API사용 현황 모니터링 부분 개발

이미지
[개발] stack driver로그를 이용한 API사용 현황 모니터링 개발 stack driver란? 목적 실제 운영환경에서는 다양한 로그들이 엄청나게 많이 나옴 이러한 로그를 적절하게 분석하기 위한 환경을 마련한 후 리포트나 시각화 (DataStudio) 를 통해여 보여주는 것 API인증 스택 드라이버를 사용하기 위해서는 로그 API에 대한 인증이 필요 인증에는 여러가지 방법이 있는데 사용이 쉬운 방법 2가지를 아래에 설명 1. local 환경 또는 타 환경에서 인증 로컬 개발환경이나 클라우드에서 인증을 하는 방법은 서비스 어카운트(Service Account)를 사용하는 방법이 있다. Service Account는 구글 클라우드 콘솔에서 IAM 메뉴에서 생성할 수 있다 햄버거 메뉴(콘솔 왼쪽 위)를 누른후 IAM & admin -> Service accounts클릭 위쪽에 있는 CREATE SERVICE ACCOUNT클릭 Service account name에 원하는 name입력 후 CREATE클릭  Select a role클릭 후 Logging -> logs Writer클릭 여기서 권한을 설정할 수 있는데, Project Owner로 설정하면 모든 권한을 다 가질수 있고, 여기서는 로깅 권한만을 줄것이기 때문에, Logs Writer권한만을 지정함. logs Writer클릭 후 Continue클릭 Create KEY클릭 JSON파일로 KEY만들기 계정을 생성하면 json파일이 다운로드가 됨 이 파일을 환경 변수 GOOGLE_APPLICATION_CREDENTIALS에 파일 경로를 지정해주면 됨 ex) export GOOGLE_APPLICATION_CREDENTIALS=/User/Anderson/keys/gcptest-21960~~~.json 2. 구글 클라우드 VM내에...

[Google] 스택드라이버(Stackdriver)란?

[Google] 스택드라이버(Stackdriver)란 스택드라이버 구글 클라우드에서 서비스로 제공되는 시스템 로그 및 모니터링 시스템 CPU, 메모리사용량과 같은 하드웨어에 대한 정보에서 부터  웹서버나 OS와 같은 미들웨어 및 애플리케이션 로그를 수집, 검색 및 분석 가능 구글 클라우드뿐만 아니라 AWS에 대한 모니터링을 통합으로도 지원 출처 :http://bcho.tistory.com/1214

[Google] Kubernetes(쿠버네티스)란?

이미지
[Google] Kubernetes(쿠버네티스) 컨테이너 사전적 의미로는 어떤 물체를 격리하는 공간 클라우드에서는 애플리케이션과 애플리케이션을 구동하는 환경을 격리한 공간을 뜻함 컨테이너 기술은 약 10여년전에 리눅스에 내장된 기술로 현재 차세대 트랜드 기술로 주목받고 있음 가상머신 과 컨테이너 의 차이점 가상머신 서버 에서는 Hypervisor로 하드웨어를 가상화하고, 그 위에 Guest OS가 설치된 가상 머신들을 구동시킴 Hypervisor : 호스트 컴퓨터 1대에서 다수의 운영체제를 동시에 실행할 수 있도록 해주는 가상 플랫폼 기술 컨테이너 서버 는 운영체제 레벨에서 CPU, RAM, Disk, Network 등의 자원을 격리하여 컨테이너에 할당하기 때문에 게스트 OS가 따로 필요 없음 가상머신(VM) 컨테이너 기술 효율성 기업환경에서는 안정적인 운영을 위해, 1개의 가상머신에 1개의 서비스를 구동하는 것을 권장 이의 경우 성능적 오버헤드가 발생 OS 커널을 공유하기 때문에 자원을 필요한 만큼 효율적으로 사용 가능 신속성 VM을 배포해야 할때 크기가 최소 GB단위의 크기 컨테이너를 배포할 때 Guest OS가 없어 MB단위의 크기로 빠르게 배포가능 비용 가상화 서버의 경우 가상머신 개수만큼 Guest OS의 라이센스 비용이 발생 Host OS 1대의 라이센스 비용만 발생 안정성 정확히 할당된 자원 내에서 가상머신이 운영되기 때문에, 컨테이너에 비해 안정적 OS 커널을 공유하기 때문에, 하나의 컨테이너가 무리하게 자원을 사용하게 될 수 있습니다. 자원 할당량을 사전에 지정시켜줄 수 있지만, 만약 이런 상황이 발생하면 컨테이너에 장애가 발생합니다. 이런 컨테이너의 문제는 뒤에 등장할 쿠버네티스로 해결할 수 있습니다. ...

[Google]App Engine(앱 엔진)

이미지
[Google]구글 앱 엔진 웹 호스팅에 google의 인프라를 이용해서 API를 편하게 사용하여 웹을 개발할 수 있는 플랫폼 Paas(Platform as a Service)  간단히 코드를 deploy 할 수 있음 예를들어, 만약 app이 성공적으로 크면, App Engine은 자동적으로 instance를 만듬 또  traffic이 줄어들면 자동적으로 instance를 줄임 (15분동안 쓰지 않으면) 단점 Python, JAVA, PHP, NodeJS, 등등 몇가지 언어만 사용 가능 Google 애플리케이션 개발 및 호스팅 플랫폼으로 Google App Engine을 사용하면 트래픽 많은 인프라를 직접 관리할 필요 없이 트래픽이 많은 웹 애플리케이션을 구축 가능. 개발자는 코드만 신경 써도 됨. 특징 제작과 유지 보수가 쉽다. 데이터 스토리지 확장이 용이하다 일정 용량과 페이뷰까지는 무료 다수의 프로그래밍 언어를 제공(JAVA, Python등등) App engine의 세팅 설정 가능 URL을  request hander와 static files를 연결시켜줌 runtime과 최신 버전과 같은 정보를 가지고 있음 각 서비스는 고유의 app.yaml 을 root directory에 가지고 있음 service : name 을 하면 app engine의 서비스 이름이 name으로 바뀜 출처 http://tokyogoose.tistory.com/288app.yaml   https://cloud.google.com/appengine/docs/standard/python/config/appref