For our project i need resolution higher than 640x640, it is for printing purposes. I need the Street View of 2000 addresses, i was sent here by Google to solve the problem because Google said premium for this project is expensive (8000 euros a year) and someone would come with a different solution than buying premium.
Related
Anyone have an idea on how to achieve a differentiated service with Google App Engine? I have two types of users. One is premium while another one is free user. I would like to set different minimum latencies for firing up new GAE instances between the two. In other words, I am willing to pay extra for the traffic generated from the premium users. Nonetheless, for the free users, I would prefer to pay at minimum or within the daily free quota provided by Google. In my case, I expect that the free users are able to tolerate higher latency than the premium ones. I believe that this case should be quite general and apply to many people.
Assuming that I can identify types of users by the URLs they use or via other mechanisms. The only way I could think of is creating two separated applications and letting the premium users access the one that enables billing, while free users access the one that doesn't. However, my free and premium users need to share the datastore because they are also have to communicate within the application. Unfortunately, it seems that sharing a datastore across applications without hurting performance is not possible at the moment.
No, this is not possible right now. App Engine gives you a few knobs to balance cost vs. response time: instance class (applies to all versions), min/max pending latency, and min/max idle instances. The latter two sets of knobs only apply to the default version of your app.
There are other ways you can try to lower cost for free users though. e.g. give them limited storage, limit the number of logins or page views over a period of time, serve them lower quality images (if your app is image intensive), etc.
I'm not sure "cut costs for free users" is a useful strategy though. The conventional wisdom is that you want to turn your free users into paying customers (known as "conversion" in the biz). This is more or less what App Engine itself tries to do :P. There is no magic bullet that instantly turns free users into paying customers. The "trick" (if you can call it that) is to make the paid version of your app so compelling that people would rather part with their money in order to have it.
I apologize in advance for the overly-long post, but I wanted to provide as much information as possible.
I've been building web database apps for years, but I'm stuck on a redesign that I've been wanting to do forever and I cannot seem to figure out. I'm hoping for a nudge in the right direction.
The business is a self-storage rental business. Tenants typically sign a contract/rental agreement with no specific end date and usually (but not always) pay each month on roughly the same day as their start date. So if you move in on the 16th, your rent is due on the 16th of every month (ignore those last few days of the month that not all months have). Some folks pay 6 months in advance, etc.
Here are the tables that I know/think I need.
Tenants (basic contact info)
Storage Units (information about each unit, square footage, maybe base monthly rate unless I decide to stick those values in a separate table so that I can easily change the base rate for all units of the same type)
Tenants <-> Storage Units (One customer can rent multiple units, but each unit can only have 1 or 0 tenants so maybe this doesn't need it's own table.)
The part that I am stuck on is the best way to handle the billing - no invoices are generated - tenants just need to remember to pay. I want to build this as a web app on a hosted provider so I don't know if I should be thinking about handling this with a nightly db script or from the web app side or if I can design it in a way that nothing special needs to happen each night.
Here's a simple example of what I need.
Joe rents Unit #1 on 1/1/2011 and pays for 1 month of rent ($50/month).
How do I build this so that if Joe doesn't pay for month 2 on 2/1/2011 he appears as past due and owing $50 (late fees also kick in after being late for 5 days and you are flagged for being locked out of your unit if you don't pay for 10 days). The employees have some discretion on late fees & lock outs if it's a long-time customer and they were just a little late, etc.
I think the most similar real-world design might be a cable television provider, but I'm having trouble putting it all together without making it overly complicated.
I will likely be building this in .NET 4 with MS SQL 2005/2008, but I don't think this is a technology-specific question.
If the three tables you listed are "obvious", it's equally clear that you'll need some tables for accounts payable and receivable. If you don't already have something for the accounting side of the business you'll have to add it into your site.
I'd wonder about any business that didn't have some kind of accounting software in place. The best thing, in my opinion, would be to find a way to let your web app tap into that data source in a secure, read-only way.
I am writing a java desktop application which will connect to a server and pull various data products. Customers will be charged a 'per-click' fee (i.e. Sally at Acme pulls a data report costing $5 anywhere from 1 to several thousand times per day -- I want her name, customer ID, product price, date/time, etc. sent to quickbooks or peachtree each time she does this). So we could potentially have anywhere from 10 to eventually several hundred instances of this application out there.
Anyone have any suggestions as to how I might approach this? I want to use ONLY java so ideally there would be an api out there for quickbooks or peachtree that would allow for this integration.
Thanks!!!
Marc
I think more detail is needed. The first problem is what application is Sally pulling a report from, if it is in Quickbooks online, how will you get that information from the website to your application. Why do you want to write that information to Quickbooks. Writing to an independent database may be easier. It sounds like there may be some security concerns with what you are trying to do, that may be difficult to overcome in the browser.
I know this has been asked one way or another before, but most of the main issues to do with GAE stability seem to have been asked around the end of 2008, early 2009, or aren't directly related to games at scale (which I'm interested in).
Basically, I have been arguing back and forth with my business partner about whether to use GAE or AWS for the back-end of our social game engine, and now it's crunch time. I love GAE (Java) for so many reasons, and although it used to be unstable, it's pretty good now. The main argument in favour of AWS is the fact that AWS has proven itself with multiple games running tens of millions of active users per day. The obvious pin-up child for AWS is Zynga, with its Farmville peaking at 80+million DAU. And that's just one of the hugely successful games running on the AWS infrastructure. Remarkable achievement.
So, one way or another it's KNOWN to work. GAE on the other hand doesn't have any examples that I could find doing these sorts of numbers. Not even close. So can I trust it? Is there a single example of a large social game with 2 million+ Daily Active Users, using GAE?
The main considerations for our social game back-end are:
Reliable CDN (Amazon CloudFront/S3 is excellent for this, as is Google's obviously excellent DataStore).
Ability to scale without falling over (AWS-EC2 is proven here, GAE doesn't seem to have examples of large game apps which can run into the 1000s of requests per second. GAE used to be quite unstable in this regard and so is my main concern).
Reliable no-SQL database. (AWS-SimpleDB and Google's DataStore are both excellent for this. We really don't need SQL).
Support/someone to call/contact if there is a problem. (This is one of the biggest worries with GAE. I have no idea who I can call, or if it's even possible. AWS has an SLA and support.)
I look forward to your thoughts, but please also note, this is not intended to start any sort of flame war. I love both systems, but both have their positives and negatives, but I'm about to make an architectural decision that likely won't be undone moving forward.
Regards,
Shane
I've never worked with AWS-EC2 so I'm going to share my knowledge just on the Google App Engine side.
Google App Engine is not meant to be a CDN; though it can serve static content through its powerful infrastructure providing caching close to the users, it does not guarantee the same kind of high quality and high availability service of a real CDN because it's not part of its duties.
Further data:
Maximum size of a file using the BlobStore service: 2 Gigabytes
Maximum size of a static file: 10 Megabytes
Currently App Engine always returns 200 status for static files even on Conditional gets (you have to rely on third party caching library like cirruxcache for example).
Recently Google App Engine team has shut down the App Gallery for one simple reason: too many Toy Apps!
Google wants to counteract this tendency showing successful businesses case studies; here are some of them:
BuddyPoke (viral Facebook app with 65 million installs)
WalkScore (serves 3 million request a day to thousands of real estate partner sites)
Webfillings
Snapabug
Optimizely
Ubisoft Facebook TikTok game
Other interesting case studies here
"We are well aware of downtimes and reliability issues, and are working hard to solve them: Improving App Engine reliability is our number one priority" was recently said by a Google Developer Relations Manager here.
App Engine is still in beta and is an evolving platform so you have to be prepared to deal with downtimes and issues.
Google App Engine team has just launched a preview of App Engine for Business providing 99.9% uptime service level agreement and premium developer support available.
Here is my opinion for what it's worth:
I'm aware that it's a tough call; having read a lot of articles about GAE I have mixed feelings about it because you can go from the recent catastrophic Carlos Ble report to the happy experience of Flower Garden or Gri.pe.
App Engine for Business looks promising and I would consider it in the case of a serious business project plan.
The fresh SDK 1.4.0 is huge and it clearly shows that the Team is really pushing hard to fix some annoying issues (Warmup requests) and relaxing some limitations (10 minutes process on TaskQueue).
Last thing to consider: if you are going to have big numbers, the Google App Engine Team will probably take your app as a successfull case study to follow with a boost of free and powerful Hype.
BuddyPoke is one example of a large-scale social app running on GAE. How large I'm not sure. This article says 30m daily page views (not users):
http://googleappengine.blogspot.com/2008/10/app-engine-case-studies.html
Their facebook page says 2.7 million monthly (not daily) users:
http://www.facebook.com/buddypoke
Although, they are also on a heap of other social networks:
http://www.buddypoke.com/
Personally I decided to go with GAE, for a couple of main reasons:
The unit of scalability is a single request, not a whole instance like it is with AWS.
I can work at a higher level, without having to worry about configuring instances.
If your point 4 is a big one for you, then you may be better off with AWS. With GAE there appears to be nothing you can do, and no-one you can contact.
About a week ago I had an issue with my app - it had suddenly started failing in Google's code, in a location which had been working fine for the last 5 days, ie since I had last uploaded my app. The only way to report issues to Google seems to be via their production issue template, here:
http://code.google.com/p/googleappengine/issues/entry?template=Production%20issue
I reported the issue, and didn't hear anything. Since it's running on Google's servers I was unable to resort to any 'usual' emergency tactics like restarting a server. An hour later and the problem resolved itself - I'm not sure if someone at Google saw my message and fixed something, or if it just went away. I updated my bug report to say the problem was fixed, but even now a week later the issue hasn't been closed or even acknowledged. Also since the issue has to be posted publicly, my app is now getting random hits from bots.
Admittedly my app is currently only in beta and so only has a hundred or so users, and so it wasn't a major incident for me. If I was getting thousands / millions of hits, maybe either Google would have noticed the problem themselves earlier, or they would have paid more attention to my bug report.
On your point 3, even my small app with a small amount of traffic throws occasional data store errors (even during times which aren't reported on the availability charts as outages).
Having said this, I still like GAE (I am using the Python version), and plan to stick with it. The promise of GAE is its scalability - although it falls over occasionally now for my small traffic, it shouldn't fall over any more when it scales to much more traffic (ie your point 2), provided I've coded it correctly to avoid contention. I'll see how it goes.
Finally regarding your point 1, the blobstore and/or static files are more like a CDN on GAE, than the datastore. However for very large amounts of traffic, a real CDN may be cheaper. It's also not necessarily a CDN, see Google app engine & CDN.
Hi I roll out some site on google apps engine but I'm not really happy about it for this reason:
django is not fully supported so no administration etc.
using django patch etc. sometimes give me some problem when new release on gae is out
a registering domain (with go daddy) and add it to google apps engine (no redirection)
seems take too times for display page
waste times to avoid some restrictions eg no sql, query number limited etc.
little scare because I've no great traffic but is rising up so I can predict how much
really cost
so my question is for your experience is better a slicehost style server (some dedicated server cost $50 and give you 1,5TB ) or other or google apps engine is economic and pro.
just for getting idea my site is yappiedo.com and sometimes seems slow
other Idea and suggerstions are welcome
thanks
In grab bag format:
As long as you have a model for making money off your visitors, you do not need to be scared about rising costs. See this blog for what happens when this guy was hit with major traffic. The costs are reasonable (for him at least) and any other non-GAE solution would have died a screaming death, costing him many thousands of dollars in lost revenue.
You are not working on a traditional relational system. You need to design your application to work with GAE's strengths, not to fight GAE's weaknesses. If you spend all your time working around datastore limitations, take your data model back to the drawing board and make one that plays well with GAE. De-normalization is usually the key word.
There are significant slowdowns associated with starting an instance of your application the first time. These go away when your app is hit often enough that it stays in memory
The should be no difference between hitting *.appspot.com and a properly setup google apps domain. Check your DNS configuration.
And the answer is: depends.