About this guide
Guide to open source development in the cloud
Enterprises are increasingly using more than one cloud in their IT solutions, a trend that is thanks, in large part, to the fact that most major clouds are built using open source software. An O’Reilly survey, commissioned by IBM in Fall 2020, pointed out that, when choosing cloud providers, 70% of respondents prefer one based on open source. The survey went on to say:
Developers who want to develop cloud applications should work on honing their open source skills, which underly every major cloud platform, instead of only focusing on building skills for a proprietary cloud.
The most desirable open source skills are those related to Linux (containers), artificial intelligence and machine learning, and data storage.
As both the cloud and open source landscapes evolve, we saw a need for a guide to highlight important aspects of hybrid cloud and multicloud development—and their corresponding open source services.
This goals of this guide are to provide:
- Comprehensive learning for hybrid cloud and multicloud developers.
- A cloud-neutral view of how various clouds are using open source in their offerings.
In each section of the guide you will find:
- An introduction to the basic concepts related to cloud use cases.
- Key open source projects that solve problems related to that area.
- Information about how certain clouds take advantage of open source solutions related to those use cases.
- Additional learning resources so you can further your understanding.
What’s leading to multicloud and hybrid cloud adoption?
In short, the answer is: Choice. Businesses want the ability to choose the best platform and services that will give them a competitive advantage. Other factors contributing to the rise of mulitcloud and hybrid cloud development include:
- Each cloud has inherent strengths and weaknesses. Using a mulitcloud approach to development allows you to take advantage of the strengths of multiple clouds.
- Spreading workloads across clouds reduces risk.
- Using different clouds may reduce costs in the long term.
Developers benefit from multicloud development because it offers them the ability to:
- Make an impact immediately using the cloud skills they have, while growing their skills in other clouds
- Implement specific use cases for their work
- Choose the cloud environment or services that work best for the problem they’re solving
- Choose cloud services that will grow with their needs
Use cases for cloud development
This guide walks you through common use cases that you will encounter as a cloud developer, including:
- Extending cloud services with AI
- Exposing a service API
- Building and using containers
- Planning, preparing, and using Databases
- Coordinating your team’s development, testing, and DevOps practices
We’d love for contributors to add additional use cases as well.