DEV Community

Cover image for Azure vs GCP part 2: Compare Web Apps and App Engine service
Kenichiro Nakamura
Kenichiro Nakamura

Posted on

Azure vs GCP part 2: Compare Web Apps and App Engine service

In previous article, I compare deployment experience between Azure Web Apps and GCP App Engine as C# developer without thinking too much.

Then I realize that I should compare them in different way such as linux platform or container deployment. But before keep deploying, I step back a bit and compare them from service point of view.

Azure Web Apps: Windows and Linux

Azure Web Apps provides two environments, Windows and Linux. They are very similar but for Linux environment, you can build your own docker image and deploy.

GCP App Engine: Standard and Flexible

GCP also has two types of App Engine, Standard and Flexible (aka App Engine Flex)
I consider them as totally different services as there are so many differences.

There is a detailed documentation for each service, and this table describe the difference very well.

Comparing high-level features

Feature Flexible environment Standard environment
Instance startup time Minutes Seconds
Maximum request timeout 60 minutes 60 seconds
Background threads Yes Yes, with restrictions
Background processes Yes No
SSH debugging Yes No
Scaling Manual, Automatic Manual, Basic, Automatic
Writing to local disk Yes, ephemeral (disk initialized on each VM startup) No
Modifying the runtime Yes (through Dockerfile) No
Automatic in-place security patches Yes (excludes container image runtime) Yes
Network access Yes Only via App Engine services (includes outbound sockets), and only for billing-enabled Python, Go, and PHP applications.
Supports installing third-party binaries Yes No
Location North America, Asia Pacific, or Europe North America, Asia Pacific, or Europe
Pricing Based on usage of vCPU, memory, and persistent disks Based on instance hours

Though they are very different, I treat them as one service and compare with Azure Web Apps for now.

What's common

They are similar in many ways.

  • Support multiple languages and runtime: .NET Core, Java, Ruby, Node.js, PHP, Python, Go etc.
  • IDE Integration: Azure Web Apps for Windows and App Engine Flexible provides Visual Studio integration.
  • SSH/CMD: You can access to underline VM via SSH or CMD.
  • Tools: In addition to IDE Integration, both platform provides easy to use CLI tools. CLI runs in your client as well as in browser.
  • Performance and maintenance: Auto-scale, load-balancing, security, Flexible CPU/Memory configuration, Auto OS management.
  • Platform level support: You can take advantage of cloud platform such as IAM, Monitoring, Network, etc.

What's different

Of course there are several differences as well.

Language

Yes, they are similar, but also different.

  • Full .NET: As it requires Windows OS, only Azure support it.
  • Go: On Azure, you need to use docker image to support Go with Linux version, whereas GCP supports it natively.
  • Minor versions: Of course there are minor version difference.

DevOps

Of course we can do CI/CD for any platform, but Azure offers DevOps feature as part of Web Apps. I can also git push directly to Web Apps.

What I don't know yet

I am n00b for GCP, so I don't know yet much about administration type of features.

  • monitoring
  • scaling and load balancing settings
  • security options

I also don't know yet about developer related things such as

  • live debug experience
  • connectivity to data store
  • authentication options

I will catch them up later but, in the next article, I compare Web Apps and App Engine Flexible from Linux platform point of view!

Reference

Azure Web Apps overview
GCP App Engine Flexible overview

Top comments (0)