[{"data":1,"prerenderedAt":337},["ShallowReactive",2],{"project-11058138":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":46,"post_text":47,"what":48,"said":95,"maker_in_thread":184,"shape":194,"grid":197,"attempts":300,"same_week":301,"maker_shows":328,"maker_hidden":329,"reader_version":330,"card":331},"11058138","Zappa","Serverless Python\u002FDjango on AWS Lambda","title","Show HN: Zappa – Serverless Python\u002FDjango on AWS Lambda","https:\u002F\u002Fgun.io\u002Fblog\u002Fannouncing-zappa-serverless-python-aws-lambda\u002F","gun.io","Mizza",1454940645,2016,87,41,439,2264,20,"notable","infrastructure","serverless deployment","library",[24,25,26,27],"aws lambda","serverless python","django deployment","api gateway","debated",-0.132,{"positive":31,"neutral":32,"mixed":33,"critical":34},6,7,0,9,22,{"idea":37,"execution":40,"pricing":42,"performance":43,"design":44},{"positive":38,"critical":39},3,1,{"positive":39,"critical":41},5,{"positive":39,"critical":39},{"positive":39,"critical":33},{"positive":33,"critical":45},2,[41,38,33,39,33,39,33,38,33,33,38,41,33,33,38,39,33,41,41,38,33,38,33,33,39,33,33,39,33,39,41,33,41,33,39,33,39,33,33,39],null,{"problem":49,"audience":59,"pricing":47,"motivation":68,"time_to_build":47,"stack":73,"openness":92,"stage":93,"team_size":94},{"value":50,"source":51,"evidence":52},"Running Python\u002FDjango apps on AWS Lambda without permanent servers or config","maker",[53,56],{"id":54,"by":11,"text":55},"11064888","You're not completely wrong, the difference is that there is no configuration necessary, no permanent infrastructure, no limitations on scalability, and the costs are measured in…",{"id":57,"by":11,"text":58},"11065645","The point of this is that you don't need to learn any new frameworks - it works with your existing code. You can deploy your existing apps on Lambda without having to change…",{"value":60,"source":61,"evidence":62},"Python and Django developers deploying to AWS","inferred",[63,67],{"id":64,"by":65,"text":66},"11064644","bake","Fantastic! We had been considering using lambda, but were worried that doing so would irreversibly lock us into AWS. Being able to develop for lambda using standard web…",{"id":54,"by":11,"text":55},{"value":69,"source":61,"evidence":70},"Make Lambda usable with existing Django code and avoid permanent infrastructure",[71,72],{"id":54,"by":11,"text":55},{"id":57,"by":11,"text":58},[74,78,82,86],{"value":75,"source":51,"evidence":76},"Python",[77],{"id":54,"by":11,"text":55},{"value":79,"source":51,"evidence":80},"Django",[81],{"id":54,"by":11,"text":55},{"value":83,"source":51,"evidence":84},"AWS Lambda",[85],{"id":54,"by":11,"text":55},{"value":87,"source":51,"evidence":88},"AWS API Gateway",[89],{"id":90,"by":11,"text":91},"11064900","This would have been useful for me during development.. But honestly, the big problem is the API Gateway. The product is a mess, the docs are a mess, and the whole system is kind…","open_source","launched","unknown",{"praise":96,"objections":113,"requests":138,"questions":157,"alternatives":172},[97,105],{"value":98,"source":99,"evidence":100},"No code changes needed, avoids lock-in to AWS","commenter",[101,102],{"id":64,"by":65,"text":66},{"id":103,"by":11,"text":104},"11064768","Yep! This should make it super easy, there are no code changes needed so you can go back and forth between Lambda and traditional hosts as often as you please. No \"lock in\" -…",{"value":106,"source":99,"evidence":107},"Low cost and scales without configuration",[108,109],{"id":54,"by":11,"text":55},{"id":110,"by":111,"text":112},"11065009","dexterdog","I get sub-100ms times quite often for light calls. The 'boot-up' call will always be longer, but that's because the service had gone idle. If you are getting heavy usage that is…",[114,121,128],{"value":115,"source":51,"evidence":116},"API Gateway is hard to use and poorly documented",[117,118],{"id":90,"by":11,"text":91},{"id":119,"by":111,"text":120},"11068079","Yeah, I fought with APIGW for a while in the beginning because I had to make scripts to create my route structures to I could call Lambda in a fully RESTful manner for my data…",{"value":122,"source":99,"evidence":123},"Keeping servers warm adds cost",[124],{"id":125,"by":126,"text":127},"11058958","jjoe","This is cool. On this: To ensure that your servers are kept in a cached state, you can manually configure a scheduled task for your Zappa function that'll keep the server cached…",{"value":129,"source":99,"evidence":130},"Django apps may need changes for static files, uploads and C extensions",[131,135],{"id":132,"by":133,"text":134},"11065814","StavrosK","I rather doubt the \"without changing anything\" part. For example, I write static media to a subdirectory of my Django installation. Will that work without any changes? How about…",{"id":136,"by":11,"text":137},"11065947","Well you really shouldn't be serving static content through Django, you should be serving it through a CDN. If you use something like Django-Storages for uploads, it'll Just…",[139,146],{"value":140,"source":99,"evidence":141},"Local Lambda emulation for development",[142],{"id":143,"by":144,"text":145},"11064872","vangale","It seems like having local lambda emulation would be useful as a companion to this. If I ever do some lamba development I'd love to see integration with emulators like…",{"value":147,"source":99,"evidence":148},"Postgres driver support",[149,153],{"id":150,"by":151,"text":152},"11065259","hendi_","Wow -- the fact that this allows deployment of a \"regular\" Django application to Lambda is awesome! Have you checked if Postgres works via the py-postgresql driver? It's…",{"id":154,"by":155,"text":156},"11072027","nolite","Lambda only supports Python 2.7 for the momment, and getting postgres drivers working is a nice royal pain in the ass.. https:\u002F\u002Fgithub.com\u002Fjkehler\u002Fawslambda-psycopg2…",[158,165],{"value":159,"source":99,"evidence":160},"How are static assets served?",[161],{"id":162,"by":163,"text":164},"11079217","landmark2","Hi, how are static assets served? through django?",{"value":166,"source":99,"evidence":167},"Database connection pooling on Lambda",[168],{"id":169,"by":170,"text":171},"11113373","vincentdm","Interesting! I've been playing around with Serverless\u002FLambda this weekend (the node version), but a main thing that struck me was that I couldn't use a connection pool for…",[173,180],{"value":174,"source":99,"evidence":175},"Serverless framework",[176],{"id":177,"by":178,"text":179},"11065577","cdnsteve","\"Serverless\" is a framework used by AWS: https:\u002F\u002Fgithub.com\u002Fserverless\u002Fserverless And it now supports Python. Would be interesting to see someone using AWS Serverless framework…",{"value":181,"source":99,"evidence":182},"Local Lambda emulators such as python-lambda-local",[183],{"id":143,"by":144,"text":145},{"comments":185,"answered":41,"key":186},11,[187,188,191],{"id":90,"text":91},{"id":189,"text":190},"11058181","Happy to answer any questions that people might have about this! To head of a few questions at the pass: Here are the hacks necessary to make this work:…",{"id":192,"text":193},"11061259","Where did you get the 3 million from?",{"commenters":195,"max_depth":31,"maker_replies":185,"first_comment_mins":34,"lifespan_hours":196},23,200,[198,202,204,206,208,210,212,214,217,221,224,226,229,232,234,236,240,241,243,246,249,253,256,261,263,264,265,266,267,269,271,272,273,276,278,279,282,287,290,293,297],[199,33,41,200,201,33],"11064977","project\u002Fpositive\u002Fidea","sergiotapia",[143,39,38,203,144,33],"project\u002Fneutral\u002Fidea",[90,39,33,205,11,39],"project\u002Fmixed\u002Fexecution",[119,39,39,207,111,33],"project\u002Fcritical\u002Fexecution",[189,45,33,209,11,39],"maker\u002Fneutral\u002Fnone",[125,45,39,211,126,33],"project\u002Fcritical\u002Fpricing",[192,45,33,213,11,39],"maker\u002Fneutral\u002Fpricing",[215,45,38,216,126,33],"11065004","project\u002Fneutral\u002Fpricing",[218,45,33,219,220,33],"11065207","commenter\u002Fneutral\u002Fnone","chrisrhoden",[222,45,33,223,11,39],"11065230","project\u002Fneutral\u002Fperformance",[225,45,38,223,111,33],"11068201",[227,45,41,228,111,33],"11064703","project\u002Fpositive\u002Fpricing",[230,45,33,231,126,33],"11065015","commenter\u002Fneutral\u002Fpricing",[233,45,33,231,111,33],"11065324",[162,45,38,235,163,33],"project\u002Fneutral\u002Fnone",[237,38,39,238,239,33],"11064850","project\u002Fcritical\u002Fidea","vog",[54,38,33,200,11,39],[110,38,41,242,111,33],"project\u002Fpositive\u002Fperformance",[244,38,41,200,245,33],"11065125","rakoo",[247,38,38,203,248,33],"11066559","toomuchtodo",[250,38,33,251,252,33],"11068277","other\u002Fneutral\u002Fnone","Eridrus",[254,38,38,203,255,33],"11065407","metaphorm",[257,258,33,259,260,33],"11064828",4,"other\u002Fneutral\u002Fidea","siscia",[262,258,33,200,11,39],"11064912",[169,41,39,207,170,33],[177,31,33,251,178,33],[57,31,33,200,11,39],[132,31,39,207,133,33],[136,31,33,268,11,39],"project\u002Fneutral\u002Fexecution",[270,31,39,207,133,33],"11070117",[64,32,41,200,65,33],[103,32,33,200,11,39],[150,274,41,275,151,33],8,"project\u002Fpositive\u002Fexecution",[277,274,33,209,11,39],"11065304",[154,274,39,207,155,33],[280,34,33,251,281,33],"11075807","gitaarik",[283,284,39,285,286,33],"11064706",10,"project\u002Fcritical\u002Fdesign","trymas",[288,284,33,289,11,39],"11064759","maker\u002Fneutral\u002Fdesign",[291,284,33,292,133,33],"11065804","commenter\u002Fneutral\u002Fdesign",[294,284,38,295,296,33],"11064875","project\u002Fneutral\u002Fdesign","rplnt",[298,185,39,285,299,33],"11065131","herbst",[],[302,307,311,316,320,324],{"id":303,"name":304,"points":305,"category":306},"11068902","TIL",819,"productivity",{"id":308,"name":309,"points":310,"category":20},"11071916","Deepstream.io",301,{"id":312,"name":313,"points":314,"category":315},"11064507","The Deadlock Empire",269,"games",{"id":317,"name":318,"points":319,"category":20},"11072359","SocketCluster.io",217,{"id":321,"name":322,"points":323,"category":20},"11074537","LogDNA",196,{"id":325,"name":326,"points":327,"category":306},"11043502","Twtxt",154,13,false,"v2",{"id":332,"name":5,"line":6,"ai":329,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":333,"top":18,"kw":334,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":335,"url":9,"mix":336,"praise":98,"objection":115,"sub":21},11058138,-0.13,[24,25,26,27],"5301010300350031055303001001015050101001",[31,32,33,34],1794036540760]