SlideShare une entreprise Scribd logo
1  sur  62
Télécharger pour lire hors ligne
Container CI/CD with 

Google Cloud Platform
Minku Lee
CTO, Shakr
GitHub
DEVELOPMENT
GitHub
DEVELOPMENT
Travis CI
CONTINUOUS INTEGRATION
GitHub
DEVELOPMENT
Travis CI
CONTINUOUS INTEGRATION
Container 

Registry
IMAGE REGISTRY
GitHub
DEVELOPMENT
Travis CI
CONTINUOUS INTEGRATION
Container 

Registry
IMAGE REGISTRY
Compute Engine &
Container Engine
INFRASTRUCTURE
GitHub
Pull Request
Travis CI
Travis CI
Travis CI
.travis.yml
sudo: required
services:
- docker
before_script:
- docker build -t videobox:$TRAVIS_BUILD_NUMBER .
- docker images
script:
- docker run videobox:$TRAVIS_BUILD_NUMBER bundle exec rubocop
- docker run videobox:$TRAVIS_BUILD_NUMBER bundle exec rspec
- openssl aes-256-cbc -K $encrypt_key -iv $encrypt_iv -in service_account.json.enc 
-out service_account.json -d
- docker login -e docker@sha.kr -u _json_key -p "$(cat service_account.json)" https://us.gcr.io
- docker tag videobox:$TRAVIS_BUILD_NUMBER gcr.io/shakr/videobox:$TRAVIS_BUILD_NUMBER
- docker push gcr.io/shakr/videobox:$TRAVIS_BUILD_NUMBER
notifications:
slack: "..."
Docker
sudo: required
services:
- docker
https://docs.travis-ci.com/user/docker
Docker
before_script:
- docker build -t videobox:$TRAVIS_BUILD_NUMBER .
- docker images
Dockerfile
Dockerfile
script:
- docker run videobox:$TRAVIS_BUILD_NUMBER bundle exec rubocop
- docker run videobox:$TRAVIS_BUILD_NUMBER bundle exec rspec
Container Registry
- docker login -e docker@sha.kr -u _json_key 

-p "$(cat service_account.json)" 

https://us.gcr.io
- docker tag videobox:$TRAVIS_BUILD_NUMBER 

gcr.io/shakr/videobox:$TRAVIS_BUILD_NUMBER
- docker push gcr.io/shakr/videobox:$TRAVIS_BUILD_NUMBER
https://cloud.google.com/container-registry/docs/advanced-authentication
Container Registry
Google Container Registry
Google Compute Engine 인스턴스에서 

Google Compute Engine 인스턴스에서 

US, EU, ASIA
Google Compute Engine 인스턴스에서 

US, EU, ASIA
Nearline GCS
gcloud CLI
$ gcloud docker pull gcr.io/google_appengine/nodejs
Using 'pull gcr.io/google_appengine/nodejs' for DOCKER_ARGS.
Using default tag: latest
latest: Pulling from google_appengine/nodejs
a3ed95caeb02: Pull complete
..
Digest: sha256:a7fcfb84b..
Status: Downloaded newer image for gcr.io/google_appengine/
nodejs:latest
gcloud CLI
$ docker login -e docker@sha.kr -u _json_key 

-p "$(cat service_account.json)" 

https://us.gcr.io
$ docker pull gcr.io/my_gcp_project/private_image:latest
https://cloud.google.com/container-registry/docs/advanced-authentication
Cloud Console
Google Container Engine
Google Container Engine
as a service
Google Container Engine
Container Scheduling Auto-healing Service Discovery
Config Management


