Open garncarz opened 8 years ago
S Pythonem souhlasím, Django mi nevadí, ale více si v současné době rozumím s Flaskem. Pokud jde o DB, tak asi cokoliv, co podporuje SQLAlchemy a/nebo to Django? Z NoSQL db mám zkušenosti asi jen s MongoDB.
Tady nějaký borec na základě jiného hackathonu popsal lambda funkce.
Jinak mě zaujala Simple Queue Service, ačkoli nemám úplně přesnou představu, jak/čím se mezi těma službama ty data přesouvají. Myslím tím třeba S3 -> Lambda -> db -> web
:disappointed_relieved:
Uf, tak jsem jednu svoji djangovskou aplikaci (ve vývoji) překlopil i do AWS, viz http://vietcong-dev.elasticbeanstalk.com. (Originál je http://vietcong1.eu, ale to je PHP/Nette, přepisuju to do Djanga.) Byl to boj, moc dobře se s tím AWS fakt nepracuje. Výsledek více než 10 hodin je v podstatě tento commit, ale podařilo se mi tam rozjet Django pod Elastic Beanstalk, PostgreSQL RDS (Auroru jsem neměl v nabídce a Postgre nabízí rollback u migrace schématu) a S3 pro statické i uploadované soubory. Ještě by to chtělo nějak pořešit pravidelné úkoly na pozadí (pro obnovu dat v rámci mé aplikace). (To určitě využijeme. Pro Python existuje Celery na takovéto věci, ale nevím, jestli AWS pro to nemají něco vlastního.)
Pár věcí, co AWS dělá, na co dát pozor:
/
URL) (dá se upravit skript naštěstí)eb create
) trvá zřídit tak 20 minuteb deploy
deployuje to, co je v posledním commitu, ne aktuální stav zdrojových souborůeb ssh
můžeme cokoliv, i používat sudo
bez heslaeb logs
se hodíJinak Django je super s tou automatickou administrací a s migracemi DB. (Umí to to SQLAlchemy?)
Jinak ačkoliv jsem čekal, že se s tím Elastic Beanstalk bude pracovat pohodlněji/rychleji, tak bez toho to asi moc smysl nemá... protože EB nabízí například i automatické škálování, je to takový obal nad EC2. Bez toho mi to EC2 přijde jako normální VPS.
A co front-end u webu? U té své aplikace bych rád přešel k Angular.js, láká mě na tom např. to, že autoři slibují efektivní otestovatelnost. Ale zatím jsem to bohužel nestihnul, takže tady není z čeho vyjít.
Ja umim trochu v bashi..
@dzejar likes this.
Na základě hackathonu jsem si začal trochu hrát s OpenShiftem - nemá to sice věci typu lambda nebo SQS, ale zase je to opravdu levné.
@dzejar likes this.
Takže tam nejde třeba spustit mnoho instancí s Pythonem, kde každá bude řešit nějaký podúkol? Co to umí kromě toho být levné? :money_with_wings:
jj, mas tam tri virtualni servery uplne zadarmo, ale mel jsem trochu problem s rychlosti odezvy
Aha, takže spíše jen klasické VPS?
tim, ze jsem se v dokumentaci moc daleko nedostal, tak to pro me bylo asi jen VPS, ale asi to bude umet vic veci.
@garncarz Ondro, nemuzes se te technologii jen tak vysmivat jen proto, ze neni z mnoziny tvych oblibenych {Django, PostgreSQL, Nette, SVN, Github}. Navic kdyz na ni intenzivne dela tvuj budouci zamestnavatel
:smile: Já se jen ptám, co to umí. A Nette a SVN bych z té množiny už vyškrtnul, přidal Prolog. :+1: A zaměstnavatele fakt nechci. :no_good:
Tak jestli jsem nějakou extra specialitu té lambdy nepřehlédl, tak to není nic příliš rozdílného, než metoda pověšená na nějaké - ne tak úplně - RESTové rozhraní, jen se spouští náhodně na různých lokacích a může být spouštěna i nějakými jinými událostmi, než jen HTTP requestem. Nic z toho, co jsme z těch lambd používali, by neměl být zase takový problém používat pomocí jednoduchého flask-restful serveru třeba na tom OpenShiftu, jen patrně nebude případné requesty, odesílané ven na další služby, rozesílat z velkého poolu ip adres, ale jen z jedné a při fakt velkém náporu dotazů se možná nerozškáluje na více uzlů, ale bude mít nějaký limit.
Ty AWS Lambdy jsou podle mě především o tom, že u nich neexistují žádné instance, když nejsou potřeba. Jsou to prostě abstraktní definice funkcí, co se má vykonat, když někde přijde požadavek. Takže jsou škálovatelné a člověk platí pouze podle výpočetního času (po 100 ms). Tohoto se nedá docílit s VPS.
ja bych se mozna na skalovatelnost zatim vykaslal, pokud OpenShift porad nabizi tri geary zdarma ;)
That's the spirit! On Dec 17, 2015 4:25 AM, "Jan Wozniak" notifications@github.com wrote:
ja bych se mozna na skalovatelnost zatim vykaslal, pokud OpenShift porad nabizi tri geary zdarma ;)
— Reply to this email directly or view it on GitHub https://github.com/mgp4/aws-hackathon-2015/issues/2#issuecomment-165326933 .
Já bych to viděl na Python, web v Djangu. Co vy?
A co DB? Klidně bych zkusil to Amazon Aurora (vylepšené MySQL od Amazonu, jestli chápu správně), ale možná se k tématu bude více hodit NoSQL (s tím ale nemám zkušenosti).