35 ms·
Amazon API Gateway – Build and Run Scalable Application Backends
- ecopoesis 11y agoThis looks incredibly slick. Speaking as someone who is implementing all the ceremony (security, logging, etc) around a new API right now I would use this in a heartbeat. Of course, in a couple years, assuming success, the AWS lockin will suck. But given the odds of success I think I'd take the chance.
- jively 11y agoYou could always use an open source gateway like Tyk (https://tyk.io https://tyk.io) or API Umbrella (full disclosure: I run Tyk.io, and this news is... disheartening).
- herval 11y agoThink of it as Amazon validating your business! It's yet another selling point (specially for orgs that can't or don't want to use AWS mind-boggling myriad of products).
- jively 11y agoHah! Indeed :-)
- fit2rule 11y agoConsider this: I actually don't use Amazon because it is mind-boggling. But I'm off to look at Tyk now, just for the fun of it.
- DonPellegrino 11y agoCheck out Kong, even easier, built on nginx and better docs too: https://github.com/Mashape/kong https://github.com/Mashape/kong
- angersock 11y agoWow, Tyk looks kinda exactly like something we'd use. Thank you so much!
- profinger 11y agoHackerNews effect :-( Site is down.
- jively 11y agoIt is? http://downforeveryoneorjustme.com/https://tyk.io http://downforeveryoneorjustme.com/https://tyk.io
- vidarh 11y agoConsider that AWS has always been incredibly expensive. If you can't compete with AWS on price, then sure, it should be disheartening, but then you should take a long hard look at why. Otherwise let AWS grow the market, and look for opportunities to serve people who don't want to pay the AWS premium and/or to plug feature holes.
- culo 11y agoor you can use open source api gateways, free. like Kong (https://github.com/mashape/kong https://github.com/mashape/kong) or Tyk.
- venum2 11y agoIsn't AWS one of the cheapest? Other than DigitalOcean, what else is cheaper?
- jively 11y agoHetzner is amazingly cheap, but nowhere near as big. DO is indeed much cheaper. AWS is cheap, but performance varies too. Also, Azure (?)
- tracker1 11y agoAzure has tended to be price comparable to AWS, but does offer some compelling options for storage, that I wish other providers did too. My biggest complaint about MS/Azure is they can't seem to get single signon/off working right... Login to one account for personal email, another for work email, and another still for my personal Azure account... Sometimes gets stuck in a loop, just doesn't work, whatever... I often keep another browser, that I don't mind wiping all cookies on just to get the damned thing to work. Let alone the other day where my payment didn't go through for some reason, and my azure account was locked, as was my live account, that I had to go through a convoluted recovery process that was different because of 2fa, only then to have my email (application password) revoked... grrr. Despite account issues, I've really liked actually working with Azure.. though I think their node tooling could use some TLC, and better documentation... wound up writing my own wrapper (azure-storage-simple) to have a cleaner interface... also wrote mssql-ng as a friendly abstraction on top of mssql.
- alexbecker 11y agoThe analytics on Tyk look amazing, definitely a step up from the internal tools I've built. Is Tyk HIPAA compliant? I'd definitely like to use something like Tyk, but I manage an API that transmits health data, so lots of tools have turned out to be off-limits because of HIPAA issues.
- jively 11y agoI shouldn't see why not. Tyk has a pretty small footprint and supports SSL end-to-end so transmission of data is safe. It obfuscates API keys so they can't be pulled if you keystore is compromised and all analytics also use the obfuscated keys so that security is ensured in log data. However, we'd probably need to do an audit. Worth a check though.
- harryh 11y agoHIPAA pretty much requires dedicated physical hardware. If my code is running on the same machine as someone else's code then I'm breaking the rules.
- harryh 11y agoI feel your pain friend. I too work in the health care industry. Can't use almost any of these toys! Wah!
- breakingcups 11y agoThanks for posting this, Tyk actually looks great (and easier to understand than Kong or Amazon API Gateway). We've been considering building something like this ourselves or looking for a good existing solution, but hadn't found anything yet. I'm definitely checking this out.
- sinzone 11y agowhy you think it's easier to understand than kong?
- vosper 11y agoWhy do you think the lock-in will suck? Lack of flexibility or that you'll eventually want, pricing, or something else?
- ecopoesis 11y agoFlexibility mostly. Pricing you can just bake into you're business model. Flexibility however is always something you run into with platforms. And while this is a bit different then what folks typically think of as a platform (Django, Rails, Play, Spring) it looks like it would suffer the same problems. As soon as you need to do something weird, you're stuck fighting the platform or porting out instead of making your project better. This is why I prefer platforms that are more a collection of libraries with a preferred way of doing then as opposed to rigid box box style things.
- vosper 11y agoThat makes sense. I'm usually a fan of AWS services, but this does look like the kind of thing that could land you in a world of hurt down the line, when there's something you need to do and you just can't without, say, moving completely off the API platform.
- fosk 11y agoFlexibility and being able to easily add extra functionality is the underlying philosophy of Kong (https://github.com/Mashape/kong https://github.com/Mashape/kong), of which I am one of the core contributors. We are accepting pull-requests from the community for new Plugins (http://getkong.org/plugins http://getkong.org/plugins), and I can see Kong running on top of the AWS Gateway -> Lambda integration to provide functionality that is not necessarily bound to the AWS realm.
- kordless 11y agoWelcome to cognitive dissonance.
- culo 11y agoDid you guys tried the open source api gateway KONG? (https://github.com/mashape/kong https://github.com/mashape/kong)
- dangrossman 11y agoAPI is an acronym, and the product is called "Amazon API Gateway". This submission title is bugging me more than it should. Sorry for the meta-comment. Edit: The submission title has been changed since this comment was written.
- dragonwriter 11y ago> API is an acronym Actually, its an initialism (an abbreviation from first letters where each letter is pronounced as a letter) rather than acronym (an abbreviation from first letters pronounced as if it were a word.) Were it an acronym, many style guides (particularly British ones, IIRC) would support presenting it as "Api" rather than "API".
- deleted 11y ago[deleted]
- deleted 11y ago[deleted]
- bdcravens 11y agoKinda like "Ask HN" right?
- jakozaur 11y agoIsn't it yet another case of AWS doing a cheap replacement of existing company: https://apigee.com https://apigee.com I doen't have experience with their product, but on surface they look similar.
- mavus 11y agoI have used Apigee a bit. Amazon's product does seem to me a direct competitor to Apigee. For anyone already on Amazon's infrastructure it's a logical step to use another of their products than buy a service from a third party provider. Amazon's pay-as-you-go service is also very appealing as you might pay for a lot of features you don't use with a provider like Apigee.
- daigoba66 11y agoThey is also http://www.mashery.com/ http://www.mashery.com/. I've run across a lot of companies using Mashery to manage their API.
- acyacy 11y agoI wish Lambda would allow listening to a socket [it helps binaries communicate with node]. This would move our team to use this without any further doubt.
- fooshint 11y agoFor me, I need either socket support or go support.
- IanCal 11y agoGo support? You can run binaries on lambda, as long as they're small enough. http://blog.0x82.com/2014/11/24/aws-lambda-functions-in-go/ http://blog.0x82.com/2014/11/24/aws-lambda-functions-in-go/
- athrun 11y agoWhat would prevent you from using this API Gateway as a proxy to your Lambda functions? It would work just fine for request/response use-cases.
- mpdehaan2 11y agoI get the web UI for understanding it, but this is often not how people want to work... What tools are there to allow me to keep my code/API layouts in source control when uploading to this? I'm sure they exist somewhere, so mostly curious about pointers. (A sample node project using this would probably go a long way)
- BinaryIdiot 11y agoI see this more of a replacement for parse which does a similar thing with cloud code both as far as I can tell there isn't a good place to keep the code / API layouts elsewhere.
- athrun 11y agoThe blog post mentions that you can describe your API using Swagger and then import that. I suppose it means you can keep your Swagger definitions under version control.
- mpdehaan2 11y agothanks!
- pea 11y agoYo! We're building this at https://stackhut.com https://stackhut.com . You can see what an example API looks like @ https://github.com/StackHut/pdf-tools https://github.com/StackHut/pdf-tools . You `stackhut deploy` this and it pushes it to an endpoint you can call over JSON-RPC or HTTP. Would love to hear your feedback (or ping me at leo@stackhut.com if you want me to walk you through anything!)
- andybak 11y agoI've not tried very hard but I'm not sure I get it. I've got an API already running. What does this buy me? Caching? I can see some benefit there it's read heavy. Auth and access control? Feels like that's part of my app code but maybe there's a benefit I'm missing A lot of the other benefits also feel like it would be hard to cleanly separate them from my app code. What's the elevator pitch and who's the target market?
- jively 11y agoAPI Managmeent market is quite big, makes sense for Amazon to get on board. Imagine this: You are BigCorp USA Inc. and have a bunch of internal SOAP-based web services that are 10 years old and cost a fortune to maintain. You hear someone will pay you to use them, but SOAP sucks. So you could either go and change your APIs (and probably break a bunch of internal processes) OR you could use a gateway to sit in front of them and translate in bound / outbound requests. Now you can charge people for your APIs! Scenario 2: If you're an indie dev/ startup but dont want to run EC2 infrastructure, Lambda + Gateway = Cloud service, without any heavy lifting, servers and cost effective. It's development lego. Kind of like Parse. Scenario 3: You have an API for your app, now you wnat third party devs to use it.Your API is not set up for that kind of access (multi-user security, throttling, quotas, analytics etc.) - solution: shove a gateway in front of it.
- WaxProlix 11y ago#1 is exactly what I'm working on right now; turns out there's a huge market for this sort of thing. We're using an API gateway (Axway/Oracle) to build an "API Mullet" (all SOAP in the back, all REST in the front), and while I have some qualms with the tooling, the idea of an API gateway is very sound.
- junto 11y agoOut of interest SOAP services tend to be message/operation based, while REST is deliberately not this. How do you go about proxying REST style requests to a SOAP backend?
- joeyspn 11y agoSeems like a great product to quickly get started with a mBaaS in a powerful cloud like AWS. The concept looks really similar to StrongLoop's loopback [0] with a big difference: vendor lock-in. I like the openness that StrongLoop is bringing on this front... IMO the best solution is one that allows you to move your containerised API from cloud to another cloud. That being said, having this as an option in AWS is pretty cool and potentially time-saving. I'll probably give it a shot soon. [0] https://strongloop.com/node-js/api-platform/ https://strongloop.com/node-js/api-platform/
- culo 11y agoThere is also api umbrella or KONG which is the most popular OSS API gateway: https://github.com/mashape/kong https://github.com/mashape/kong
- cdnsteve 11y agoThere goes the rest of my workday :D I was looking for something like this. Lambda functions are amazing but restricted because they weren't easily consumable externally. This is they key.
- pw 11y agoTotally. This takes Lambda to a whole 'nother level.
- cddotdotslash 11y agoThis is definitely a game changer. Probably 80% of our apps can move to API Gateway > Lambda and we can get rid of scores of EC2 servers.
- Marazan 11y agoIn onl fly in the ultra-low cost ointment is caching To put the minimum cache in front of your API costs more than running an EC2.micro For my projected use where my volume are going to be so low that I will fall under the Free lamda tier and the very first API tier I don't need to worry about caching but for those that do the price will start to rack up.
- tracker1 11y agoAs an interim step, you could always put a small/micro ec2 using whatever you like as a gateway to your lambda services. I'm not sure about the costs involved with the caching options... just the same, I think this option is pretty cool.
- kordless 11y agoGiven the current market direction with containerization and decentralization, I think using something that is vendor specific is probably a bad idea.
- traek 11y agoGoogle has a similar offering for apps running on App Engine, called Cloud Endpoints[1]. [1] https://cloud.google.com/endpoints/ https://cloud.google.com/endpoints/
- culo 11y agothat's not similar. there is no API management in there.
- TheIronYuppie 11y agoWhat are you looking for in API management? There's key management, DDos protection, etc.
- dougcorrea 11y agohttps://console.aws.amazon.com/apigateway https://console.aws.amazon.com/apigateway is down for me
- iamflimflam1 11y agoMe too - 404 page
- jonahx 11y agoWould someone knowledgeable mind answering a few questions: 1. What are the differences between this + AWS lambda and parse? Is there additional functionality or freedom with this route? Is it cheaper? 2. What kind of savings could one expect hosting an API with this vs a heroku standard dyno?
- jamiesonbecker 11y agoAMAZON DEPRECATES EC2 November 3, 2017, SEATTLE At the AWS Re:Invent in Las Vegas today, Amazon Web Services today announced the deprecation of Elastic Compute Cloud as it shifts toward lighter-weight, more horizontally scalable services. Amazon announced that it was giving customers the opportunity to migrate toward what it claims are lower cost "containers" and "Lambda processes". "We believe that the cloud has shifted and customers are demanding more flexibility," tweeted Jeff Barr, AWS Spokesperson. "Customers don't want to deal with the complexities of security and scaling on-instance environments, and are willing to sacrifice controls and cost management in order to take advantage of the great scale we offer in the largest public cloud." Barr went on to add that since their acqui-hire of Heroku last year, AWS has decided that the future of the cloud was in Platform as a Service (PaaS) and is now turning its focus to user-centric SSH key and user management services like https://Userify.com https://Userify.com. Amazon (AMZN) stock was up $0.02 on the latest announcements.
- deleted 11y ago[deleted]
- hitekker 11y agoA little anal: Heroku is already owned by Salesforce.
- shankysingh 11y ago
- graycat 11y agoOkay, at Google I found that IAM abbreviates Amazon's Identity and Access Management. So, the OP has an undefined three letter acronym. Suspicions confirmed: The OP is an example of poor technical writing. Why do I care? I could be interested in Amazon Web Services (AWS) for my startup. But so far by a very wide margin what has been the worst problem in my startup? And the candidates are: (1) Getting a clear statement of the business idea. (2) Inventing the crucial, defensible, core technology. (3) Learning the necessary programming languages. (4) Installing software. (5) System backup and restore. (6) Making sense out of documentation about computer software. May I have the envelope please (drum roll)? And the winner is, (6) Making sense out of documentation about computer software. And the judges have decided that uniquely in the history of this competition, this selection deserves the Grand Prize, never before given and to be retired on this first award, for the widest margin of victory ever. No joke, guys: The poorly written documentation, stupid words for really simple ideas, has cost me literally years of my effort. No joke. Years. No exaggeration. Did I mention years? At this point, "I'm reticent. Yes, I'm reticent." Maybe Amazon has the greatest stuff since the discovery and explanation of the 3 degree K background radiation, supersonic flight, atomic power, the microbe theory of disease, electric power, mechanized agriculture, and sex, but if Amazon can't do a good job, and now I insist on a very good job, documenting their work, which is to be yet another layer of documentation between me and some microprocessors, then, no, no thanks, no way, not a chance, not even zip, zilch, zero. What might it take me to cut through bad Amazon documentation of AWS, hours, days, weeks, months, years, then from time to time, more hours, days, or weeks, and then as AWS evolves, more such time? What would I need to keep my startup progress on track, 500 hours a day? More? All just to cut through badly written documentation for simple ideas, and worse documentation for complicated ideas? First test: Any cases of undefined terms or acronyms? Result: About three such cases, and out'a here. Gone. Done. Kaput. I don't know what AWS has, but I don't need it. Sorry, AWS, to get me and my startup as a user/customer, you have to up your game by several notches. The first thing I will look at is the quality of the technical writing in your documentation. And, I have some benchmarks for comparison from J. von Neumann, P. Halmos, I. Herstein, W. Rudin, L. Breiman, J. Neveu, D. Knuth. Amazon, for now, with me, from your example of writing here, you lose. Don't want it. Can't use it. Not even for free. I'm not going to invest my time and effort trying to cut through your poor technical writing. And, the next time I look at anything from AWS, the first undefined term and I'm out'a here again. Yes, I'm hyper sensitive about bad technical writing -- couldn't be more sensitive if my fingers and arms were burned off. Whenever possible, I will be avoiding any chance of encountering bad technical writing, ever again. Period. Clear enough? More generally, my view is that bad technical writing is the worst bottleneck for progress in computing. Come on, AWS, up your game. I don't want to run a server farm and would like you to do that for me, but neither do I want to cut through more bad technical writing -- for that work, my project is already years over budget.
- adamkittelson 11y agoIt'd be cool if they'd use this to wrap their own XML-only APIs to provide JSON wrappers.
- culo 11y agoSmart move for AWS, but they are not innovating nothing here, just following. Late. Companies like Apigee/Mashape/3scale/Mulesoft have been doing cloud API management in various forms since 2008. Even Microsoft Azure has an API management offering since two years. Nowadays all those API gateway features are commodities and doesn't make sense to pay for it anymore. Indeed Open Source projects such as KONG [1] are getting tremendous tractions. Same things happened in search with all cloud solutions and then ElasticSearch came out and was game over. [1] https://github.com/mashape/kong https://github.com/mashape/kong
- oblio 11y agoAWS has a lot of pull. And they iterate quickly. Plus AWS is probably still the most complete cloud offerings, and integration is always great.
- fosk 11y agoThis is very interesting, and I am surprised it didn't happen a long time ago. The Lambda function integration opens up lots of new ideas when building API backends ready to be consumed by clients apps like, for example, a client-side Javascript application. On the other side it seems like other extra functionality is limited and very AWS-oriented. If you are looking for an open source gateway that can be expanded with extra functionality, and potentially sit on top of the AWS-> Lambda integration, take a look at https://github.com/Mashape/kong https://github.com/Mashape/kong (I am a core maintainer too, so feel free to ask me any question). Kong is accepting plugins from the community (http://getkong.org/plugins http://getkong.org/plugins), which can be used to replace or extend functionality beyond any other gateway including AWS Gateway.
- jively 11y agoI think AWS is going after the Parse / Heroku market here, the combination of Lambda and this gateway make it more suited for that kind of implementation, they are missing out on the larger features that enterprise needs - the blog post doesn't really go into detail on how SOAP conversion works, and I doubt it's a cakewalk. It's in legacy API services that places like Mashery and Apigee make all their real money, and I can't see large enterprises shifting their legacy services to EC2. It's quite forward looking. The satire on how EC2 may be deprecated is really not far off from where things are heading. I always find it quite funny when only single OSS projects are mentioned as alternatives, there's so many more full-featured projects out there: Tyk (https://tyk.io https://tyk.io) API Umbrella (http://apiumbrella.io/ http://apiumbrella.io/) and ApiAxle (http://apiaxle.com/ http://apiaxle.com/) to name some. For more fine grained approaches there's also Vulcan (http://vulcanproxy.com/ http://vulcanproxy.com/)
- culo 11y agoapiaxle and apiumbrella have few features actually. vulcan is not for api management and beside that quality > quantity.
- ersoft 11y agovulcan is not for api management and beside that quality > quantity What do you mean ? With vulcand you can implement your own middleware similar to kong. Also, it is written in go and you can use all existing go libraries. Also, how can you gracefully reload kong if you need to add/remove/change a plugin ? With vulcand you just replace the binary, and send an USR2 signal to the running process. It will fork, wait for all connections to drain, and remove the old process For deployment, again, you need to sync all lua files, with vulcand you just ship a compiled binary. Kong doesn't have a notion of servers for each API, you need to forward requests to a haproxy or another load balancer for this. Also, I can see that backends are added by their DNS hostname. In order to achieve HA (backend redundancy) is there any way you can do it, assuming that nginx is caching the upstream dns values ? About performance, I can see you are advertising about 1000 r/s using kong, and you need 3 machines for this (kong, cassandra, haproxy). I benchmarked vulcand and obtained about 12000 r/s on a more modest hardware.
- serverholic 11y agoHow do you develop for these kinds of services? It seems like you'd need to setup a whole development cluster instead of developing locally.
- jively 11y agoTherein lies the rub - if you are working with AWS' key-value store, and then also their Lambda system, then you don't really develop server side - you develop everything client side (mobile app) and just use the cloud as a dumb logic store.
- plicense 11y agoWell, you are still free to write resource consuming operations and deploy it to an EC2 instance and call it from Amazon Gateway. Lambda is just an example. Moreover I feel Lambda can do pretty good stuff. I am sure it will integrate with other AWS services pretty soon and once there is connectivity to an RDS instance, then it solves the use case for half the developer population out there.
- brightball 11y agoOne of the other benefits of using Cloudfront based endpoints is that your app servers behind it can avoid the TCP handshakes that add some latency. Amazon did an interesting presentation at re:Invent on the performance improvement from using Cloudfront ahead of dynamic requests that was eye opening.
- intrasight 11y agoThey say "If you already utilize OAuth tokens or any other authorization mechanism, you can easily setup API Gateway not to require signed API calls and simply forward the token headers to your backend for verification." It would be nice if AWS would stand up an authentication service that could handle oauth. Or do they already have such a thing?
- fosk 11y agoKong[1] is releasing OAuth 2.0 support in a week or so (when 0.4.0 will be announced). You will see it appear in the plugin gallery[2] [1] https://github.com/mashape/kong https://github.com/mashape/kong [2] http://getkong.org/plugins/ http://getkong.org/plugins/
- joeyspn 11y agoThey say we can use Amazon Cognito[0]. I hope they put some examples with ACL and Role management (I wonder if this could live in lambda functions using packages like node_acl) [0] http://aws.amazon.com/cognito/ http://aws.amazon.com/cognito/
- deleted 11y ago[deleted]
- estefan 11y agoPlease can people give examples of what they're using lambda for. Everything I've seen has been really basic (like image scaling), but most things I think of require a database.
- deegles 11y agoI'm writing several apps for the Amazon Echo that are hosted on Lambda. I'm also using DynamoDB.
- mattkrea 11y agoI use it with Amazon Kinesis to funnel Kinesis data into a Slack channel after it has been parsed.
- trevordixon 11y agoCompiling LilyPond scores (http://lilybin.com http://lilybin.com). Usually we have at most 1 user at any time, but we can also handle bursts, like when a classroom of 30 students all use it at the same time. Ends up even cheaper than running one VM that can only handle 2–3 simultaneous users.
- cddotdotslash 11y agoImage processing primarily: user uploads an image to S3, a thumbnail version gets created automatically. Now, we'll probably put it behind some of our APIs that see huge swings in traffic. It'll be nice to not pay to be running even a single x-large instance at night when the API is only seeing a few hundred hits per hour.
- tootie 11y agoFor heavy users of AWS services (not just EC2, but fancy SaaS/PaaS stuff) do you ever regret being locked in to a hosting provider? Does it restrict your ability to develop locally? Have you been bitten by problems that you can't resolve because you don't own the product? Or do you pretty much just love it?
- xrstf 11y agoWe had cases where failing MySQL queries[1] would leave behind GigaBytes of garbage data that we (as users of Amazon's RDS) have to pay for and have no option of removing (besides killing the entire database and rebuilding a new one, which would cost us more than just living with the garbage). Having our own small EC2 instance with MySQL on it would have saved us quite a few hours of work/downtime. [1] Have a database of a few gigabytes of sizes, start an ``ALTER TABLE`` and wait until your pre-allocated disk space is filled up. The query dies and you just fucked yourself. Can happen unexpectedly: We tried to remove a non-existing index on a table and MySQL decided to FIRST copy the entire table and THEN report that there is no such index.
- gtaylor 11y agoFWIW, we absolutely loved it at the last place I worked. We were all too happy to let AWS host our Postgres instance (RDS), our static assets (S3 and CloudFront), and a bunch of other things. We weren't particularly locked in, either. We always had the option to run our own Postgres cluster (it just didn't make sense to spend the manpower on it for us). We could have hacked together our own CDN, but that wasn't our core business focus. For small companies with low manpower, build on the services and get things done fast and as well as possible. It may cost more upfront than doing it on your own, but you are probably going to come out ahead by minimizing your maintenance/security/administration surface area.
- ademarre 11y agoIt sounds like you were using relatively loosely coupled AWS services. RDS doesn't change your programming interface to the database, it just hosts it. If you needed to, you could switch to a non-RDS Postgres server with only a configuration change to your core application. Contrast this with using AWS DynamoDB, which would likely be a major overhaul if you needed to switch to something that could be used outside of AWS.
- agentgt 11y agoI can't help but notice that this looks more like an enterprise integration tool (think mulesoft) than API management (think apogee.. or I think that is what they do). Speaking somewhat from experience (webmethods, caml, spring-integration and various other enterprise integration tools) they always want you to use "their" DSL which is often not even stored on the developers filesystem (ie webmethods... you submit the code to the "broker" or "rules engine" or "router"... lots of words for thing that does the work). Which leads to very awkward development. Consequently I wonder if they will have git integration because writing code even snippets in a web form no matter how nice gets old fast.
- jively 11y agoPrediction: Amazon buys a cloud IDE platform.
- jstoiko 11y agoI am surprised that Amazon did not add support to more API description formats like RAML or apiblueprint. It is such a key feature. If I wanted to use this service in front of existing APIs, even only one API, I would not want to go through the work of having to redefine all my endpoints through a web form! Shameless plug: after working on several API projects, I have been researching ways to not have to "code" over and over again what goes into creating endpoints, it became so repetitive. Lately, I turned to RAML (Yaml for REST) and, with 4 other developers, we created an opensource project called Ramses. It creates a fully functional API from a RAML file. It is a bit opinionated but having to "just" edit a Yaml file when building a new API simplified my life. As a bonus, I also get a documentation and a javascript client generated from the same file. EDIT: forgot the url https://github.com/brandicted/ramses https://github.com/brandicted/ramses and url of a quick start tutorial: https://realpython.com/blog/python/create-a-rest-api-in-minutes-with-pyramid-and-ramses/ https://realpython.com/blog/python/create-a-rest-api-in-minu...
- vlad 11y agoCheck out this screenshot, what I may release as ApiEditor.com http://i.imgur.com/wSEKeVb.png http://i.imgur.com/wSEKeVb.png It would be nice to have one place to edit routes with a good UI, better than what Amazon released today.
- sytringy05 11y agoswagger 2.0 spec and RAML are almost the same thing. There's some minor differences but I would guess you could import the RAML into AWS and it would work
- kpennell 11y agoFor someone who doesn't understand this that well, is this similar to firebase?
- jively 11y agoNot really, firebase is a database that has a RESTful interface (and events and all kinds of other cool stuff). with this you set up endpoints, point them at cloud functions that may or may not interact with AWS' DynamoDB and your own services to provide functionality but I think you need to worr it all up yourself.
- vlad 11y agoI'm working on ApiEditor.com, here's a screenshot: http://i.imgur.com/wSEKeVb.png http://i.imgur.com/wSEKeVb.png I originally built it for the Swagger Spec 15 months ago, as the first visual Swagger Editor. Let me know if you guys are interested in using something like this. Notice it has the code side-by-side. Also, it scrolls to and highlights the section of the spec you're editing. Notice the dropdowns are aware of custom models (e.g. "User", "Order") in the documents and suggest them to make it easy to use.
- ayushgta 11y agoAlso see http://editor.swagger.io http://editor.swagger.io
- deleted 11y ago[deleted]
- vlad 11y agoI'm not mentioned on that site or their launch blog post, but my code to ApiEditor was shared privately with the Swagger Editor folks who went on to create that editor, also in AngularJS.
- msoad 11y agoSwagger Editor is open source[1]. Go find your code and claim it. They shouldn't take your code without giving you credit. [1] https://github.com/swagger-api/swagger-editor https://github.com/swagger-api/swagger-editor
- mohsen1 11y agoI built the Swagger Editor from scratch. I didn't use your code at all. We used SwaggerUI for rendering in the beginning but that was replaced with it's own renderer. I blogged about it here: http://azimi.me/2015/04/23/swagger-editor-talk.html http://azimi.me/2015/04/23/swagger-editor-talk.html
- 11y ago
- ramon 11y agohttps://console.aws.amazon.com/apigateway https://console.aws.amazon.com/apigateway up and ok here :), great!
- zenlambda 11y agoI just tried this out with a Lambda function; I was wondering why you can't serve HTML with this (Yes, I know this product is aimed at enterprise ReST API stuff... one can try at least). Well, it seems that authentication for the client is mandatory. This makes it unsuitable for rendering markup and serving it directly to clients. Can anyone confirm this can only serve JSON content? I suspect were anonymous requests allowed, I'd see my markup rendered as a JSON string.
- jwatte 11y agoIf you absolutely must build a website on this, you can serve the bootstrap HTML page out of S3 and use the JSON to populate it, single page app style.
- pea 11y agoThis looks really interesting -- I think the abstraction of the server away from a bunch of development cases is gonna happen pretty quickly. We're hacking on something really similar to this at https://stackhut.com https://stackhut.com, where we are building a platform for Microservices which are powered by Docker, can be run wherever through HTTP/JsonRPC, and are really simple to build/deploy. Think "Microservices as a service"... ;) To give you an example, here is a task which converts PDFs to images: http://stackhut.com/#/services/pdf-tools http://stackhut.com/#/services/pdf-tools, and here is the code powering it https://github.com/StackHut/pdf-tools https://github.com/StackHut/pdf-tools which we `stackhut deploy`d. We're about to open up the platform and would love to hear what, if you had a magic wand, you'd wish upon the product.
- anoncoder 11y agoDo some math. It's expensive. 100 r/s for one month is about $900. Plus your bandwidth and EC2 charges (unless your using Lambda). For simple Lambda functions, you can get 100 r/s on a micro for $9.
- clay_to_n 11y agoFor those interested, the creators of Sails.js (a node-encapsulating framework) have created a sorta similar product called Treeline[1]. [1] https://treeline.io/ https://treeline.io/
- fiatjaf 11y agoHow do you test these things?
- jwatte 11y agoService as a Service - we've reached Serviceception!
- machbio 11y agoI was trying this API gateway out, unfortunately there is no way to delete the API created..
- avilay 11y agoI had built a command line tool for a similar purpose to generate REST APIs running on the MEAN stack. It creates "user" and "account" resources by default with user and admin authn/authz built in. It then deploys to heroku - creating a mongodb instance and a web dyno. Putting this out here in case anybody finds it useful. https://bitbucket.org/avilay/api-labs/ https://bitbucket.org/avilay/api-labs/
- vlad 11y agoI posted a 10 minute video overview for those who'd rather listen than read: http://ratemyapp.com/video/VIqZFaU1PhQ/Product-Preview-Amazons-newest-Gateway-drug-API-Gateway http://ratemyapp.com/video/VIqZFaU1PhQ/Product-Preview-Amazo...
- HNLogInsSuckAss 11y agoNo thanks, Amazon. Tried AWS and it was sad. Your documentation is a woeful mess, your SDK a bloated mess, and your administrative front-end crippled beyond belief. After weeks of dicking around with Amazon, I set up my own server at Linode and started getting work done. Hell, Amazon can't even figure out how to remove my credit card from an AWS account. AVOID.