GliaCloud is a technology company that created GliaStudio, an AI video creation platform that allows users to generate videos quickly from content using AI. The company's CEO founded it in 2015 to make AI and big data more accessible to everyday users. GliaStudio uses natural language processing, image recognition, and a video generation process to automatically create videos in seconds from user-provided content without extensive manual work. GliaCloud migrated its services to Google Cloud Platform in 2017 to improve scalability and reduce costs and resources needed.
Build Smart Service on GCP - Google DevFest 2018 Taiwan
1. Built smart service
on GCP
GliaStudio - AI Video Creation Platform
David Chen, CEO
201810
2. GliaCloud is a technology company
empowering every individual to use and
enjoy Artificial Intelligence and Big Data in
their daily lives.
Founded in 2015, our flagship product,
GliaStudio, is an AI video creation platform
that allows media industry to embrace the
rich video content with ease.
GliaCloud
3. Founder
Our CEO David Chen graduated from NCTU AI Lab in
Taiwan and has several AI related publications on
International journals. Start to use Google Cloud since
2008 and become one of the Google Cloud Developer
Experts (GDE) since 2014.
Before GliaCloud, David co-founded a startup doing
real-time bidding advertising platform and fully
focused on performance advertising. He then feels
that the current AI technology applications is quite
limited and would like to explore the possibility for
more innovations. That’s why he founded GliaCloud.
4. AI Video Revolution
Script Produce Voiceover Edit Export Video
Current Solution: Time consuming and labor intensive. Difficult to scale up.
Content Video
GliaStudio: Use AI to generate videos right from your contents in seconds.
9. Micro-Service
A properly implemented microservices-based application can achieve
the following goals:
• Define strong contracts between the various microservices.
• Allow for independent deployment cycles, including rollback.
• Facilitate concurrent, A/B release testing on subsystems.
• Minimize test automation and quality-assurance overhead.
• Improve clarity of logging and monitoring.
• Provide fine-grained cost accounting.
• Increase overall application scalability and reliability.
Source: https://cloud.google.com/appengine/docs/standard/python/microservices-on-app-engine
10. Use GCP
•Why GCP? Cloud Native
Video Production x 10
1000 daily à 18000 daily
with almost the same cost
•Setup time 30sec à 3sec
•Image Size 5GB à 1.3GB
•Memory Usage 8GB à 1GB
Migrate to GCP (2017/12 ~)
Phase 1:
use GKE
Phase 2:
use gRPC and Cloud Endpoint
12. Goal:
• Build for Scale
• Focus on Code, instead of machine
• Version Control
• Reproduce
• (Docker)
• Continuous XXX
• Early detection of early treatment
Cloud Native
13. Stack
•Unify ML algorithm, dataset management, training and testing...
[GBrain]
•GliaStudio and other service
[Application]
•Unify dev/prod env for micro-services python-applications
•Protocol & APIs format, common packages, design patterns, logging & notifications, ...
•Based on gRPC + Cloud Endpoint
[GEnv]
•Handle common env setup
Docker
•Unify env for micro-service deployment
•security, common image (ffmpeg), os, other service (db, cache, …)
[G8s] à KNative, Istio
•Handle common DevOps tasks
•deployment, networking, scale and recover
K8S (GKE)
•GCP
VM
PAAS / FAAS
Micro-service
Phase 1
Phase 2
Phase 3
14. G8S
Build GAE on GKE
Why:
• Configure/deploy are painful
• Configure 1 deployment vs configure 1X deployment
• How to keep everything sync?
17. G8S - CLI
➜ src git:(fix-460-permissions) ✗ source ../venv/bin/activate
(venv) ➜ src git:(fix-460-permissions) ✗ g8
g8 version 0.2.28
Type: Main
String form: <src.g8.Main object at 0x10cf2ca10>
File: ~/repos/gstudio/venv/lib/python2.7/site-packages/src/g8.py
Usage: g8 -
g8 - application
g8 - backbone
g8 - build
g8 - debug
g8 - delete
g8 - deploy
g8 - dry
g8 - image-url
g8 - project
g8 - promote
g8 - pyfmt
g8 - release
g8 - scale
g8 - version
Based on Google Fire
18. GENV
Cloud
Endpoints
GQueue
Cloud Endpoint
Media Storage
Cloud Storage
Meta Data & Workflow
Cloud SQL
Meta Data & Workflow
Cloud Datastore
Media Processing
Container Engine
Autoscaling
Asset Mgmt & Sharing
Container Engine
Autoscaling
Cloud Load
Balancing
Cloud Network
W/ Edge Cache
19. GENV
• Logging
• Stack Driver Logging, Error Report
• Cache
• Storage
• Cloud Storage
• RPC
• django Restful, gRPC & Cloud
Endpoint
• Type
• Attrs / Schematic / Enum
• Common Design Pattern
• Singleton / Factory
• Utility
• Test
Based on Django and Python 2 / 3
20. GENV - GQUEUE
Based on Google Pipeline API
Feature:
DAG for micro-service. class RecordVideo(Pipe):
def run(self, video, fps=25):
…
clips = []
# MAP
for screen in screens:
clip = yield RecordScreen(screen, fps)
clips.append(clip)
screens = yield List(*screens)
clips = yield List(*clips)
# REDUCE
yield Concat(video['audio'], screens, clips)
21. API
GBrain
Data Sources
Machine Learning
Model
Language Model
Container Engine
Behavior Model
Container Engine
Vision Model
Container Engine
Information
Cloud Storage
Behavior Data
Cloud SQL
Analytics
BigQuery
ETL
Cloud Dataflow
Transform Data
Normalized Data
Cloud Storage
Combined Sources
Hosted Models
Cloud Machine Learning
Customize Models
GPU
API Management
Cloud Endpoints
Google
Speech API
Google
Translation API
Stored Model
Cloud Storage
Combined Sources
Model