Home

How To Choose a Cloud Service Provider for DevOps

|
|  Updated:  
2024-05-30 18:15:24
|   From The Book:  
HTML & CSS Essentials For Dummies
Explore Book
Buy On Amazon
The success of your DevOps initiative relies heavily on following the process, but it’s also important to use the right tools. Selecting a cloud service provider isn’t an easy choice, especially when DevOps is your driving motivation. GCP (Google Cloud Platform), AWS (Amazon Web Services), and Azure have more in common than they do apart.

Often, your decision depends more on your DevOps team’s comfort level with a particular cloud provider or your current stack more than the cloud provider itself. After you’ve decided to move to the cloud, the next decision is to decide on a cloud provider that fits your DevOps needs. Here are some things to consider when evaluating cloud providers with DevOps principles in mind:

  • Solid track record. The cloud you choose should have a history of responsible financial decisions and enough capital to operate and expand large datacenters over decades.
  • Compliance and risk management. Formal structure and established compliance policies are vital to ensure that your data is safe and secure. Ideally, review audits before you sign contracts.
  • Positive reputation. Customer trust is absolutely key. Do you trust that you can rely on this cloud provider to continue to grow and support your evolving DevOps needs?
  • Service Level Agreements (SLAs). What level of service do you require? Typically cloud providers offer various levels of uptime reliability based on cost. For example, 99.9 percent uptime will be significantly cheaper than 99.999 percent uptime.
  • Metrics and monitoring. What types of application insights, monitoring, and telemetry does the vendor supply? Be sure that you can gain an appropriate level of insight into your systems in as close to real-time as possible.
Finally, ensure the cloud provider you choose has excellent technical capabilities that provide services that meet your specific DevOps needs. Generally, look for
  • Compute capabilities
  • Storage solutions
  • Deployment features
  • Logging and monitoring
  • Friendly user interfaces
You should also confirm the capability to implement a hybrid cloud solution in case you need to at some point, as well as to make HTTP calls to other APIs and services.

The three major cloud providers are Google Cloud Platform (GCP), Microsoft Azure, and Amazon web Services (AWS). You can also find smaller cloud providers and certainly a number of private cloud providers, but the bulk of what you need to know comes from comparing the public cloud providers.

Amazon Web Services (AWS)

As do the other major public cloud providers, AWS provides on-demand computing through a pay-as-you-go subscription. Users of AWS can subscribe to any number of services and computing resources. Amazon is the current market leader among cloud providers, holding the majority of cloud subscribers.

It offers a robust set of features and services in regions throughout the world. Two of the most well-known services are Amazon Elastic Compute Cloud (EC2) and Amazon Simple Storage Service (Amazon S3). As with other cloud providers, services are accessed and infrastructure is provisioned through APIs.

Microsoft Azure

Before Microsoft launched this cloud provider as Microsoft Azure, it was called Windows Azure. Microsoft designed it to do just what the name implies — serve as a cloud provider for traditionally Windows IT organizations. But as the market became more competitive and Microsoft started to better understand the engineering landscape, Azure adapted, grew, and evolved.

Although still arguably less robust than AWS, Azure is a well-rounded cloud provider focused on user experience. Through various product launches and acquisitions — notably GitHub — Microsoft has invested heavily in Linux infrastructure, which has enabled it to provide more robust services to a wider audience.

Google Cloud Platform (GCP)

The Google Cloud Platform (GCP) has the least market share of the three major public cloud providers but offers a substantial set of cloud services throughout nearly two dozen geographic regions.

Perhaps the most appealing aspect of GCP is that it offers users the same infrastructure Google uses internally. This infrastructure includes extremely powerful computing, storage, analytics, and machine learning services. Depending on your specific product, GCP may have specialized tools that are lacking (or less mature) in AWS and Azure.

Finding DevOps tools and services in the cloud

Literally hundreds of tools and services are at your disposal through the major cloud providers. Those tools and services are generally separated into the following categories:
  • Compute
  • Storage
  • Networking
  • Resource management
  • Cloud Artificial Intelligence (AI)
  • Identity
  • Security
  • Serverless
  • IoT
Following is a list of the most commonly used services across all three of the major cloud providers. These services include app deployment, virtual machine (VM) management, container orchestration, serverless functions, storage, and databases.

Additional services are included, such as identity management, block storage, private cloud, secrets storage, and more. It’s far from an exhaustive list but can serve as a solid foundation for you as you begin to research your options and get a feel for what differentiates the cloud providers.

  • App deployment: Platform as a Service (PaaS) solution for deploying applications in a variety of languages including Java, .NET, Python, Node.js, C#, Ruby, and Go
    • Azure: Azure Cloud Services
    • AWS: AWS Elastic Beanstalk
    • GCP: Google App Engine
  • Virtual machine (VM) management: Infrastructure as a Service (IaaS) option for running virtual machines (VMs) with Linux or Windows
    • Azure: Azure Virtual Machines
    • AWS: Amazon EC2
    • GCP: Google Compute Engine
  • Managed Kubernetes: Enables better container management via the popular orchestrator Kubernetes
    • Azure: Azure Kubernetes Service (AKS)
    • AWS: Amazon Elastic Container Service (ECS) for Kubernetes
    • GCP: Google Kubernetes Engine
  • Serverless: Enables users to create logical workflows of serverless functions
    • Azure: Azure Functions
    • AWS: AWS Lambda
    • GCP: Google Cloud Functions
  • Cloud storage: Unstructured object storage with caching
    • Azure: Azure Blob Storage
    • AWS: Amazon S3
    • GCP: Google Cloud Storage
  • Databases: SQL and NoSQL databases, on demand
    • Azure: Azure Cosmos DB
    • AWS: Amazon Relational Database Service (RDS) and Amazon DynamoDB (NoSQL)
    • GCP: Google Cloud SQL and Google Cloud BigTable (NoSQL)
As you explore the three major cloud providers, you notice a long list of services. You may feel overwhelmed by the hundreds of options at your disposal. If, by chance, you can’t find what you need, the marketplace will likely provide something similar. The marketplace is where independent developers offer services that plug into the cloud — hosted by Azure, AWS or GCP.

The table below lists additional services provided by most, if not all, cloud providers.

Common Cloud Services
Service Category Functionality
Block storage Data storage used in storage-area network (SAN) environments. Block storage is similar to storing data on a hard drive.
Virtual Private Cloud (VPC) Logically isolated, shared computing resources.
Firewall Network security that controls traffic.
Content Delivery Network (CDN) Content delivery based on the location of the user. Typically utilizes caching, load balancing and analytics.
Domain Name System (DNS) Translator of domain names to IP addresses for browsers.
Single Sign-On (SSO) Access control to multiple systems or applications using the same credentials. If you’ve logged into an independent application with your Google, Twitter or GitHub credentials, you’ve used SSO.
Identity and Access Management (IAM) Role-based user access management. Pre-determined roles have access to a set group of features; users are assigned roles.
Telemetry, monitoring and logging Tools to provide application insights on performance, server load, memory consumption and more.
Deployments Configuration, infrastructure and release pipeline management tools.
Cloud shell Shell access from a command-line interface (CLI) within the browser.
Secrets storage Secure storage of keys, tokens, passwords, certificates and other secrets.
Message Queues Dynamically scaled message brokers.
Machine Learning (ML) Deep learning frameworks and tools for data scientists.
IoT Device connection and management.

About This Article

This article is from the book: 

About the book author:

Emily Freeman is a technologist and storyteller who helps engineering teams improve their velocity. She believes the biggest challenges facing engineers aren't technical, but human. She's worked with both cutting-edge startups and some of the largest technology providers in the world. Emily is currently a Senior Cloud Advocate at Microsoft and a frequent keynote speaker at technology events.