In November 2019, we had the opportunity to co-host MulticloudCon, a zero-day event with our partners at Upbound. The event featured experts in cloud, Kubernetes, database resources, CI/CD, security, and more, to learn how multicloud is evolving and empowering developers and operations experts across the industry.
DevOps can play a major role in cloud usage. In this discussion from MulticloudCon, we assembled a panel of experts across the industry to talk about CI/CD and DevOps in multiple clouds. As multicloud technology continues to evolve, tools can give organizations more control and flexibility on where their workloads live and where they deploy.
Why multicloud is important:
“If we have a single point of failure on a cloud, it is really easy to have some downtime [or] an outage and be like, "Well, it was my cloud provider's fault." But, to our customers, that doesn't matter. You as a company, we're down and that affects them.” – Ana Medina, Chaos Engineer at Gremlin
“There are a lot more applications now that are becoming event-driven and are relying on integrations with cloud providers. And if it's more than one, you can't just test on one provider and go well it works across the board. You need to be expanding your test coverage to cover multiple cloud providers.” – Denver Williams, DevOps/SRE Consultant at Vulk Coop
The challenges of multicloud:
“When you're running in multiple clouds, that also introduces problems… I'm talking more specifically about high availability and also fault tolerance and then disaster recovery. These are things people just think about, ‘Oh we need to connect, integrate.’ But at the end of the day, if you're serious about running these applications, you need to also think about those things. And introducing those complexities from the different cloud providers will definitely impact your operations.” – Angel Rivera, Developer Advocate at CircleCI
How tools impact a multicloud strategy:
“One thing that helps a lot when you're working on deploys for multicloud is to choose tooling that is going to support multiple clouds off the bat… One thing you really want to avoid, if possible, is ending up with different workflows for different cloud providers. Because then you're testing with different CI/CD pipelines. It's different code and it's inevitably going to behave differently. And then you're going to run into weird bugs.” – Denver Williams
“When I'm talking to users and GitLab customers that are doing multicloud, they're doing a lot of orchestration and abstraction, and they're having to write an abstraction layer in order to homogenize a logic. A lot of folks have talked about Crossplane today. When I see these types of capabilities and Crossplane in that community emerging, that's pretty exciting because that's what I see a lot of folks writing all the time. That can just be pulled out into a tool and offloaded so that you can focus on the business logic.” – William Chia, Sr. Product Marketing Manager at GitLab
Learn more about GitLab’s Crossplane integration in our 12.5 release.
CI/CD and multicloud best practices:
“There's always going to be platform-specific code. Just keep that separate and then your actual YAML logic, keep it agnostic.” – Uma Mukkara, Co-founder and COO at MayaData
“At Gremlin we help companies avoid downtime. So, we're starting to work with integrations with CI/CD platforms so folks actually start having a stage that they run chaos engineering experiments… You can actually build a lot more testing around past outages that your company has had or maybe some of the large outages that we've seen around in the industry. Building testing around those scenarios, [we’re] making sure the caching layers are able to handle when one of your services goes down… If you're caching layer limits out, the other services that are dependent on it are able to still continue providing a good user experience.” – Ana Medina
“I always encourage people who are writing pipelines in our platform to do some checks against APIs that they use so that they can just fail their builds right away, instead of wasting money and effort and going to build that. It's going to eventually fail.” – Angel Rivera
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. CI/CD plays a big role in workflow portability, ensuring workflows stay consistent (no matter where projects are deployed).
Watch the full panel discussion below.