Azure vs GCP part 2: Compare Web Apps and App Engine service
Tags: azure, gcp, compare
Published: 2018-03-01 06:53:04

---
title: "Azure vs GCP part 2: Compare Web Apps and App Engine service"
published: true
description: In this series, I compare Azure and GCP
tags: azure, gcp, compare
cover_image: https://thepracticaldev.s3.amazonaws.com/i/m57mmv4hgz9xrskaital.PNG
---

In [previous article](https://dev.to/kenakamu/azure-vs-gcp-part-1-aspnet-developer-experience-22i), 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](https://docs.microsoft.com/en-us/azure/app-service/app-service-web-overview)
[GCP App Engine Flexible overview](https://cloud.google.com/appengine/docs/flexible/)