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
為何我從heroku轉戰AWS Elastic Beanstalk
Search
blue chen
November 07, 2013
590
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
為何我從heroku轉戰AWS Elastic Beanstalk
blue chen
November 07, 2013
More Decks by blue chen
See All by blue chen
RelaJet Caption
iamblue
0
140
The future of hearing device - 聽覺領域新的機會及挑戰
iamblue
2
290
20180918-Digitime 導入MCU設計 催熟智慧語音辨識應用市場
iamblue
0
270
Pixnet hackthon - workshop
iamblue
0
150
AI 人工智慧學校分享
iamblue
0
450
Javascript -Full stack 物聯網開發
iamblue
0
170
MCS Lite 私有雲物聯網開發
iamblue
0
340
Blockchain for IoT 應用
iamblue
1
270
2017.01.16 Embedded system
iamblue
0
160
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Odyssey Design
rkendrick25
PRO
2
690
From π to Pie charts
rasagy
0
210
Site-Speed That Sticks
csswizardry
13
1.2k
How to train your dragon (web standard)
notwaldorf
97
6.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
The Curse of the Amulet
leimatthew05
1
13k
Transcript
BEANSTALK 為何我從heroku轉戰beanstalk
YouMeb Senior Web Developer & AngularJS.tw Guru I am Blue
Html5&CSS3 AWS AngularJS NodeJS Sean Phil Blue Poying
1.⾏行銷企劃實習 2.程式設計實習(熟js)
前情提要 前情提要
就是因為現在⾮非常吃重視覺 硬體架構對user來講無感.講⼀一堆技術客⼾戶也不懂 對於Startup來說 需要把很多精⼒力放在程式上
Startup的處境 1.資⾦金不多 2.⼈人才 3.⼈人⼒力有限.時間不多
當你寫好nodeJS專案時,即將要放上去了...
1.買⼀一台機器.網址 3.弄好nodeJS環境 2. DNS指好 4. sreen -S nodejs while :
; do ; node app ; done
XXX.com 上線!
怎麼!流量要暴了 怎麼!程式寫錯了 怎麼!忘了寫404 page
怎麼!流量要暴了 怎麼!程式寫錯了 怎麼!忘了寫404 page OK ! 來個nginx/apache + Git
當你有100個專案時 每次重覆坐這些事情很 煩
None
web: node web.js worker: node worker.js Dyno 可以做 { }
Web Dyno Worker Dyno
苦
heroku config:set USER_NAME=blue process.env.USER_NAME var config = require(path.join(__dirname, '/',
'config.json')); 會被⾃自動指向/app 底下的config.json 環境設定⼀一定要
{ "port": 3000, "host": "localhost", "controllers": "controllers",
"error": { "format": "{level:1}{module:3}{code:2}", "file": "errors" }, "logger": { "level": "debug", "dir": "log", "filename": "%s.log" }, "packages": { "sequelize": { "db": "yourdbname", "username": "yourusername", "password": "yourpassword", "options": { "host": "yourhost" } }, "users": { "redis-‐database": 2, "token-‐expire": 604800, "nonce-‐expire": 300 } } } 苦
使⽤用額外的服務: AddOn api外連 { } AddOn可以額外呼叫worker專⾨門處理
⼀一年前websocket protocol....
The WebSockets protocol is not yet supported on the Cedar
stack. 如果真的很想⽤用socket.io 要切到xhr-polling
https://devcenter.heroku.com/articles/node-websockets Websocket近期⽀支援(10,2013) https://github.com/heroku-examples/node-ws-test
Heroku整體架構並⾮非全盤開源 http://www.infoq.com/cn/articles/heroku-inspiration
隨著架構增⼤大,我們也需要更彈性操作的需求 AWS Elastic Beanstalk
會⽤用到的服務 (像⼤大學選課)
EC2 ELB SNS AutoScaling S3 必修 選修 Amazon RDS、Amazon DynamoDB、
Amazon SimpleDB、Microsoft SQL Server、Oracle、IBM DB2 或 Informix 有GUI幫你包到好.也可透過Cli去update 你的產品 (git也可以)
要⽤用AWS可以先考慮從free開始 http://aws.amazon.com/free/
export PATH=”$PATH:/Users/blue/Desktop/html5/AWS-ElasticBeanstalk- CLI-2.5.1/eb/macosx/python2.7 先安裝 Beanstalk CLI vim ~/.zshrc
YourID->Security Credential-> accessKey
如果選ELB 就會⽴立⾺馬開”⾄至少”2台EC2 2)建⽴立⼀一個AMI role ⼀一般選(1)
如果要安裝其他套件 Open-ssl http://stackoverflow.com/questions/15460855/node-js-deployment-issue-on- amazon-elastic-beanstalk 但是注意⼀一下npm install -g 的東⻄西不是在這邊設定 mkdir .ebextensions
vim static.config packages: yum: openssl-‐devel: []
“scripts”:{ "preinstall": "npm i -‐g youmeb-‐cli" } 但是注意⼀一下npm install -g
的東⻄西這樣設定 vim package.json
Beanstalk , heroku 等Paas平台共同的⼀一個缺點就是.... 每次重新push repo時,之前的檔案都會刪掉 (除了在env以外的東⻄西) 即便是beanstalk你可以登⼊入EC2主機去改 依然在每次push 後即會被重設
其他設定 (beanstalk 後台 Live Demo)
⾸首先,希望⼤大家別再相信網路上不實際的說法 所有圖表.資料都要從官網上看才是最準確的 http://aws.amazon.com/
None
VPC常⽤用四個架構 I. VPC with Public Subnet Only 2. VPC with
Public and Private Subnet Only 3. VPC with Public and Private Subnet and hardware VPN 4. VPC with Private Subnet and hardware VPN
None
⽤用VPC有個最⼤大好處是,你可以透過api去得知同VPC其他主機的位置
最後兩三事.... 1.Heroku 跟EC2硬體⽐比較 2.關於價格 3.使⽤用時機
THANK YOU