This is the product vision for Release. The Release stage of the DevOps pipeline is focused on two main areas: Continuous Delivery and Release Automation and Application Release Automation/Orchestration. This covers automation, repeatability, and risk-reduction features for releases, such as CD and feature flags, as well as the pages feature. We want to make delivering software reliable, repeatable, and successful. Please read through to understand where we're headed and feel free to jump right into the discussion by commenting on one of the epics or issues, or by reaching out directly to our product manager leading this area: Jason Lenny (E-Mail | Twitter)
In general, we follow the same prioritization guidelines as the product team at large. Issues will tend to flow from having no milestone, to being added to the backlog, to being added to this page and/or a specific milestone for delivery.
It's an exciting time in the world of Release Automation and Orchestration. Technologies like Kubernetes have created a huge splash and are driving innovation forward; serverless, microservices, and cloud native in general represent important evolutions as well. Monitoring technology also continues to advance, making the promise of technologies like automated rollbacks based on impact a reality.
At the same time, there are more tools and best-practice solutions to help solve your delivery challenges. The bar is being raised, and clear best- practice solutions are becoming more clear. It's important in this landscape that we continue to refine existing features in our portfolio to ensure they are actually solving real world problems in the best way possible.
Our Release stage strategy consists of developing several different categories which we've identified as critical for successful release orchestration. Overall, our vision is to continue to up-level features in the CD area, where we already have a solid foundation for delivery. Pages and Review Apps will continue to receive attention and improvements, but a big focus will be on improving the capabilities of our new (from Q4 2018) Feature Flags category. Finally, growing Release Orchestration capability is a priority as we look to help large enterprises achieve success with their DevOps transformations.
You can read more detail on each of these areas at the following epics. If you have thoughts or questions, feel free to jump into the conversation there.
In order to accelerate CD in this new world, there are a few particular ideas we are keeping close as north stars to guide us forward:
Our platform must stay current with evolving trends in platform architecture. Cloud-Native, Microservices, Kubernetes, and Serverless will continue to lead the way here, and our CI/CD solutions must address the unique needs of these approaches by offering solutions that facilitate the technological and cultural transformations these teams are going through. These technologies represent a wave driving DevOps forward, and we want to be on the crest of that wave helping companies to deliver using GitLab.
As Peter Drucker said, "if you can't measure it - you can't improve it." Using the data in our CI/CD platform to help teams get the most out of their delivery pipeline gives us a unique advantage in offering DevOps insights to our users. Where competitors must integrate with a variety of other tools, attempting to normalize and understand data structures that can change at any time, we build a single application solution where process, behavioral, and other insights can flow seamlessly throughout, facilitating organizational transformation. Value stream mapping, wait time, retries, failure rate, batch size, job duration, quality, resource usage, throughput; these (and more) are all great metrics we already have in the system and can increase visibility to.
V1 feature iterations are how we build software, but at the same time we need to continue to curate those features that have proven their value into complete, lovable features that exceed our users expectations. We will achieve this by growing individual features, solving scalability challenges that larger customers see, and providing intelligent connections between individual features. Doing this lets us solve deeper, more subtle problem sets and - by being focused on real problems our users face - we'll leave the competition behind. This also includes solid, natural-to-use UX and complete APIs.
It's important to mention that what you see below is our vision on the product at this time. All of this can change any moment and should not be taken as a hard commitment, though we do try to keep things generally stable and not change things all the time.
.gitlab-ci.yml, auto-configure GKE
There are a number of other issues that we've identified as being interesting that we are potentially thinking about, but do not currently have planned by setting a milestone for delivery. Some are good ideas we want to do, but don't yet know when; some we may never get around to, some may be replaced by another idea, and some are just waiting for that right spark of inspiration to turn them into something special.
Remember that at GitLab, everyone can contribute! This is one of our fundamental values and something we truly believe in, so if you have feedback on any of these items you're more than welcome to jump into the discussion. Our vision and product are truly something we build together!