Výběr vhodných technologií
pro startup v prostředí cloudu
Kdo jsem?

Jan Kodera
Spoluzakladatel Abakowiki.cz




jan.kodera@gmail.com
http://www.abakowiki.cz
http://twitter.com/jan...
Výběr vhodných technologií pro startup
v prostředí cloudu



Obsah přednášky

•   Definice startupu
•   Výběr úložiště (SQ...
Definice startupu
Definice startupu

   Je to vize produktu na který ještě nemáte
 zákazníka. Produkt vyvinete a pak hledáte
               ...
Výběr úložiště (SQL nebo
        NoSQL)
Výběr úložiště

Máme k dispozici
• key-valued databáze
• dokumentově orientované
• relační databáze
• grafové
• sloupcově ...
NoSQL - key-value,document oriented

• výhody
   o extrémně rychlé na čtení a zápis
   o dobře škálovatelné
   o bez nutno...
NoSQL – column family

• Výhody
  o schéma
  o škálovatelné
  o map reduce

• Nevýhody
  • na jednom serveru nebudou lepší...
Zlaté pravidlo

Vždy se řiďte zlatým pravidlem

          Neřešte problém který nemáte.
Pokud nemáte speciální architektur...
Výběr backendu aneb co na
          server
Co na server?


• java - Google,Sun,Apache Foundation
  – Google App Engine,Glassfish,Apache Tomcat
• python – Google
  – ...
Co na server?

Co takhle Javu?
• je rychlá
• má spoustu knihoven
• plno problémů dobře dokumentovaných
• JVM
• na českých ...
Co na server?

A nemá Java nějaké nevýhody?
• Java je ukecaná
• nemůžete upravovat onfly, musíte kompilovat
• musíte všech...
Jak naložit s frontendem
A frontend nic?

Jestliže výběr aplikačního prostředí byl problém, tak tohle je
výzva

Jedna platforma - HTML/CSS/JS ale t...
Jak z toho ven?

Použít frameworky jak na CSS, tak na JavaScript

JavaScript frameworky
 • JQuery
 • Prototype
 • GWT
 • Y...
Zdánlivá odbočka

Stát se v něčem expert znamená věnovat se té oblasti nejméně
10 000 hodin.

Což jsou aspoň 3 roky, učení...
Java má tuto vlastnost

Backend -
• dobré MVC frameworky (Spring,Struts,Play)
• fulltextové vyhledávaní Lucene
• ORM - Hib...
Java má tuto vlastnost

Frontend
 • Google Web Toolkit
   o nepíšete javascript ale programujete v Javě
   o podpora IDE -...
Děkuji za pozornost




    www.abakowiki.cz
jan.kodera@abakowiki.cz
Upcoming SlideShare
Loading in …5
×

Výběr vhodných technologii pro startup v prostředí cloudu

1,135 views

Published on

Jak vybrat technologie pro startup.

Published in: Technology
  • Be the first to comment

Výběr vhodných technologii pro startup v prostředí cloudu

  1. 1. Výběr vhodných technologií pro startup v prostředí cloudu
  2. 2. Kdo jsem? Jan Kodera Spoluzakladatel Abakowiki.cz jan.kodera@gmail.com http://www.abakowiki.cz http://twitter.com/jankodera
  3. 3. Výběr vhodných technologií pro startup v prostředí cloudu Obsah přednášky • Definice startupu • Výběr úložiště (SQL nebo NoSQL) • Výběr backendu aneb co na server • Jak naložit s frontendem
  4. 4. Definice startupu
  5. 5. Definice startupu Je to vize produktu na který ještě nemáte zákazníka. Produkt vyvinete a pak hledáte zákazníka Roman Staněk
  6. 6. Výběr úložiště (SQL nebo NoSQL)
  7. 7. Výběr úložiště Máme k dispozici • key-valued databáze • dokumentově orientované • relační databáze • grafové • sloupcově orientované Tak kterou vybrat?
  8. 8. NoSQL - key-value,document oriented • výhody o extrémně rychlé na čtení a zápis o dobře škálovatelné o bez nutnosti vytvářet schéma • nevýhody o veškerá logika na aplikační úrovni o vysoká redundance dat Vhodné spíše jako cache.
  9. 9. NoSQL – column family • Výhody o schéma o škálovatelné o map reduce • Nevýhody • na jednom serveru nebudou lepší než relační • Různé API (MapReduce,Thrift )
  10. 10. Zlaté pravidlo Vždy se řiďte zlatým pravidlem Neřešte problém který nemáte. Pokud nemáte speciální architekturu, tak použijte relační DB.
  11. 11. Výběr backendu aneb co na server
  12. 12. Co na server? • java - Google,Sun,Apache Foundation – Google App Engine,Glassfish,Apache Tomcat • python – Google – Google App Engine • ruby - 37signals • php - Yahoo,Facebook – Apache Tomcat • .NET – Microsoft – Microsoft Azure, MS Server 2008
  13. 13. Co na server? Co takhle Javu? • je rychlá • má spoustu knihoven • plno problémů dobře dokumentovaných • JVM • na českých technických univerzitách se v javě učí programovat skoro každý student (povinně)
  14. 14. Co na server? A nemá Java nějaké nevýhody? • Java je ukecaná • nemůžete upravovat onfly, musíte kompilovat • musíte všechno typovat • často mraky XML konfigurace Naštěstí se blýská na lepší časy • Play Framework o scafolding o žádné xml konfigurace o automaticky generované testy o MVC o automatický deployment
  15. 15. Jak naložit s frontendem
  16. 16. A frontend nic? Jestliže výběr aplikačního prostředí byl problém, tak tohle je výzva Jedna platforma - HTML/CSS/JS ale tolik různých implementací • IE • Opera • Chrome • Safari • Firefox
  17. 17. Jak z toho ven? Použít frameworky jak na CSS, tak na JavaScript JavaScript frameworky • JQuery • Prototype • GWT • YUI Libs Který je ten pravý?
  18. 18. Zdánlivá odbočka Stát se v něčem expert znamená věnovat se té oblasti nejméně 10 000 hodin. Což jsou aspoň 3 roky, učení. Ideálně kdyby jeden jazyk mohl obsáhnout vše.
  19. 19. Java má tuto vlastnost Backend - • dobré MVC frameworky (Spring,Struts,Play) • fulltextové vyhledávaní Lucene • ORM - Hibernate • Hadoop,HBase - MapReduce • a mraky dalších knihoven Vynikající IDE - Eclipse,Netbeans • debugger • profilování aplikace • nápověda
  20. 20. Java má tuto vlastnost Frontend • Google Web Toolkit o nepíšete javascript ale programujete v Javě o podpora IDE - debugger, nápověda, generování kódu o optimalizace JavaScriptu o lehce integrovatelné různé JS knihovny
  21. 21. Děkuji za pozornost www.abakowiki.cz jan.kodera@abakowiki.cz

×