--- layout: default title: Multicloud description: "Harness the power of the cloud with microservices, cloud-agnostic DevOps, and workflow portability." suppress_header: true extra_css: - devops.css - cicd.css extra_js: - libs/on-scroll.js - in-page-nav.js - all-clickable.js canonical_path: "/ci-cd/" --- .blank-header = image_tag "/images/home/icons-pattern-left.svg", class: "image-border image-border-left", alt: "Gitlab hero border pattern left svg" = image_tag "/images/home/icons-pattern-right.svg", class: "image-border image-border-right", alt: "Gitlab hero border pattern right svg" .header-content = image_tag "/images/icons/auto-devops.svg", class: "hero-image-huge" %h1 Multicloud %p Harness the power of the cloud with microservices, cloud-agnostic DevOps, and workflow portability. = link_to "Download the ebook", "/resources/guide-to-the-cloud/", class: "btn cta-btn orange devops-cta" .wrapper.wrapper--large-fonts #content.devops-content.u-margin-top-lg .wrapper.container.js-in-page-nav-group{role: "main"} .row.u-margin-top-lg.js-in-page-nav-section#what-is-multicloud .col-md-10.col-md-offset-1 %h2.u-text-brand What is multicloud? %p Multicloud describes how enterprises use multiple cloud providers to meet different technical or business requirements. At its core, multicloud is made possible through cloud native applications built from containers using services from different cloud providers, and allows for multiple services to be managed in one architecture. All told, 85% of enterprises currently operate in multiple clouds, but just because an organization uses multiple cloud providers doesn’t necessarily mean they are multicloud. .row.u-margin-top-xl.js-in-page-nav-section#benefits .col-md-10.col-md-offset-1 %h2.u-text-brand Benefits of multicloud %p While working in one cloud exclusively is not necessarily a hindrance, having multicloud capabilities can give organizations some distinct benefits: .media.u-margin-top-sm.u-margin-bottom-md.has-shadowed-svg .media-left.media-middle.u-padding-right-sm .media-object{ style: "width: 80px; height: 80px" } = image_tag "/images/icons/first-look-influence.svg" .media-body.media-middle %h3.u-margin-top-0 Greater flexibility %p.u-margin-bottom-0 Each cloud vendor shines in some areas and is weak in others. The ability to work with multiple vendors lets organizations use the right tool for the job. .media.u-margin-top-sm.u-margin-bottom-md.has-shadowed-svg .media-left.media-middle.u-padding-right-sm .media-object{ style: "width: 80px; height: 80px" } = image_tag "/images/20-years-open-source/1998-open-source-2.svg" .media-body.media-middle %h3.u-margin-top-0 Workflow portability %p.u-margin-bottom-0 Have a consistent workflow, regardless of where projects are deployed. .media.u-margin-top-sm.u-margin-bottom-md.has-shadowed-svg .media-left.media-middle.u-padding-right-sm .media-object{ style: "width: 80px; height: 80px" } = image_tag "/images/icons/concurrent-devops-dark-dark.svg" .media-body.media-middle %h3.u-margin-top-0 Better acquisitions %p.u-margin-bottom-0 Whether an organization wants to grow through acquisitions (or be acquired itself), existing systems can work within another company’s infrastructure, even if both are using separate cloud providers. .media.u-margin-top-sm.u-margin-bottom-md.has-shadowed-svg .media-left.media-middle.u-padding-right-sm .media-object{ style: "width: 80px; height: 80px" } = image_tag "/images/icons/computer-test2.svg" .media-body.media-middle %h3.u-margin-top-0 Increased resilience %p.u-margin-bottom-0 Architecting failover between multiple cloud providers lets you stay up even if one of your vendors is down. .media.u-margin-top-sm.u-margin-bottom-md.has-shadowed-svg .media-left.media-middle.u-padding-right-sm .media-object{ style: "width: 80px; height: 80px" } = image_tag "/images/press/get-in-touch-icon.svg" .media-body.media-middle %h3.u-margin-top-0 Improved cloud negotiations %p.u-margin-bottom-0 If another cloud vendor offers better terms or significant credits, businesses have better leverage because their DevOps processes are not tied to vendor-specific services. .media.u-margin-top-sm.u-margin-bottom-md.has-shadowed-svg .media-left.media-middle.u-padding-right-sm .media-object{ style: "width: 80px; height: 80px" } = image_tag "/images/20-years-open-source/2008-free-software-legal.svg" .media-body.media-middle %h3.u-margin-top-0 Fewer conflicts of interest %p.u-margin-bottom-0 With cloud service providers offering so many different services, you’re less likely to find yourself in conflict with customers competing in those same spaces. .row.u-margin-top-xl.js-in-page-nav-section#challenges .col-md-10.col-md-offset-1 %h2.u-text-brand Multicloud challenges %p For all of the flexibility multicloud offers, it can present challenges both in adoption and in practice: %ul %li Security concerns: The complexity of a multicloud environment can introduce potential vulnerabilities and increase risk if not managed diligently. %li Difficult to achieve: Workload portability has been compared to a pipe dream (at worst) and highly difficult (at best). %li Data governance and compliance: With multiple clouds and data centers in different geographic locations, it can be very easy to run an application in an unapproved environment. .row.u-margin-top-xl.js-in-page-nav-section#maturity .col-md-10.col-md-offset-1 %h2.u-text-brand Multicloud maturity %p Even though an organization may be using multiple cloud providers, that does not imply that an organization is multicloud. If each team is dependent on one cloud, then each is operating in a mono-cloud environment. The ability for information to move between clouds is what separates multicloud from multi-provider, with portability and interoperability key factors. As teams work through the multicloud maturity model, they increase portability by insulating cloud services from underlying infrastructure like processors, operating system and virtualization software, through layers of abstraction. %h4 Mono-cloud %p All applications are in one cloud. With this strategy, a company goes “all-in” with one cloud provider for the ease of use, or because the services offered meet current business needs. The organization is locked in. %h4 No portability %p There may be separate teams within the same organization, and each are working out of different cloud providers, but each team is working in its own mono-cloud environment. This structure uses multiple clouds but is not technically multicloud. %h4 Workflow portability %p Workflow portability is what makes deploying anywhere possible. Instead of having to tailor certain workflows to certain clouds, developers can have one workflow with cloud-independent DevOps processes and frameworks for making deployment decisions. %h4 Application portability %p The ability to move apps/data to any cloud is an aspiration for many IT teams. This can also apply to organizations that want to move applications back and forth from Private to Public clouds. In this scenario, applications can run on any cloud, and cloud-specific services are abstracted. Application portability is hard to attain because it requires engineering interfaces as abstractions. It also leaves organizations using only the features that are common to all clouds so they miss out on any specialty capabilities that could improve their processes. %h4 Disaster Recovery Portability %p In this scenario, applications can fail over to another cloud with limited downtime. Even if you are not managing architecture in-house, that doesn’t mean that your applications aren’t running somewhere. If a cloud provider’s data center should go down, organizations have the ability to switch to another provider. %h4 Workload portability %p The goal of workload portability is for organizations to shift application workloads between multiple clouds dynamically (for example: autoscaling servers for background jobs). Workload portability makes it possible to migrate elements of a business service, such as an instance of an application, OS, and data, to the appropriate infrastructure so that it can service the needs of the user. %h4 Data portability %p Data portability is a feature that lets users take their data from a service and transfer or “port” it elsewhere, typically through an API. .row.u-margin-top-xl.js-in-page-nav-section#resources .col-md-10.col-md-offset-1 %h2.u-text-brand Resources %p Here’s a list of resources on multicloud that we find to be particularly helpful in understanding multicloud and implementation. We would love to get your recommendations on books, blogs, videos, podcasts and other resources that tell a great multicloud story or offer valuable insight on the definition or implementation of the practice. %p Please share your favorites with us by tweeting us %a{:href => 'https://twitter.com/gitlab'} @gitlab! .feature-group.feature-group--alt.u-margin-top-sm.u-padding-top-0.u-padding-bottom-0 .row.flex-row .col-md-4.col-lg-4.u-margin-bottom-sm .feature.js-all-clickable .feature-media = image_tag "/images/feature-thumbs/feature-thumb-gitlab-for-multicloud.jpg" .feature-body %h3.feature-title GitLab CI/CD is for multi-cloud %p.feature-description Can cloud providers (and their tools) ever be cloud agnostic? We discuss GitHub Actions and GitLab CI/CD. = link_to "Read", "/blog/2019/11/06/gitlab-ci-cd-is-for-multi-cloud/", class: "feature-more" .col-md-4.col-lg-4.u-margin-bottom-sm .feature.js-all-clickable .feature-media = image_tag "/images/feature-thumbs/feature-thumb-from-idea-to-production.jpg" .feature-body %h3.feature-title From idea to production on thousands of clouds %p.feature-description Deliver cloud native applications in more places consistently at scale with GitLab and Gravity. = link_to "Read", "/blog/2019/11/20/from-idea-to-production-on-thousands-of-clouds/", class: "feature-more" .col-md-4.col-lg-4.u-margin-bottom-sm .feature.js-all-clickable .feature-media = image_tag "/images/feature-thumbs/feature-thumb-multi-cloud-security.jpg" .feature-body %h3.feature-title A brief guide to multicloud security %p.feature-description Five challenges and seven best practices to consider for your multicloud strategy. = link_to "Read", "/blog/2019/11/21/multi-cloud-security/", class: "feature-more" .col-md-4.col-lg-4.u-margin-bottom-sm .feature.js-all-clickable .feature-media = image_tag "/images/feature-thumbs/feature-thumb-crossplane.jpg" .feature-body %h3.feature-title GitLab deploys into multiple clouds from kubectl using Crossplane %p.feature-description We're proud to be advancing our commitment to multicloud DevOps. = link_to "Read", "/blog/2019/05/20/gitlab-first-deployed-kubernetes-api-to-multiple-clouds/", class: "feature-more" .col-md-4.col-lg-4.u-margin-bottom-sm .feature.js-all-clickable .feature-media = image_tag "/images/feature-thumbs/feature-thumb-crossplane.jpg" .feature-body %h3.feature-title Crossplane lowers the barrier to a multi-cloud future %p.feature-description GitLab has been chosen as the first complex app to be deployed on new multi-cloud control plane, Crossplane. = link_to "Read", "/blog/2018/12/04/opensource-multi-cloud-crossplane/", class: "feature-more" .col-md-4.col-lg-4.u-margin-bottom-sm .feature.js-all-clickable .feature-media = image_tag "/images/feature-thumbs/feature-thumb-multi-cloud-future.jpg" .feature-body %h3.feature-title Google Cloud Next: Doubling down on Kubernetes and multi-cloud %p.feature-description Everything you need to know from last week’s big event. = link_to "Read", "/blog/2019/04/16/google-cloud-next-anthos-kubernetes/", class: "feature-more" .col-md-4.col-lg-4.u-margin-bottom-sm .feature.js-all-clickable .feature-media = image_tag "/images/feature-thumbs/feature-thumb-cloudarchitecture.jpg" .feature-body %h3.feature-title Cloud native architectures made easy %p.feature-description Learn how GitLab’s robust cloud native support can help you increase operational efficiency. = link_to "Read", "/blog/2019/11/13/cloud-native-architectures-made-easy/", class: "feature-more" .col-md-4.col-lg-4.u-margin-bottom-sm .feature.js-all-clickable .feature-media = image_tag "/images/feature-thumbs/feature-thumb-gitopsseries.jpg" .feature-body %h3.feature-title How to deploy to any cloud using GitLab for GitOps %p.feature-description Why multi-cloud compatibility supports a clean GitOps workflow. = link_to "Read", "/blog/2019/11/18/gitops-prt-3/", class: "feature-more" .col-md-4.col-lg-4.u-margin-bottom-sm .feature.js-all-clickable .feature-media = image_tag "/images/feature-thumbs/feature-thumb-multi-cloud-maturity.jpg" .feature-body %h3.feature-title Multi-cloud maturity model %p.feature-description Organizations will move towards multi-cloud at their own pace — here are the stages of adoption we’ve seen in the marketplace. = link_to "Read", "https://medium.com/gitlab-magazine/multi-cloud-maturity-model-2de185c01dd7", class: "feature-more" %hr.u-margin-top-md.u-margin-bottom-md %div %h3 Ebooks %ul %li = link_to "Guide to the cloud: How to navigate the multi-cloud future", "/resources/guide-to-the-cloud/" %hr.u-margin-top-md.u-margin-bottom-md %div %h3 Videos %ul %li = link_to "How Delta Became Truly Cloud Native - Avoiding the Vendor-Lock", "https://www.youtube.com/watch?v=zV_hFcxoN8I&list=PLFGfElNsQthaaqEAb6ceZvYnZgzSM50Kg&index=3&t=0s" %li = link_to "Upbound + GitLab MulticloudCon", "https://www.youtube.com/playlist?list=PLFGfElNsQthbiSy32TsYZyVgMk8Rv54kN"