Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TileCloud の開発を支える技術
Search
KamataRyo
June 28, 2019
Technology
2
300
TileCloud の開発を支える技術
2019/6/28 (金)に開催された KYOTO.git での LT のスライドです。
KamataRyo
June 28, 2019
Tweet
Share
More Decks by KamataRyo
See All by KamataRyo
NPX-shell-hacking
kamataryo
0
38
frontend-shikoku#1
kamataryo
1
610
Introducing of Map Warper
kamataryo
0
1.2k
wp-rest-api-and-amazon-polly
kamataryo
0
820
how-to-deploy-from-travis-ci
kamataryo
1
690
IoT with React
kamataryo
1
260
wacker#17-wreact
kamataryo
0
120
wakayamarb#37
kamataryo
1
73
Why have I preferred open source after leaving a public office?
kamataryo
1
5.8k
Other Decks in Technology
See All in Technology
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
170
継続的な改善 x ⾮連続的な進化
sansantech
PRO
3
130
Cracking the KubeCon CfP
inductor
2
180
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
170
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.3k
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
190
KubeCon EU 2024 Recap “Kubernetes Policy Time Machine: Where to Next?”
ryysud
0
190
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
210
Databricks:『生成AI World Cup』のご案内
databricksjapan
2
170
JAWS-UG Bedrock Claude Night
yamahiro
3
480
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
160
AWS認定資格を取得したので、初めてマネコンを触った時を振り返ってみた。
ainatsuptr
2
100
Featured
See All Featured
Optimizing for Happiness
mojombo
370
69k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Visualization
eitanlees
135
14k
YesSQL, Process and Tooling at Scale
rocio
163
13k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
The Pragmatic Product Professional
lauravandoore
24
5.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
356
22k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
220
21k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
Raft: Consensus for Rubyists
vanstee
132
6.3k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
16
1.4k
Transcript
TileCloud ͷ։ൃΛࢧ͑Δٕज़ 2019/06/
[email protected]
kamata, ryo
TileCloud ͱʁ • ਤϗεςΟϯάαʔϏε • ΣϒαΠτΞϓϦʹΈࠐΜͰར༻Ͱ͖·͢ • ਤͷλΠϧͱͦΕΛѻ͏ͨΊͷ JavaScript API
Λఏڙ͍ͯ͠·͢ • Φʔϓϯϕʔλʹ͚ͯ࡞ۀத
ਤͷλΠϧͱʁ • ϥελʔλΠϧ: 256 px ࢛ํͷը૾ϑΝΠϧෑ͖٧ΊͯਤΛදࣔ https://www.openstreetmap.org/copyright OpenStreetMap Contributors
ਤͷλΠϧͱʁ • ϕΫτϧλΠϧ: JSON ܗࣜͷͷू·ΓΛόΠφϦʹϑΥʔϚοτͨ͠ͷ • ΫϥΠΞϯταΠυʢϒϥβʣͰWebGL ΛͬͯਤΛϨ ϯμϦϯά •
ϓϩύςΟΛઃఆͯ͠ΫϥΠΞϯ τͰσβΠϯมߋ͕Մೳ ʢ3D දࣔͳͲʣ • ๛͔ͳදݱྗ • σʔλ͕ܰྔ
TileCloud Λࢼ͢
TileCloud Λࢼ͢
TileCloud Λࢼ͢ • ެࣜυΩϡϝϯτΛެ։தʂ https://docs.tilecloud.io • Embed API ͱ͍͏ JavaScript
API ެ։͍ͯ͠·͢ • HTML Λهड़͢Δ͚ͩͰਤΛදࣔɾΧελϚΠζͰ ͖·͢ • playground (https://playcode.io/290651) Ͱ؆୯ʹࢼ͢ ͜ͱͰ͖·͢
TileCloudͷ Πϯϑϥߏɾ։ൃڥ
Serverless • λΠϧ CloudFront + Lambda@Edge + S3 •
Embed API (JavaScript API) API Gateway + Lambda + DynamoDB • μογϡϘʔυ Cognito + API Gateway + Lambda + DynamoDB
GitHub • ϦϙδτϦϗεςΟϯά • CI αʔϏεͱͷ࿈ܞʢCircle CIɺ Netlifyʣ NetlifyɾGitHub Pages
• σϞαΠτɺμογϡϘʔυɺ੩తϦιʔεͷϗεςΟϯά
Circle CI • ίϛοτͷϓογϡʹԠͯࣗ͡ಈςετΛ࣮ߦ • Scheduled job Λ͍ɺ e2e ςετʢEnd
to End ςετʣΛఆظ࣮ߦ ʢ"ಥવյΕ͍ͯΔ" ঢ়گΛݕग़ʣ
Circle CI • CD (Continuous Deployment) • Git λά͕ϓογϡ͞Εͨ࣌ຊ൪ڥʹσϓϩΠ •
master ϒϥϯνͷίϛοτ͕ϓογϡ͞Εͨͱ͖։ ൃڥʹσϓϩΠ • ͦͷଞͷίϛοτςετͷΈΛ࣮ߦ
Circle CI • Circle CI ͷ Workflow Λ׆༻ • ఆٛͨ͠ෳͷ
job ͷ࣮ߦॱ Λ੍ޚ • ෳࡶͳϏϧυͰɺCI ͷ࣮ߦ ࣌ؒͷංେΛ͙ workflows: version: 2 build: jobs: - test: filters: tags: only: /.*/ branches: only: /.*/ - deploy: requires: - build filters: tags: only: /.*/ branches: only: master
Φʔτϝʔγϣϯ • GitHub ͱ֤छαʔϏε (CIɾNetlify ͳͲ) ͱͷΠϯςάϨʔγϣϯΛ׆༻ • σϓϩΠɾςετͳͲͷ։ൃఔΛըҰԽ •
CI Λ͍ਝͳϑΟʔυόοΫΛಘΔ • ΠϯϑϥߏͷࣗಈԽ • Serverless & CloudFormation ༷ʑͳϨΠϠʔͰࣗಈԽΛࢪ͠ɺଐਓԽΛ͙