SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
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/jankodera
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
Definice startupu
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
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ě orientované

              Tak kterou vybrat?
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.
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 )
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.
Výběr backendu aneb co na
          server
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
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ě)
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
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 tolik různých
implementací
 • IE
 • Opera
 • Chrome
 • Safari
 • Firefox
Jak z toho ven?

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

JavaScript frameworky
 • JQuery
 • Prototype
 • GWT
 • YUI Libs

Který je ten pravý?
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.
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
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
Děkuji za pozornost




    www.abakowiki.cz
jan.kodera@abakowiki.cz

Contenu connexe

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

Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
Pavel Růžička
 
Borek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro webBorek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro web
Develcz
 

Similaire à Výběr vhodných technologii pro startup v prostředí cloudu (20)

TNPW2-2012-03
TNPW2-2012-03TNPW2-2012-03
TNPW2-2012-03
 
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
 
TNPW2-2013-05
TNPW2-2013-05TNPW2-2013-05
TNPW2-2013-05
 
Spring framework - J2EE S Lidskou Tvari
Spring framework - J2EE S Lidskou TvariSpring framework - J2EE S Lidskou Tvari
Spring framework - J2EE S Lidskou Tvari
 
Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]
 
TNPW2-2012-05
TNPW2-2012-05TNPW2-2012-05
TNPW2-2012-05
 
Jak jsme si vybrali Apache Derby
Jak jsme si vybrali Apache DerbyJak jsme si vybrali Apache Derby
Jak jsme si vybrali Apache Derby
 
node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)
 
Webové technologie
Webové technologieWebové technologie
Webové technologie
 
TNPW2-2014-03
TNPW2-2014-03TNPW2-2014-03
TNPW2-2014-03
 
Borek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro webBorek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro web
 
TNPW2-2016-03
TNPW2-2016-03TNPW2-2016-03
TNPW2-2016-03
 
Autorizovaný překlad WCAG 2.0
Autorizovaný překlad WCAG 2.0Autorizovaný překlad WCAG 2.0
Autorizovaný překlad WCAG 2.0
 
Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v š...
Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v š...Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v š...
Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v š...
 
TNPW2-2014-05
TNPW2-2014-05TNPW2-2014-05
TNPW2-2014-05
 
Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro...
Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro...Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro...
Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro...
 
TNPW2-2013-07
TNPW2-2013-07TNPW2-2013-07
TNPW2-2013-07
 
Představení Ruby on Rails
Představení Ruby on RailsPředstavení Ruby on Rails
Představení Ruby on Rails
 
Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
 
Revoluce v cloudu: první autonomně řízená databáze na světě
Revoluce v cloudu: první autonomně řízená databáze na světěRevoluce v cloudu: první autonomně řízená databáze na světě
Revoluce v cloudu: první autonomně řízená databáze na světě
 

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

  • 1. Výběr vhodných technologií pro startup v prostředí cloudu
  • 2. Kdo jsem? Jan Kodera Spoluzakladatel Abakowiki.cz jan.kodera@gmail.com http://www.abakowiki.cz http://twitter.com/jankodera
  • 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
  • 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
  • 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. 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. 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. 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. Výběr backendu aneb co na server
  • 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. 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. 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. Jak naložit s frontendem
  • 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. 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. 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. 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. 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. Děkuji za pozornost www.abakowiki.cz jan.kodera@abakowiki.cz