Feature management for software deployment
A set of software criteria including a condition that a software test be successfully performed prior to deploying a software package to a user device and location information indicating a storage location for status information of the software test is obtained. A testing status of the software package is analyzed using the status information at the storage location and software package is deployed to the user device as a result of the testing status confirming that the condition has been met in response to a request to deploy the software package to the user device.
1 . A system, comprising:
one or more processors; and
memory including computer-executable instructions that, as a result of execution by the one or more processors, cause the system to at least:
obtain a set of software release criteria associated with a plurality of different software platforms including:
a condition that a software test be successfully performed prior to deploying a software package that is to be visible to one or more user devices operating at least one of the plurality of different software platforms; and
location information indicating a storage location for a first status indicator of a plurality of status indicators to be generated by different systems associated with a lifecycle of the software package, the first status indicator corresponding to a result of the software test; and
in response to receiving a batch of the plurality of status indicators based, at least in part, on the location information:
generate a dashboard to communicate a mismatch between the first status indicator and a second status indicator of the plurality of status indicators to at least one of the different systems, both the first status indicator and the second status indicator corresponding to a feature flag of the software package, the first status indicator indicating that the condition has been unmet and the second status indicator indicating that one or more features of the software package are deployed to be visible on the one or more user devices.
2 . The system of claim 1 , wherein the computer-executable instructions further include executable instructions that further cause the system to:
receive another batch of the plurality of status indicators; and
generate another dashboard that indicates a match between the first status indicator and the second status indicator.
3 . The system of claim 1 , wherein the dashboard further communicates at least one of a match or a mismatch between at least some other status indicators of the plurality of status indicators that are each associated with the plurality of different software platforms.
4 . The system of claim 1 , wherein the dashboard includes a mismatch between a subset of the plurality of status indicators obtained at different time periods.
5 . The system of claim 1 , wherein the set of software release criteria further includes determining whether the one or more user devices corresponds to an account identifier that is within a list in order for the one or more features of the software package to be visible to the one or more user devices.
6 . A computer-implemented method, comprising:
obtaining a set of software release criteria associated with a plurality of different software platforms including:
a condition that a software test be successfully performed prior to deploying a software package that is to be visible to one or more user devices operating at least one of the plurality of different software platforms; and
location information indicating a storage location for a first status indicator of a plurality of status indicators to be generated by different systems associated with a lifecycle of the software package; and
in response to receiving a batch of the plurality of status indicators based, at least in part, on the location information:
generating a dashboard to communicate a mismatch between the first status indicator and a second status indicator of the plurality of status indicators to at least one of the different systems, both the first status indicator and the second status indicator corresponding to a feature flag of the software package, the first status indicator indicating that the condition has been unmet and the second status indicator indicating that one or more features of the software package are deployed to be visible on the one or more user devices.
7 . The computer-implemented method of claim 6 , further comprising:
in response to providing the dashboard, receiving another batch of the plurality of status indicators; and
generating another dashboard that indicates a match between the first status indicator and the second status indicator.
8 . The computer-implemented method of claim 6 , wherein a third status indicator of the plurality of status indicators indicate the mismatch.
9 . The computer-implemented method of claim 6 , wherein the software package includes a set of microservices.
10 . The computer-implemented method of claim 6 , wherein the mismatch causes one or more operations to be performed by the at least one of the different systems to reconcile the mismatch.
11 . The computer-implemented method of claim 6 , further comprising:
determining a period of time during which the one or more features were deployed to be visible on the one or more user devices.
12 . The computer-implemented method of claim 6 , wherein the plurality of different software platforms comprise an online service, at least one operating system, or a combination thereof.
13 . The computer-implemented method of claim 6 , wherein a third status indicator of the plurality of status indicators indicates that the software package was distributed to a subset of users selected from a set of users based, at least in part, on a set of predetermined criteria.
14 . A non-transitory computer-readable storage medium storing computer-executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
receive a set of software release criteria associated with a plurality of different software platforms comprising:
a condition that a software test be successfully performed prior to deploying a software package that is to be visible to one or more user devices operating at least one of the plurality of different software platforms; and
location information indicating a storage for a first status indicator of a plurality of status indicators to be generated by different systems associated with a lifecycle of the software package; and
in response to receiving a batch of the plurality of status indicators based, at least in part, on the location information:
communicate a mismatch between the first status indicator and a second status indicator of the plurality of status indicators to at least one of the different systems, both the first status indicator and the second status indicator corresponding to a feature flag of the software package, the first status indicator indicating that the condition has been unmet and the second status indicator indicating that one or more features of the software package are deployed to be visible on the one or more user devices.
15 . The non-transitory computer-readable storage medium of claim 14 , wherein the computer-executable instructions further include executable instructions that further cause the computer system to receive another batch of the plurality of status indicators in response to providing a dashboard used to indicate the plurality of different software platforms and communicate the mismatch between the first status indicator and the second status indicator.
16 . The non-transitory computer-readable storage medium of claim 15 , wherein the computer-executable instructions further cause the computer system to generate another dashboard that indicates a match between the first status indicator and the second status indicator.
17 . The non-transitory computer-readable storage medium of claim 14 , wherein the computer-executable instructions further cause the computer system to determine a period of time during which the one or more features were deployed to be visible on the one or more user devices.
18 . The non-transitory computer-readable storage medium of claim 14 , wherein the mismatch is communicated using a third status indicator of the plurality of status indicators.
19 . The non-transitory computer-readable storage medium of claim 14 , wherein the software test determines whether the one or more features are to be visible to a selected group of user devices and the one or more user devices is outside of the selected group.
20 . The non-transitory computer-readable storage medium of claim 14 , wherein a third status indicator of the plurality of status indicators indicates that the software package was distributed to a portion of a plurality of users selected based, at least in part, on a set of preselected criteria.