Jiří Hradil blog

o software


Ruby on Rails z pohledu odběratele

V návaznosti na minulý článek Rails and the Enterprise a první otázku “jak byste definovali enterprise ?”.

Pokud budeme uvažovat o “enterprise” jako o “podnikovém” software, tak je otázka postavena “jsou vhodné Ruby on Rails pro používání v podnicích”? Pak je třeba definovat kritéria, která rozhodují o vhodnosti používání technologie v podnikovém prostředí. Uvažujme podnik/společnost, která je příjemcem, nikoli dodavatelem software. Podnik chce:

1. Aby software řešil problémovou domému podniku. Pokud podnik potřebuje dostat jakoukoli logiku na web, nepotřebuje specifika jako např. real-time software a tato logika se dá nacpat do klasického request+response+relační db, jsou Ruby on Rails skvělou volbou. Jako programátoři pomocí Ruby skvěle popíšeme problémovou doménu, můžeme vytvořit DSL (domain specific language) a jazyk si v podstatě ohnout podle sebe. Příjemci software je v podstatě jedno, jaký jazyk je v pozadí. Je na schopnostech poskytovatele/dodavatele dokázat, že použitá technologie prostě “bude fungovat”.

2. Aby software fungoval dostatečně dlouho, ideálně aby přežil (časově) potřeby podniku. Tento požadavek je pro příjemce jasný. Pro poskytovatele to znamená přijmout dostatečně agilní model vývoje, který bude rychle reagovat na změny. Podnik se mění společně se světem okolo něj a neexistuje zadání, které by bylo časově neměnné a bez nutných modifikací. Opět je na schopnostech poskytovatele dokázat, že jeho technologie je časově odolná. Ruby on Rails mají za sebou dostatečně dlouhou historii a pokud stále fungují a jsou nasazovány, pak testem odolnosti prošly. Tady je nutno chápat, že 17 let existence Ruby a 6 let existence Rails jsou v IT tak dlouhé etapy, že neschopná technologie by již dávno zanikla. Takže ano, Ruby on Rails jsou časově odolné a nejsou žádný prázdninový hype.

3. Aby měla technologie “zázemí”. Některé podniky se rády šťourají v referencích na použitou technologii a rády slyší, že existuje tzv. “zázemí velké společnosti”. To připomíná známý vtip “Nikdo ještě neudělal chybu tím, že vybral IBM”. Tento pocit bezpečí je falešný, jak jsme nedávno viděli na příkladu Sunu a Javy. Molochy, které poskytují zázemí nefungují. Firmy platí miliony za SLA, konzultanty, metodiky a procesy velkým korporacím, které jako celek degradovaly do bezpohlavních bytostí, jejichž jediným cílem je dosahovat zisku. Mám z 6-leté historie Kyberie bezpočet příkladů, kdy spoléháni na “velkého” dodavatele nefungovalo. Počínaje HW supportem, SW konzultacemi, návrhy na metodiky vývoje, řešení infrastruktury a konče poskytováním SLA… Nejlepší, co lze dle mého názoru udělat je spolehnout se sám na sebe a příjemci/odběrateli poskytnout vlastní zázemí. Ono “velké zázemí” či zvučné jméno může fungovat jen jako pojistka či reference. Ne jako základní stavební kámen.

4. Aby šel software napojit na existující systémy. Možná dostaneme rozhraní, na které se musíme napojit a je možné, že třeba v Javě to půjde jednodušeji. Tady nelze předjímat, vše záleží na konkrétní situaci. Ovšem i s RESTem, který Ruby on Rails používají, případně s web hooks lze dokázat divy.

5. Aby software stál rozumné peníze. Pokud přijmeme klasický platební model “cena za člověkoden”, tak tady jsou Ruby on Rails v obrovské výhodě. Jak jsem uvedl, v Kyberii jsou Ruby on Rails při vývoji asi 10x rychlejší než stack Java+Spring+Hibernate+Wicket+dalších X špaget. Pokud budeme uvažovat jednoduše linárně, tak oproti konkurenci můžeme poskytnout software 10x levněji.

A to už stojí za to vyzkoušet Ruby on Rails, ne?

Publikoval Jiří Hradil • 05.09.2010 v 23:09 • pod kategorií Ruby on Rails4 komentářů