Load Balancing
pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: Videobox
labels:
name: videobox
spec:
containers:
- name: videobox
image: gcr.io/shakr/videobox:xxx
imagePullPolicy: IfNotPresent
env:
- name: RACK_ENV
value: production
restartPolicy: Always
dnsPolicy: default
rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: videobox
spec:
replicas: 3
selector:
app: videobox
template:
metadata:
name: videobox
labels:
app: videobox
spec:
# Pod spec here...
Pods
Nodes
Replication Controllers
Persistent Volumes
Stateful Sets (Pet Set)
Cron Jobs
Secrets
Services
Volumes
Replica Sets
Pods
Nodes
Replication Controllers
Persistent Volumes
Stateful Sets (Pet Set)
Cron Jobs
Secrets
Services
Volumes
Replica Sets
Pod
gcr.io/shakr/videobox:1
Pod
gcr.io/shakr/videobox:1
GCS PersistentVolume
Pod
gcr.io/shakr/videobox:1
Pod
gcr.io/shakr/videobox:1
Pod
gcr.io/shakr/videobox:1
Pod
gcr.io/shakr/videobox:1
Pod
gcr.io/shakr/videobox:1
Pod
gcr.io/shakr/videobox:1
ReplicationController
videobox replicas=3
replica scale-up/
scale-down
k8s worker
worker
Pod
gcr.io/shakr/videobox:1
Pod
gcr.io/shakr/videobox:1
Pod
gcr.io/shakr/videobox:1
ReplicationController
videobox replicas=3
Pod
gcr.io/shakr/vault:1
ReplicationController
vault replicas=1
(Infrastructure as Code)
Git
(Infrastructure as Code)
Git
On-Premise
(Infrastructure as Code)
Git
On-Premise
PaaS PaaS
(Infrastructure as Code)
Git
On-Premise
PaaS PaaS
master/worker
Preemptible VM
PVM Node Pool (Beta)
Preemptible VM
PVM Node Pool (Beta)
Cluster Autoscaler (Beta)
Preemptible VM
PVM Node Pool (Beta)
Cluster Autoscaler (Beta)
(>50GB per pod)
Local SSD를 Pod
Google Compute Engine
with containers!
Container-Optimized OS (BETA)
Chromium OS Verified Boot
Active-passive
systemd
cloud-init
Google
Container-Optimized OS (BETA)
gcloud CLI
$ gcloud compute instances create gci-instance-test 
--image-project google-containers 
--image-family gci-stable 
--zone asia-northeast1-a 
--machine-type n1-standard-1
cloud-init
$ gcloud compute instances create gci-instance-test 
--image-project google-containers 
--image-family gci-stable 
--zone asia-northeast1-a 
--machine-type n1-standard-1 
--metadata-from-file user-data=cloud-init.yml
cloud-init.yml
#cloud-config
users:
- name: myservice
uid: 2000
write_files:
- path: /etc/systemd/system/myservice.service
permissions: 0644
owner: root
content: |
[Unit]
Description=Start a simple docker container
[Service]
ExecStartPre=/usr/share/google/dockercfg_update.sh
ExecStart=/usr/bin/docker run --rm -u 2000 --net=host --name=myservice -e RACK_ENV=production -p 80:80 
gcr.io/project/myservice:latest
ExecStop=/usr/bin/docker stop myservice
ExecStopPost=/usr/bin/docker rm myservice
runcmd:
- systemctl daemon-reload
- systemctl enable myservice.service
- systemctl start myservice.service
systemd
VM
Preemptible VM, Regional Managed Instance Group 등
Kubernetes
GitHub
DEVELOPMENT
Travis CI
CONTINUOUS INTEGRATION
Container 

Registry
IMAGE REGISTRY
Compute Engine &
Container Engine
INFRASTRUCTURE
Google Cloud Platform
가장 앞선 컨테이너 기술을 빠르고 쉽게 적용 가능한 플랫폼
Thank you
We're looking for talented engineers!
Minku Lee minku@sha.kr

Contenu connexe

