43
Heroku. Zen cloud. Александр Коротких @alexkorotkikh #x1devclub

Heroku. Zen cloud

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Heroku. Zen cloud

Heroku.Zen cloud.Александр Коротких@alexkorotkikh#x1devclub

Page 2: Heroku. Zen cloud

Эбаут ми

• Программист @ X1 Group

• Организатор @ X1 Dev Club

• Автор @ SingletonPost.com

Page 3: Heroku. Zen cloud
Page 4: Heroku. Zen cloud

– это git push deployment

Page 5: Heroku. Zen cloud

– это git push deployment

Page 6: Heroku. Zen cloud

– это git push deployment

Page 7: Heroku. Zen cloud

– это git push deployment

Page 8: Heroku. Zen cloud

– это git push deployment– это PaaS

Page 9: Heroku. Zen cloud

– это git push deployment– это PaaS

c фокусом на приложения

Page 10: Heroku. Zen cloud

Это дзен-сад вашего приложения

Page 11: Heroku. Zen cloud

Не беспокойся!

Page 12: Heroku. Zen cloud

Не беспокойся!

• О внешних компонентах

Page 13: Heroku. Zen cloud

Не беспокойся!

• О внешних компонентах

• О масштабировании

Page 14: Heroku. Zen cloud

Не беспокойся!

• О внешних компонентах

• О масштабировании

• Об управлении релизами

Page 15: Heroku. Zen cloud
Page 16: Heroku. Zen cloud

$ heroku config=== Application Config Vars

CLOUDAMQP_URL: amqp://login:[email protected]/vhost

DATABASE_URL: postgres://login:[email protected]:5432/schema

JAVA_OPTS: -Xmx384m -Xss512k

LANG: en_US.UTF-8

LOG_LEVEL: DEBUGetc...

Page 17: Heroku. Zen cloud

$ heroku addons:add heroku-postgresql:basic Adding heroku-postgresql:basic on application... success

Page 18: Heroku. Zen cloud

$ heroku addons:add heroku-postgresql:basic Adding heroku-postgresql:basic on application... success

$ heroku addons:add mongohq:smallAdding mongohq:small on application... success

Page 19: Heroku. Zen cloud

$ heroku addons:add heroku-postgresql:basic Adding heroku-postgresql:basic on application... success

$ heroku addons:add mongohq:smallAdding mongohq:small on application... success

$ heroku addons:add memcache:100mbAdding memcache:100mb on application... success

Page 20: Heroku. Zen cloud

$ heroku addons:add heroku-postgresql:basic Adding heroku-postgresql:basic on application... success

$ heroku addons:add mongohq:smallAdding mongohq:small on application... success

$ heroku addons:add memcache:100mbAdding memcache:100mb on application... success

$ heroku addons:add redistogo:miniAdding redistogo:mini on application... success

Page 21: Heroku. Zen cloud

$ heroku addons:add something-we-need:awesomeAdding something-we-need:awesome on kredito-staging... failed ! Add-on not found.

Page 22: Heroku. Zen cloud

$ heroku addons:add something-we-need:awesomeAdding something-we-need:awesome on kredito-staging... failed ! Add-on not found.

