Google App Engine is Google Cloud's platform-as-a-service offering. It features pay-per-use pricing and support for a broad array of programming languages.
$0.05
Per Hour Per Instance
Kubernetes
Score 9.0 out of 10
N/A
Kubernetes is an open-source container cluster manager.
You can spawn up your own cluster using Kubernetes or Container Engine which will scale automatically when configured properly, but you have to keep an eye on that cluster. In App Engine you don't have to worry about it at all, just ship your code and it will run.
You can create and scale Kubernetes clusters quickly, but you have to keep an eye on that cluster. In-App Engine, you don't have to worry about infrastructure, but in some scenarios, Kubernetes fits better.
Kubernetes is very unique. I do not think there are any competitors to take over its leading place. And you can always use Kuberntes with other tools to make the whole system better. Kubernetes is backed up by Google and has been tested over the years. It is reliable, fast, and …
App Engine is such a good resource for our team both internally and externally. You have complete control over your app, how it runs, when it runs, and more while Google handles the back-end, scaling, orchestration, and so on. If you are serving a tool, system, or web page, it's perfect. If you are serving something back-end, like an automation or ETL workflow, you should be a little considerate or careful with how you are structuring that job. For instance, the Standard environment in Google App Engine will present you with a resource limit for your server calls. If your operations are known to take longer than, say, 10 minutes or so, you may be better off moving to the Flexible environment (which may be a little more expensive but certainly a little more powerful and a little less limited) or even moving that workflow to something like Google Compute Engine or another managed service.
K8s should be avoided - If your application works well without being converted into microservices-based architecture & fits correctly in a VM, needs less scaling, have a fixed traffic pattern then it is better to keep away from Kubernetes. Otherwise, the operational challenges & technical expertise will add a lot to the OPEX. Also, if you're the one who thinks that containers consume fewer resources as compared to VMs then this is not true. As soon as you convert your application to a microservice-based architecture, a lot of components will add up, shooting your resource consumption even higher than VMs so, please beware. Kubernetes is a good choice - When the application needs quick scaling, is already in microservice-based architecture, has no fixed traffic pattern, most of the employees already have desired skills.
There is a slight learning curve to getting used to code on Google App Engine.
Google Cloud Datastore is Google's NoSQL database in the cloud that your applications can use. NoSQL databases, by design, cannot give handle complex queries on the data. This means that sometimes you need to think carefully about your data structures - so that you can get the results you need in your code.
Setting up billing is a little annoying. It does not seem to save billing information to your account so you can re-use the same information across different Cloud projects. Each project requires you to re-enter all your billing information (if required)
Local development, Kubernetes does tend to be a bit complicated and unnecessary in environments where all development is done locally.
The need for add-ons, Helm is almost required when running Kubernetes. This brings a whole new tool to manage and learn before a developer can really start to use Kubernetes effectively.
Finicy configmap schemes. Kubernetes configmaps often have environment breaking hangups. The fail safes surrounding configmaps are sadly lacking.
App Engine is a solid choice for deployments to Google Cloud Platform that do not want to move entirely to a Kubernetes-based container architecture using a different Google product. For rapid prototyping of new applications and fairly straightforward web application deployments, we'll continue to leverage the capabilities that App Engine affords us.
The Kubernetes is going to be highly likely renewed as the technologies that will be placed on top of it are long term as of planning. There shouldn't be any last minute changes in the adoption and I do not anticipate sudden change of the core underlying technology. It is just that the slow process of technology adoption that makes it hard to switch to something else.
I had to revisit the UI after a year of just setting up and forgetting. The UI got some improvements but the amount of navigation we have to go through to setup a new app has increased but also got easier to setup. Gemini now is integrated and make getting answers faster
It is an eminently usable platform. However, its popularity is overshadowed by its complexity. To properly leverage the capabilities and possibilities of Kubernetes as a platform, you need to have excellent understanding of your use case, even better understanding of whether you even need Kubernetes, and if yes - be ready to invest in good engineering support for the platform itself
Good amount of documentation available for Google App Engine and in general there is large developer community around Google App Engine and other products it interacts with. Lastly, Google support is great in general. No issues so far with them.
We were on another much smaller cloud provider and decided to make the switch for several reasons - stability, breadth of services, and security. In reviewing options, GCP provided the best mixtures of meeting our needs while also balancing the overall cost of the service as compared to the other major players in Azure and AWS.
Most of the required features for any orchestration tool or framework, which is provided by Kubernetes. After understanding all modules and features of the K8S, it is the best fit for us as compared with others out there.
Effective integration to other java based frameworks.
Time to market is very quick. Build, test, deploy and use.
The GAE Whitelist for java is an important resource to know what works and what does not. So use it. It would also be nice for Google to expand on items that are allowed on GAE platform.