HTML

Magunkról

The blog of the Budapest based Digital Natives covers the topics such as technological challenges we meet in our work, also our solutions and developments related mostly to Ruby on Rails and e. g. JavaScript. You can read about project management methodologies, which drive our workflow, such as agile or scrum. We don’t forget to report about our work and free-time related events and activities.

Facebook

Címkék

2011 (1) 2012 (4) 2013 (5) 2014 (1) agency (1) agile (1) agilis (13) android (1) angel (2) anita (2) API (1) árazás (2) artisjus (1) balaton (1) bécs (1) becs (1) becslés (1) befektető (7) befekteto (1) bemutatkozás (1) berlin (1) beszédfelismerés (2) beszédtechnológia (1) bitbucket (1) borkóstoló (1) budapest.rb (1) célok (1) client (4) cloud (1) code hulk (1) coding (1) coin (1) concept (2) conference (1) continuous integration (1) cross browser (1) cross platform (2) csapat (4) csapatépítés (1) csocsó (1) David (1) ddb (1) deployment (3) design (2) dev (4) dev meeting (2) digital (1) diktálás (1) dojo (1) ebook (1) education (1) elemzés (3) elmélet (1) English (1) english (8) értékelés (1) értékesítés (3) extreme programming (1) fejlesztő (3) feliratozás (1) Friday (1) frontend (2) game (3) game of thrones (1) gerzson (2) hackfwd (2) heroku (1) hirdetés (1) hosting (1) icatapult (2) idcee (4) idea (1) implementation (2) inkubáció (9) ios (1) javascript (1) jenkins (1) jogdíj (1) kaizen (1) kalandpark (1) kanban (3) képzés (2) kijev (1) kipuedu (1) kirándulás (1) kocákzati tőkealap (1) kommunikáció (1) lean (2) LinkedIn (1) Logidok (1) mahasz (1) meetup (9) mindroom (2) Mitnick (1) mixgar (14) mobil (4) MVP (1) mvp (2) nabaztag (1) natives (1) olasz (1) open source (1) people search (1) piknik (1) planning (1) playertise (3) prága (1) presentation (1) product owner (1) product roadmap (1) project (1) prototípus (1) prototype (1) rabbit (1) rails (15) ruby (13) rupy (1) scrum (9) search API (1) series (2) sharewood (1) siker (2) sorozat (1) spaceship (1) speedinvest (1) startup (6) startup week (1) String (1) szerződés (1) szolgáltatás (2) taxi (3) taxitrust (3) taxtrust (1) techshow (2) testing (2) teszt (1) titanium (1) toborzás (2) tőke (2) toptal (1) trónok harca (1) ügyfél (1) UI (1) UML (1) UX (2) üzletiangyal (1) vagrant (1) varga anita (1) verseny (2) videó (1) videóarchívum (1) vienna (1) világhírnév (8) virtualbox (1) vm (1) vodka (1) web (8) wired (2) workflow (2) xp (3) XP (1) Címkefelhő

A cloud hosting beúszott az életünkbe. Nincs is egyszerűbb dolog, mint rábízni az üzemeltetést egy erre szakosodott csapatra, akik megoldják a skálázást is. A tapasztalatok nagyon jók. Rengetegett fejlődött ez terület. Rails csapatként mi eddig a Heroku, az Engine Yard és a Joyent szolgáltatását próbáltuk ki. Most a Heroku-val kapcsolatban írok le pár hasznos tanácsot a kezdéshez.

Elinduláshoz érdemes átböngészni a Heroku fejlesztői oldalait: http://devcenter.heroku.com/. Rengeteg információ található meg itt, nagyon jól rendbentartott dokumentációja van. Ezzel nem is szeretném húzni az időt, következhetnek a tanácsok!

Figyeljünk rá, melyik stack-et használjuk.

A Heroku nem homogén platform, hanem több, különböző tulajdonsággal rendelkező szoftver környezet is elérhető benne. Telepíteni rájuk és használni ezeket ugyanúgy kell, viszont az egyes stack-ek más és más filozófia mentén lettek felépítve, más alap szoftverek futnak rajtuk. Ez mit is jelent? A legrégebbi stack az aspen, majd a bamboo. Ezeken például még reverse http proxy is fut(Varnish), vagyis a platform komoly cache képességekkel lett felvértezve. Időközben kiderült, hogy ez nem jó irány. Az a jó, ha minél kevesebb réteg van a backend és a felhasználók között. Így a cedar stack már ezt a funkciót nem tartalmazza. Általánosságban igaz: friss projektekhez a legújabb stack használható szinte kizárólag, hiszen a szoftver verziók miatt a régebbiekre nem is lehet sokszor felrakni.

Új alkalmazást így hozhatunk létre cedar stack-re: 

$ heroku create my-app-name --stack cedar
 
Így ellenőrizhetjük, hogy az app milyen stack-et használ
$ heroku stack --app my-app-name
aspen-mri-1.8.6
bamboo-ree-1.8.7
bamboo-mri-1.9.2
* cedar (beta)
 

Ha már fut a friss ropogós Rails alkalmazásunk, akkor használjuk is ki az előnyöket.

A Rails 3.1 legnagyobb újdonsága az asset pipeline, ami beemeli a js, css fájlokat is a keretrendszer alá. Így megoldhatóvá válik az előfeldolgozásuk. Egy éles alkalmazás viszont már nem szabad, hogy asset generálással foglalkozzon. A Heroku esetében külön bonyolítja a helyzetet, hogy a futó alkalmazás nem írhat a fájlrendszerbe, hiszen az írásvédett. Hogyan oldjuk meg ezt a kérdést? Előre legenerálhatjuk egy projekt js és css fájlait a következő paranccsal:

RAILS_ENV=production rake assets:precompile

Az így létrejött fájlokat(public/assets) nyugodtan elmenthetjük a verziókezelőbe is. Ha ezt az utat választjuk, akkor egy csomó felesleges fájlt fogunk verziózni, cserébe telepítéskor nem kell asset generálással foglalkoznunk. A másik, szebb megoldás az, ha rábízzuk mindezt a Heroku-ra. Telepítéskor ugyanis megpróbálja lefuttatni a fenti parancsot ha nem találja a projektben a public/assets könyvtárat. Arra kell mindössze figyelni, hogy eközben az alkalmazás nem tud csatlakozni semmihez! Szeparált környezetben fut. Nincs adatbázis sem! Így egyrészt minden külső szolgáltatás initializálását úgy kell megtenni, hogy hibatűrő legyen. Másrészt az adatbázis csatlakozás megakadályozásához pedig a következő beállítást kell elhelyezni a config/application.rb fájlba:

config.assets.initialize_on_precompile = false

Ha ezekre odafigyelünk, nem érhet nagy meglepetés. Nagyon kezes platfom a Heroku, érdemes megtanulni rendesen használni.

És egy közérdekű közlemény: továbbra is keresünk RoR fejlesztőket, bővebben a weboldalunkon olvashatsz az állásról.

 


 

Címkék: elemzés rails ruby toborzás hosting cloud deployment heroku

Szólj hozzá!

A bejegyzés trackback címe:

https://digitalnatives.blog.hu/api/trackback/id/tr444100374

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása