Google App Engine (you can try it for free here) is an open cloud platform that allows you to build mobile and web applications. However, this is not all; you can bring your frameworks, language runtimes, and even third-party libraries. The Google App Engine is a well-managed platform which entirely disconnects the infrastructure so you can set all of your focus on your code. Moreover, you can go from scratch to planet-scale and understand why the most successful companies use Google’s App Engine to power their apps.
Some of the businesses that use the Google Cloud Platform are Coca-Cola, Spotify, and Motorola. You can find more applications that use app engine here.
Google App Engine does not only help you build scalable mobile and backends in every language on the company’s infrastructure, but also offers you a ton of great features.
Every Popular Language
You can create your app in Java, C#, Node.js, Python, Ruby, PHP, or Go; you can even bring your language runtime.
Both Flexible and Open
App Engine offers you custom runtimes which allow you to bring any framework and library to App Engine by providing a Docker container.
Google’s App Engine manages every concern you might have regarding the infrastructure so that you can focus only on your code.
Diagnostics, Monitoring, and Logging
Google offers a Stackdriver (you can also try it for free) which gives you powerful application diagnostics to monitor and debug the performance and health of your app.
You can easily accommodate various versions of your application, and effortlessly create production environments, tests, staging, and development.
You can direct incoming requests to different app releases, do incremental feature rollouts and A/B test.
You can tap a growing ecosystem of GCP services from your application including an excellent suite of cloud developer tools.
For Every Language Community
As we stated earlier, App Engine supports Java, C#, Node.js, Python, Ruby, PHP. You will be very pleased if you are a developer working with any of these language communities since you will be immediately productive in an environment you are already familiar with. All you have to do is add code. Not to mention that it is very easy to install and run, here you can find detailed guide.
Most of us will not accept controlling tools that lock you into technologies and platforms with unreal constraints.
If this does sound like you, you are probably looking for something out of the box. With App Engine, you can supply your Docker image and bring your software stack from frameworks to language runtimes to third-party libraries. If you need to move your app to another platform, you can do so by taking your app with you and deploy it to a container-based system such as Kubernetes on-prem or the public or private cloud.
Just Add the Code
If you use App Engine nothing will get between you and creating your high-quality code. Infrastructure concerns such as scaling your application down or up to handle the traffic, healing your instances, health-checking and load balancing, as well as applying updates to the underlying operating system are all entirely managed by Google for you.
Infrastructure When You Need It
Not only do you get to enjoy a well-managed developer experience, but you can also drop down into infrastructure for a higher level of control when needed. If you need to deploy custom code, integrate the engine into your DevOps process you can SSH straight into your instances. You can specify your application’s memory, and CPU requirements and the Engine will automatically arrange the infrastructure on your behalf.
End-to-End Compute for Every Workload
Bigger companies with legacy apps run in hybrid and sometimes even multi-cloud environments in which the apps might be redistributed to VM’s, fully managed platforms or containers. GCP is superior when it comes to this diverse environment and allows your apps to communicate with really low latency on Google’s network infrastructure to support any workload.
Growing Ecosystem of Services
GAE is designed so that you can tap into a thriving ecosystem of managed services with just an API call away. You can choose either SQL or NoSQL databases, services such as Cloud Pub/Sub, monitoring and diagnostic tools and a fantastic range of developer tools on GCP.
Google App Engine vs. Heroku
Cloud computing is not the next big thing anymore. The evidence is clear by all the data infrastructure centers that are being set up by players that are already established like Amazon’s AWS and Google’s App Engine. So, it is evident that this is the current big thing. Of course, there are smaller pioneers like Heroku as well, which started out in 2007, which is the late Jurassic period in cloud computing.
So in this section, we will compare Heroku and the Google App Engine, which are both PaaS offerings, to see which of them makes them tick.
App Engine and Heroku are similar since they are both PaaS solutions. Both of them provide you with an immediate environment in which you can deploy your apps and code. However, this environment does not host an unlimited range of databases, operating systems, languages and other base platforms.
Thus, you can get up to run fairly quickly, but if your app does not run or is not hosted or developed by the pre-approved list, then you will be left high and dry. This is in bleak contrast to IaaS platforms like Amazon’s AWS which provide you with a virtual machine in which you can customize and install your software environment as you would like.
What They Are
The Google App Engine introduces you to an abstracted view of a machine instance which runs your code and supports Java and similar JVM languages like Clojure, PHP, and JRuby, even languages like Python and Google’s Go. Unfortunately, only pure Python is supported, so you will not be able to run modules that contain C code for example.
Since there are such language restrictions, it is clear that Google introduces developers to a language-aware environment in which to run their code. Many people complain that App Engine’s read-only proprietary nature results in unnecessary and tedious code refactoring.
This means that the applications have to be written with the App Engine in mind. For example, even the standard Java code has to be altered quite a lot to fit into the App Engine Environment. Another disadvantage is that Google insists that their customers only use the company’s BigTable non-rational DB, even though they recently added support for CloudSQL. This has led many consumers to believe that Google is trying to lock them down to their framework.
Heroku is currently owned by Salesforce, and it used to support only Ruby. However, now, it also includes support for Scala, Java, Clojure, PHP, Python, and Node.js. It is still acknowledged as an excellent host for Ruby frameworks and platforms such as Ruby on Rails. When it comes to databases, you have both non-relational and relational choices in Redis, PostgreSQL, Cloudant, and MongoDB.
This is a significant advantage over the App Engine since Heroku’s database options offer a collection which is already in widespread use in the wider world. It is reasonably easy to port your database from Oracle to PostgreSQL since they are both relational, but moving your relational database to the non-relational BigTable will be quite difficult. We are not saying that it cannot be done, but it will take you quite a long time, and it can be very annoying.
Comparing the prices for PaaS products could be quite frustrating. You probably think that similar products in the same market offer identical features, which make them easier to compare. However, this is tough to do for PaaS products. For example, you can get a free tier with both, but they have diverse capabilities. Heroku’s unit is referred to as a dyno, and it offers 512MB with 100MB swap space as well as an unknown CPU power for free.
If you need more dynos, it will cost you $0.05 per hour. The equivalent for a dyno on App Engine is called FrontEnd, and it costs $0.08 per hour. The database on App Engine costs $0.24 per Gigabyte per month and is a tiered plan from $9 to $100 for a Terabyte on Heroku.
However, the App Engine also charges you $0.07 for every 100 000 reads and $0.10 for every 100 000 writes to the datastore. We think that this is an outrage – there is not a good reason for cloud platforms to charge users to read or write their data. Heroku does not charge for this.
Heroku is much cheaper than Google’s App Engine.
Pros and Cons
+ Standard SQL.
+ Simpler pricing model.
+ Comparatively painless deployment.
- Smaller than Google.
- It is hosted on Amazon’s AWS, which experiences massive outages.
+ Gives you access to the rest of the company’s services.
+ Easier to run asynchronous tasks than Heroku.
+ Google has its cloud infrastructure.
- Lack of platform flexibility.
- There isn’t a standard SQL database.
Google App Engine vs. AWS
Developers have been arguing about the GAE vs. AWS topic for quite a long time. Many people believe that the Google Cloud Platform is the strongest and largest competitor to the AWS supremacy. So in this section, we will briefly explain the most important factors to make you help an informed decision.
What They Are
One of the largest differences between the platforms is some services that they offer. From this point of view, AWS is better. The quality and quantity of the available services on AWS is very extensive and broad, and it creates a massive set of opportunities for many various needs.
On the other hand, GCE’s list of the product is much smaller and is mostly focused on the classic PaaS and IaaS services. The first one is the area in which Google focused most of their efforts, given that the App Engine is the first service that has ever launched in GCP.
However, you will still find the usual IaaS object storage, computing, non-relational and relational databases and several more services for Endpoints and DNS. However, there is a massive difference between these competitors here. The impact on your architecture mostly depends on your needs. The services that are provided by GCP will most likely suffice your needs, as their Compute Engine has many strengths that AWS is currently lacking.
A particular area in which Google is superior is Big Data. It is not surprising that a company such as Google professes all of its expertise in the area to make excellent products. BigQuery allows you to analyze vast amounts of data in a very short time and even provides you with real-time insights on your datasets. What is surprising for such a sophisticated service is that it is also very easy to get started with it.
Google is much better than AWS regarding price and speed. For more information check out this paper.
Pros and Cons
+ An incredible number of services with new ones being added daily.
+ Many availability zones around the world
+ Many resources to help such as experts and books
- Expensive for a continued usage
- EC2 instances are fixed configurations, and you cannot add CPU cores and keep the same amount of RAM
- Arcane pricing model
+ It is cheaper if you use for a continuous period
+ You can choose your instance configuration
+ The load balancing is better than AWS
- Fewer services both managed and unmanaged
- It is harder to find qualified help
- Google Support is currently an unknown quantity
Google App engine is a great platfor to start your apps if you have the budget. Google are known for their quality infrastructure support and the App Engine could be the perfect place to host your new app. At top5hosting we try to provide you with the most recent info and tests for the best hosting platforms and sevices. Make sure to check often.