+ All Categories
Home > Technology > Výběr vhodných technologii pro startup v prostředí cloudu

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

Date post: 04-Jul-2015
Category:
Upload: jan-kodera
View: 974 times
Download: 2 times
Share this document with a friend
Description:
Jak vybrat technologie pro startup.
21
Výběr vhodných technologií pro startup v prostředí cloudu
Transcript

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

Kdo jsem?

Jan KoderaSpoluzakladatel Abakowiki.cz

[email protected]://www.abakowiki.czhttp://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átezá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ýhodyo extrémně rychlé na čtení a zápiso dobře škálovatelnéo bez nutnosti vytvářet schéma

• nevýhodyo veškerá logika na aplikační úrovnio vysoká redundance dat

Vhodné spíše jako cache.

NoSQL – column family

• Výhodyo schémao š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 scafoldingo žádné xml konfiguraceo automaticky generované testyo MVCo 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ýchimplementací• 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óduo optimalizace JavaScriptuo lehce integrovatelné různé JS knihovny

Děkuji za pozornost

[email protected]


Recommended