[{"data":1,"prerenderedAt":423},["ShallowReactive",2],{"project-13985940":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":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":47,"post_text":50,"what":51,"said":100,"maker_in_thread":213,"shape":220,"grid":224,"attempts":384,"same_week":385,"maker_shows":32,"maker_hidden":415,"reader_version":416,"card":417},"13985940","Fly","A global load balancer with middleware","title","Show HN: Fly – A global load balancer with middleware","https:\u002F\u002Ffly.io\u002F","fly.io","mrkurt",1490793898,2017,112,68,402,2242,18,"notable","infrastructure","load balancing and edge routing","web_app",[24,25,26,27,28],"load balancer","edge middleware","cdn","global routing","reverse proxy","mixed",-0.214,{"positive":32,"neutral":33,"mixed":34,"critical":35},6,11,0,12,29,{"pricing":38,"privacy":41,"design":42,"idea":43,"performance":45,"docs":46},{"positive":39,"critical":40},1,8,{"positive":39,"critical":39},{"positive":34,"critical":39},{"positive":44,"critical":34},2,{"positive":34,"critical":44},{"positive":34,"critical":34},[39,39,34,34,39,39,39,34,34,34,34,34,39,34,48,49,39,34,34,34,48,39,48,39,49,34,34,39,48,39,34,34,48,39,48,49,48,34,48,49],3,5,null,{"problem":52,"audience":59,"pricing":67,"motivation":76,"time_to_build":50,"stack":80,"openness":97,"stage":98,"team_size":99},{"value":53,"source":54,"evidence":55},"Basic routing layers like nginx and haproxy are rudimentary; developers want smarter edge routing and middleware","maker",[56],{"id":57,"by":11,"text":58},"13987043","(founder here) We've been shipping apps for many years now, and every time around we're frustrated by a rudimentary routing layer. We think a proxy\u002FCDN can do a lot for devs, and…",{"value":60,"source":61,"evidence":62},"Developers running web apps and APIs","inferred",[63,64],{"id":57,"by":11,"text":58},{"id":65,"by":11,"text":66},"13987779","Oh I see what you're saying. Then yes, your math is right, but our assumptions probably don't match. :) 1. This is our earliest launch. We're very expensive for 86mm requests per…",{"value":68,"source":54,"evidence":69},"$0.05 per 1000 requests, launch pricing being tested",[70,73],{"id":71,"by":11,"text":72},"13987632","This math isn't right, we bill based on total requests (not req\u002Fs capacity). It's $0.05 per thousand requests. So 86k\u002Fday * 30 days \u002F 1000 * $0.05 means $129\u002Fmo. Can we tweak the…",{"id":74,"by":11,"text":75},"13988019","Would it surprise you if I said we're testing pricing as part of our launch? I don't think anyone ever gets it right from the get go. :D Hopefully if we get to be the biggest…",{"value":77,"source":54,"evidence":78},"Frustration with rudimentary routing layers after years of shipping apps",[79],{"id":57,"by":11,"text":58},[81,87,91],{"value":82,"source":54,"evidence":83},"Kubernetes",[84],{"id":85,"by":11,"text":86},"13987389","We're actually only running some of it in k8s, the edge nodes are ansible managed bare metal. We do however, work really really well with k8s apps. Our apps are all k8s…",{"value":88,"source":54,"evidence":89},"Ansible",[90],{"id":85,"by":11,"text":86},{"value":92,"source":54,"evidence":93},"Rails",[94],{"id":95,"by":11,"text":96},"13987111","Fly is way more \"aware\" of underlying applications than Cloudflare. We offer most of the same quick wins (easy SSL, global termination). We also replace your local load…","unknown","beta","team",{"praise":101,"objections":121,"requests":150,"questions":163,"alternatives":182},[102,114],{"value":103,"source":104,"evidence":105},"Interesting product that makes middleware at the edge useful","commenter",[106,110],{"id":107,"by":108,"text":109},"13989347","tyingq","This is very cool. I suspect though, you'll eventually be competing with CDNs that are adding API management features. You're starting off with middleware that's smarter than a…",{"id":111,"by":112,"text":113},"13986899","garry","This lets you do smart obvious things like route \u002Fblog on your home domain to your blog provider. There's a lot of stuff you can do that makes your website better and faster…",{"value":115,"source":104,"evidence":116},"Beta user finds it very cool",[117],{"id":118,"by":119,"text":120},"13986079","thomcrowe","I've been running Fly in beta for one of my apps and it's pretty damn cool. Adding a couple more today.",[122,136,143],{"value":123,"source":104,"evidence":124},"Pricing per request is far too expensive, especially at volume",[125,129,132],{"id":126,"by":127,"text":128},"13987488","Xorlev","Wow, this is _really_ expensive! I'm sorry, but $0.05\u002F1000 requests is really really premium. 1000 request\u002Fs is $0.05\u002Fs. 86400s\u002Fday * 30 days * $0.05 -> $129.6K\u002F30d. 1k req\u002Fs is…",{"id":130,"by":127,"text":131},"13987887","I'd still say you need to take a hard look at your pricing. Lets assume we're talking about a pretty standard Rails site on Heroku without ridiculous traffic. Lets say 1500…",{"id":133,"by":134,"text":135},"13989066","pvg","The pricing structure has similar problems at the low end. A small (2.6mm pageviews per month is tiny) SaaS would presumably have more than one request per page they want to…",{"value":137,"source":104,"evidence":138},"Routing all traffic through a for-profit company raises abuse and trust concerns",[139],{"id":140,"by":141,"text":142},"13986951","secstate","I'm sure the tech is really neat, but after the last CloudFlare debacle, piping all your HTTP requests through a for profit company just seems like it's ripe for abuse. This is…",{"value":144,"source":104,"evidence":145},"SSH tunnel transport limits bulk throughput",[146],{"id":147,"by":148,"text":149},"13991005","otterley","> When your visitors explore your application, their HTTPS requests arrive at the closest regional edge node, buff up with Middleware, then intelligently route to your…",[151,159],{"value":152,"source":104,"evidence":153},"Volume-based pricing or tiers",[154,158],{"id":155,"by":156,"text":157},"13987765","dubcanada","Some sort of slider or something like CDN's have with scaling number of requests a day and the associated pricing would help. So like 10K a day, 100K a day, 250K etc.",{"id":130,"by":127,"text":131},{"value":160,"source":104,"evidence":161},"Add API gateway features like rate limits and caching",[162],{"id":107,"by":108,"text":109},[164,174],{"value":165,"source":104,"evidence":166},"Where are the edge locations and how is routing done",[167,171],{"id":168,"by":169,"text":170},"13987533","marcosscriven","I just tried this, and the IP for my test site seems to resolve to a Chicago based ISP called Secure Central Network - is that the closest one to UK? Do you have a list of edge…",{"id":172,"by":11,"text":173},"13987670","That's an anycasted IP. We use one pool of IPs globally and let BGP select the shortest route. If you run a traceroute you'll probably find that you hit a server in Amsterdam.",{"value":175,"source":104,"evidence":176},"How is it implemented on Kubernetes",[177,181],{"id":178,"by":179,"text":180},"13987303","moondev","Looks like a very interesting product. I can see how off-loading middleware can really make teams more productive. Can you go into more detail on how you are running this on k8s?…",{"id":85,"by":11,"text":86},[183,191,202,206],{"value":184,"source":104,"evidence":185},"Cloudflare",[186,187],{"id":140,"by":141,"text":142},{"id":188,"by":189,"text":190},"13987983","jhgg","Pretty interesting - but doing some number crunching, Fly looks to be two orders of magnitude more expensive than enterprise cloudflare. Which does offer smart routing, load…",{"value":192,"source":104,"evidence":193},"Fastly",[194,198],{"id":195,"by":196,"text":197},"13989921","andrewbarba","Looking at the response headers from your own site, everything is being served up from Fastly edge servers. Why wouldn't you serve your own site from your own infrastructure? The…",{"id":199,"by":200,"text":201},"13988778","willejs","If anyone is considering this, consider fastly and custom VCLs too.",{"value":203,"source":104,"evidence":204},"Nginx load balancers in AWS regions",[205],{"id":126,"by":127,"text":128},{"value":207,"source":104,"evidence":208},"Digital Ocean Load Balancers",[209],{"id":210,"by":211,"text":212},"13987564","AtheistOfFail","Digital Ocean's new Load Balancers are $20\u002Fmonth, WTF is this thing?",{"comments":18,"answered":32,"key":214},[215,216,217],{"id":71,"text":72},{"id":65,"text":66},{"id":218,"text":219},"13988055","This is an interesting point. I actually think our service makes sense from 0 requests, because we can (a) speed ssl stuff up immediately (and latency sucks at any volume) and…",{"commenters":221,"max_depth":35,"maker_replies":18,"first_comment_mins":222,"lifespan_hours":223},36,15,64,[225,227,228,232,233,236,237,239,240,241,243,244,245,248,251,254,257,259,261,264,266,267,269,272,275,276,279,282,285,287,290,293,295,298,300,303,306,307,311,314,316,319,322,325,328,330,334,337,341,343,345,347,348,351,353,355,357,360,361,362,365,368,371,372,374,377,380,382],[126,34,39,226,127,34],"project\u002Fcritical\u002Fpricing",[210,34,39,226,211,34],[229,34,48,230,231,34],"13987570","project\u002Fneutral\u002Fpricing","bpicolo",[71,34,34,230,11,39],[234,34,34,235,127,34],"13987675","commenter\u002Fneutral\u002Fpricing",[65,34,34,230,11,39],[238,34,39,226,134,34],"13987876",[218,34,34,230,11,39],[133,34,39,226,134,34],[242,34,34,230,11,39],"13992073",[130,34,39,226,127,34],[74,34,34,230,11,39],[246,34,34,247,127,34],"13988140","commenter\u002Fneutral\u002Fnone",[249,34,34,250,11,39],"13988344","maker\u002Fneutral\u002Fnone",[252,34,34,247,253,34],"13989268","qeternity",[255,34,34,247,256,34],"13990223","chris_va",[258,34,34,247,253,34],"13990777",[260,34,34,250,11,39],"13992057",[262,34,34,247,263,34],"13990469","always_good",[265,34,34,247,253,34],"13990784",[188,34,39,226,189,34],[268,34,34,250,11,39],"13988080",[270,34,34,271,189,34],"14010520","other\u002Fneutral\u002Fnone",[273,34,34,247,274,34],"13990739","steeve",[155,34,48,230,156,34],[277,34,34,235,278,34],"13987844","woqe",[280,34,49,281,112,34],"13987727","project\u002Fpositive\u002Fpricing",[283,34,39,226,284,34],"13987871","specialp",[286,34,34,250,11,39],"13987919",[288,34,34,271,289,34],"13989439","overcast",[291,34,34,271,292,34],"13991050","cuu508",[294,34,34,271,289,34],"13994878",[296,34,34,271,297,34],"13992309","true_religion",[299,34,34,271,289,34],"13994872",[301,34,48,230,302,34],"13988042","ricardobeat",[304,34,34,247,305,34],"13988515","davidlumley",[195,39,39,226,196,34],[308,39,48,309,310,34],"13990197","project\u002Fneutral\u002Fnone","matahwoosh",[312,39,48,309,313,34],"13992463","goodroot",[140,44,39,315,141,34],"project\u002Fcritical\u002Fprivacy",[317,44,34,318,11,39],"13987178","project\u002Fneutral\u002Fprivacy",[320,44,49,321,141,34],"13992018","project\u002Fpositive\u002Fprivacy",[323,44,34,247,324,34],"13987497","markbnj",[326,44,34,247,327,34],"13987512","jjoe",[57,48,34,329,11,39],"project\u002Fpositive\u002Fidea",[331,48,39,332,333,34],"13987246","project\u002Fcritical\u002Fdesign","Dinius",[335,48,34,336,11,39],"13987789","project\u002Fneutral\u002Fdesign",[338,48,48,339,340,34],"13993472","project\u002Fneutral\u002Fidea","FooBarWidget",[342,48,34,339,11,39],"13997218",[107,344,48,339,108,34],4,[147,49,39,346,148,34],"project\u002Fcritical\u002Fperformance",[199,32,34,271,200,34],[349,32,34,271,350,34],"13990185","jedisct1",[352,32,34,250,11,39],"13997224",[168,354,48,309,169,34],7,[172,354,34,356,11,39],"project\u002Fneutral\u002Fperformance",[358,354,39,346,359,34],"13989476","subway",[178,40,48,309,179,34],[85,40,34,309,11,39],[363,40,49,364,179,34],"13987953","maker\u002Fpositive\u002Fnone",[118,366,49,367,119,34],9,"project\u002Fpositive\u002Fnone",[369,366,48,339,370,34],"13987033","romanovcode",[95,366,34,329,11,39],[373,366,34,247,119,34],"13987208",[375,366,48,376,231,34],"13988263","project\u002Fneutral\u002Fdocs",[378,366,34,379,11,39],"13988386","maker\u002Fneutral\u002Fdocs",[381,366,49,329,231,34],"13995270",[111,383,49,329,112,34],10,[],[386,391,396,400,405,410],{"id":387,"name":388,"points":389,"category":390},"13977982","Kite",553,"dev_tools",{"id":392,"name":393,"points":394,"category":395},"13960214","Colormind",399,"creative",{"id":397,"name":398,"points":399,"category":390},"13958300","SpaceVim-like Vim distribution (name not stated; maker calls it space-vim)",175,{"id":401,"name":402,"points":403,"category":404},"13940594","Ctxt.io",174,"productivity",{"id":406,"name":407,"points":408,"category":409},"13978271","SpreadsheetDB",144,"data",{"id":411,"name":412,"points":413,"category":414},"13984951","Construct 3",122,"games",false,"v2",{"id":418,"name":5,"line":6,"ai":415,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":419,"top":18,"kw":420,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":421,"url":9,"mix":422,"praise":103,"objection":123,"sub":21},13985940,-0.21,[24,25,26,27,28],"1100111000001035100031315001310031353035",[32,33,34,35],1793990957129]