:(

Page 23: Heroku. Zen cloud

$ heroku addons:add something-we-need:awesomeAdding something-we-need:awesome on kredito-staging... failed ! Add-on not found.

:(

– Hey, Amazon, do you have an instance for me?

Page 24: Heroku. Zen cloud

$ heroku addons:add something-we-need:awesomeAdding something-we-need:awesome on kredito-staging... failed ! Add-on not found.

:(

– Hey, Amazon, do you have an instance for me?

$ heroku config:add SOME_URL=something://...

Page 25: Heroku. Zen cloud

$ heroku addons:add something-we-need:awesomeAdding something-we-need:awesome on kredito-staging... failed ! Add-on not found.

:(

– Hey, Amazon, do you have an instance for me?

$ heroku config:add SOME_URL=something://...

:)

Page 26: Heroku. Zen cloud

$ cat Procfile web: java $JAVA_OPTS -jar web/target/dependency/jetty-runner.jar --port $PORT web/target/*.warworker: sh worker/target/bin/worker

Page 27: Heroku. Zen cloud

$ cat Procfile web: java $JAVA_OPTS -jar web/target/dependency/jetty-runner.jar --port $PORT web/target/*.warworker: sh worker/target/bin/worker

$ heroku scale web=4 worker=2 Scaling web processes... done, now running 4Scaling worker processes... done, now running 2

Page 28: Heroku. Zen cloud

$ heroku releases=== Application Releasesv721 Deploy 37629dd user 2012/10/29 13:54:51v718 Deploy 4fe017d user 2012/10/29 11:53:40v717 Add mailgun add-on user 2012/10/29 11:36:15v712 Deploy bdb52aa user 2012/10/26 11:18:01v711 Deploy 0e099f4 user 2012/10/25 18:53:23v708 Remove BUILDPACK_URL config user 2012/10/25 15:00:20v707 Deploy c5d145d user 2012/10/25 14:53:37

Page 29: Heroku. Zen cloud

$ heroku releases=== Application Releasesv721 Deploy 37629dd user 2012/10/29 13:54:51v718 Deploy 4fe017d user 2012/10/29 11:53:40v717 Add mailgun add-on user 2012/10/29 11:36:15v712 Deploy bdb52aa user 2012/10/26 11:18:01v711 Deploy 0e099f4 user 2012/10/25 18:53:23v708 Remove BUILDPACK_URL config user 2012/10/25 15:00:20v707 Deploy c5d145d user 2012/10/25 14:53:37

$ heroku rollbackRolled back to v718

Page 30: Heroku. Zen cloud

$ heroku releases=== Application Releasesv721 Deploy 37629dd user 2012/10/29 13:54:51v718 Deploy 4fe017d user 2012/10/29 11:53:40v717 Add mailgun add-on user 2012/10/29 11:36:15v712 Deploy bdb52aa user 2012/10/26 11:18:01v711 Deploy 0e099f4 user 2012/10/25 18:53:23v708 Remove BUILDPACK_URL config user 2012/10/25 15:00:20v707 Deploy c5d145d user 2012/10/25 14:53:37

$ heroku rollbackRolled back to v718

$ heroku rollback v701Rolled back to v701

Page 31: Heroku. Zen cloud

Проблемы

Page 32: Heroku. Zen cloud

• Ограниченный выбор модулей (решаемо)Проблемы

Page 33: Heroku. Zen cloud

• Ограниченный выбор модулей (решаемо)• Тонкий тюнинг (частично решаемо)

Проблемы

Page 34: Heroku. Zen cloud

• Ограниченный выбор модулей (решаемо)• Тонкий тюнинг (частично решаемо)• Ограничения платформы (не решаемо)

Проблемы

Page 35: Heroku. Zen cloud

• Ограниченный выбор модулей (решаемо)• Тонкий тюнинг (частично решаемо)• Ограничения платформы (не решаемо)

• Router timeout = 30 sec

Проблемы

Page 36: Heroku. Zen cloud

• Ограниченный выбор модулей (решаемо)• Тонкий тюнинг (частично решаемо)• Ограничения платформы (не решаемо)

• Router timeout = 30 sec

• Startup time = 60 sec

Проблемы

Page 37: Heroku. Zen cloud

• Ограниченный выбор модулей (решаемо)• Тонкий тюнинг (частично решаемо)• Ограничения платформы (не решаемо)

• Router timeout = 30 sec

• Startup time = 60 sec

• Slug size = 200 mb

Проблемы

Page 38: Heroku. Zen cloud

• Ограниченный выбор модулей (решаемо)• Тонкий тюнинг (частично решаемо)• Ограничения платформы (не решаемо)

• Router timeout = 30 sec

• Startup time = 60 sec

• Slug size = 200 mb

• Дороговато (субъективно)

Проблемы

Page 39: Heroku. Zen cloud

• Ограниченный выбор модулей (решаемо)• Тонкий тюнинг (частично решаемо)• Ограничения платформы (не решаемо)

• Router timeout = 30 sec

• Startup time = 60 sec

• Slug size = 200 mb

• Дороговато (субъективно)• 35$/mo/dyno

Проблемы

Page 40: Heroku. Zen cloud

• Ограниченный выбор модулей (решаемо)• Тонкий тюнинг (частично решаемо)• Ограничения платформы (не решаемо)

• Router timeout = 30 sec

• Startup time = 60 sec

• Slug size = 200 mb

• Дороговато (субъективно)• 35$/mo/dyno

• Production DB от 50$/mo

Проблемы

Page 41: Heroku. Zen cloud

• Ограниченный выбор модулей (решаемо)• Тонкий тюнинг (частично решаемо)• Ограничения платформы (не решаемо)

• Router timeout = 30 sec

• Startup time = 60 sec

• Slug size = 200 mb

• Дороговато (субъективно)• 35$/mo/dyno

• Production DB от 50$/mo

• модули

Проблемы

Page 42: Heroku. Zen cloud

?