Tendances

Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...
Kubernetes Cluster API - managing the infrastructure of  multi clusters (k8s ...Kubernetes Cluster API - managing the infrastructure of  multi clusters (k8s ...
Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...
Tobias Schneck
 
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Felix Gessert
 

Tendances (20)

Google Cloud Platform Special Training
Google Cloud Platform Special TrainingGoogle Cloud Platform Special Training
Google Cloud Platform Special Training
 
My kubernetes toolkit
My kubernetes toolkitMy kubernetes toolkit
My kubernetes toolkit
 
Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기
Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기
Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기
 
Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...Serverless and Servicefull Applications - Where Microservices complements Ser...
Serverless and Servicefull Applications - Where Microservices complements Ser...
 
Google Compute Engine
Google Compute EngineGoogle Compute Engine
Google Compute Engine
 
What's new in Kubernetes
What's new in KubernetesWhat's new in Kubernetes
What's new in Kubernetes
 
Autoscaling Kubernetes
Autoscaling KubernetesAutoscaling Kubernetes
Autoscaling Kubernetes
 
Kubernetes 101 Workshop
Kubernetes 101 WorkshopKubernetes 101 Workshop
Kubernetes 101 Workshop
 
Google compute engine - overview
Google compute engine - overviewGoogle compute engine - overview
Google compute engine - overview
 
Deploying and running Grails in the cloud
Deploying and running Grails in the cloudDeploying and running Grails in the cloud
Deploying and running Grails in the cloud
 
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
 
Cloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - PresentationCloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - Presentation
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceScaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container Service
 
Kubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of ContainersKubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of Containers
 
Google Cloud Networking Deep Dive
Google Cloud Networking Deep DiveGoogle Cloud Networking Deep Dive
Google Cloud Networking Deep Dive
 
Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...
Kubernetes Cluster API - managing the infrastructure of  multi clusters (k8s ...Kubernetes Cluster API - managing the infrastructure of  multi clusters (k8s ...
Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...
 
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1
 
[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture
[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture
[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture
 

En vedette

Waffle @ Youth Venture Summit 2011 - Minku Lee & Dongsung Kim
Waffle @ Youth Venture Summit 2011 - Minku Lee & Dongsung KimWaffle @ Youth Venture Summit 2011 - Minku Lee & Dongsung Kim
Waffle @ Youth Venture Summit 2011 - Minku Lee & Dongsung Kim
Minku Lee
 
대용량 로그분석 Bigquery로 간단히 사용하기
대용량 로그분석 Bigquery로 간단히 사용하기대용량 로그분석 Bigquery로 간단히 사용하기
대용량 로그분석 Bigquery로 간단히 사용하기
Jaikwang Lee
 

En vedette (20)

Understanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud PlatformUnderstanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud Platform
 
A Tour of Google Cloud Platform
A Tour of Google Cloud PlatformA Tour of Google Cloud Platform
A Tour of Google Cloud Platform
 
Google Cloud Platform
Google Cloud Platform Google Cloud Platform
Google Cloud Platform
 
Google Cloud Platform Empowers TensorFlow and Machine Learning
Google Cloud Platform Empowers TensorFlow and Machine LearningGoogle Cloud Platform Empowers TensorFlow and Machine Learning
Google Cloud Platform Empowers TensorFlow and Machine Learning
 
Achieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesAchieving CI/CD with Kubernetes
Achieving CI/CD with Kubernetes
 
Waffle @ Youth Venture Summit 2011 - Minku Lee & Dongsung Kim
Waffle @ Youth Venture Summit 2011 - Minku Lee & Dongsung KimWaffle @ Youth Venture Summit 2011 - Minku Lee & Dongsung Kim
Waffle @ Youth Venture Summit 2011 - Minku Lee & Dongsung Kim
 
Waffle @ Startup Asia - Minku Lee
Waffle @ Startup Asia - Minku LeeWaffle @ Startup Asia - Minku Lee
Waffle @ Startup Asia - Minku Lee
 
Tectonic Summit 2016: It's Go Time
Tectonic Summit 2016: It's Go Time Tectonic Summit 2016: It's Go Time
Tectonic Summit 2016: It's Go Time
 
How to Make Test Automation for Cloud-based System
How to Make Test Automation for Cloud-based SystemHow to Make Test Automation for Cloud-based System
How to Make Test Automation for Cloud-based System
 
TIAD : Automate everything with Google Cloud
TIAD : Automate everything with Google CloudTIAD : Automate everything with Google Cloud
TIAD : Automate everything with Google Cloud
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance Test
 
Cloud Computing System models for Distributed and cloud computing & Performan...
Cloud Computing System models for Distributed and cloud computing & Performan...Cloud Computing System models for Distributed and cloud computing & Performan...
Cloud Computing System models for Distributed and cloud computing & Performan...
 
Meteor South Bay Meetup - Kubernetes & Google Container Engine
Meteor South Bay Meetup - Kubernetes & Google Container EngineMeteor South Bay Meetup - Kubernetes & Google Container Engine
Meteor South Bay Meetup - Kubernetes & Google Container Engine
 
쉐이커의 AWS 이용 사례
쉐이커의 AWS 이용 사례쉐이커의 AWS 이용 사례
쉐이커의 AWS 이용 사례
 
Thinking Outside the Container: Deploying Standalone Apps to Cloud Foundry
Thinking Outside the Container: Deploying Standalone Apps to Cloud FoundryThinking Outside the Container: Deploying Standalone Apps to Cloud Foundry
Thinking Outside the Container: Deploying Standalone Apps to Cloud Foundry
 
e-Commerce
e-Commercee-Commerce
e-Commerce
 
Cloud computing 101 with amazon web service
Cloud computing 101 with amazon web serviceCloud computing 101 with amazon web service
Cloud computing 101 with amazon web service
 
대용량 로그분석 Bigquery로 간단히 사용하기
대용량 로그분석 Bigquery로 간단히 사용하기대용량 로그분석 Bigquery로 간단히 사용하기
대용량 로그분석 Bigquery로 간단히 사용하기
 
Google's LOON Project
Google's LOON ProjectGoogle's LOON Project
Google's LOON Project
 
Speeding up Development with Cloud Foundry
Speeding up Development with Cloud FoundrySpeeding up Development with Cloud Foundry
Speeding up Development with Cloud Foundry
 

Similaire à Shakr - Container CI/CD with Google Cloud Platform

Similaire à Shakr - Container CI/CD with Google Cloud Platform (20)

Scaling docker with kubernetes
Scaling docker with kubernetesScaling docker with kubernetes
Scaling docker with kubernetes
 
Docker^3
Docker^3Docker^3
Docker^3
 
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on CloudDayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as code
 
DevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux ContainersDevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux Containers
 
Istio Playground
Istio PlaygroundIstio Playground
Istio Playground
 
CI/CD on pure AWS
CI/CD on pure AWSCI/CD on pure AWS
CI/CD on pure AWS
 
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slides
 
Kubernetes extensibility
Kubernetes extensibilityKubernetes extensibility
Kubernetes extensibility
 
Kubernetes 1001
Kubernetes 1001Kubernetes 1001
Kubernetes 1001
 
Docker in production
Docker in productionDocker in production
Docker in production
 
Continuous Integration: SaaS vs Jenkins in Cloud
Continuous Integration: SaaS vs Jenkins in CloudContinuous Integration: SaaS vs Jenkins in Cloud
Continuous Integration: SaaS vs Jenkins in Cloud
 
DCEU 18: Docker Container Networking
DCEU 18: Docker Container NetworkingDCEU 18: Docker Container Networking
DCEU 18: Docker Container Networking
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3
 
Production sec ops with kubernetes in docker
Production sec ops with kubernetes in dockerProduction sec ops with kubernetes in docker
Production sec ops with kubernetes in docker
 
DevOpSec_KubernetesOperatorUsingJava.pdf
DevOpSec_KubernetesOperatorUsingJava.pdfDevOpSec_KubernetesOperatorUsingJava.pdf
DevOpSec_KubernetesOperatorUsingJava.pdf
 
廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班
 
Kubernetes Basis: Pods, Deployments, and Services
Kubernetes Basis: Pods, Deployments, and ServicesKubernetes Basis: Pods, Deployments, and Services
Kubernetes Basis: Pods, Deployments, and Services
 
Kube-AWS
Kube-AWSKube-AWS
Kube-AWS
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Shakr - Container CI/CD with Google Cloud Platform