|
| 1 | +--- |
| 2 | +title: "Upgrade" |
| 3 | +description: "Upgrade the Oracle Backend for Spring Boot and Microservices" |
| 4 | +keywords: "upgrade spring springboot spring development microservices development oracle backend" |
| 5 | +--- |
| 6 | +The world of Microservices moves fast. In order to keep up with new software versions and provide additional features, regular updates and patches are provided for the Oracle Backend for Spring Boot and Microservices. |
| 7 | + |
| 8 | +Depending on the original installation method and the state of your infrastructure, these patches and upgrades can either be preformed in-place or out-of-place. Oracle recommends, despite which option you choose, to have a backup of your applications and database in order to recover from any unintentional loss. |
| 9 | + |
| 10 | +There are various methods to perform an upgrade including: |
| 11 | + |
| 12 | +* [In-Place Marketplace Upgrade](#in-place-marketplace-upgrade) |
| 13 | +* [Out-of-Place Marketplace Upgrade](#out-of-place-marketplace-upgrade) |
| 14 | +* [In-Place Custom Upgrade](#custom-in-place-upgrade) |
| 15 | +* [Out-of-Place Custom Upgrade](#custom-out-of-place-upgrade) |
| 16 | + |
| 17 | +# In-Place Marketplace Upgrade |
| 18 | + |
| 19 | +The in-place Marketplace upgrade can be performed when there has been no external modifications of the infrastructure after the original installation of the Marketplace stack; or you wish to reconcile the infrastructure back to the delivered Marketplace infrastructure. |
| 20 | + |
| 21 | +The in-place method will both modify the infrastructure and patch/upgrade the delivered Oracle Backend for Spring Boot and Microservices applications. |
| 22 | + |
| 23 | +This method is recommended for development deployments, or after testing the upgrade using the [Out-of-Place Upgrade](#out-of-place-marketplace-upgrade) for production deployments. |
| 24 | + |
| 25 | +> **Warning**: to ensure no unintentional outage or infrastructure destruction; do not directly apply the upgrade stack. Plan and review the actions that will be performed prior to its application. If in doubt about the potential loss of data or infrastructure, opt for the Out-of-Place method. |
| 26 | +
|
| 27 | +## Download the Marketplace Upgrade Stack |
| 28 | + |
| 29 | +Visit the [Release](https://github.com/oracle/microservices-datadriven/releases/) page and download the `marketplace_upgrade.zip` file for the version you are upgrading to. |
| 30 | + |
| 31 | +## Update the Current Stack |
| 32 | + |
| 33 | +In Oracle Cloud Infrastructure, navigate to Developer Services -> Stacks. Ensure the region and compartment is set to the location where the Marketplace stack was first installed, and select the stack. |
| 34 | + |
| 35 | + |
| 36 | + |
| 37 | +Edit the Stack, and upload the `marketplace_upgrade.zip` file. |
| 38 | + |
| 39 | + |
| 40 | + |
| 41 | + |
| 42 | +Click through the wizard and ensure the "Apply" checkbox is not ticked. Save Changes. |
| 43 | + |
| 44 | + |
| 45 | + |
| 46 | +## Plan the Upgrade |
| 47 | + |
| 48 | +Run the plan Job and review the proposed actions. |
| 49 | + |
| 50 | + |
| 51 | + |
| 52 | +Generally, any proposed destruction of the Database or Kubernetes cluster should be avoided unless you are confident that you can recover both your applications and data. If the plan shows the destruction of these resources, the [Out-of-Place Upgrade](#out-of-place-marketplace-upgrade) should be used as an alternative. |
| 53 | + |
| 54 | + |
| 55 | + |
| 56 | +## Apply the Upgrade |
| 57 | + |
| 58 | + |
| 59 | + |
| 60 | +# Out-of-Place Marketplace Upgrade |
| 61 | + |
| 62 | +The out-of-place Marketplace upgrade can be used when manual changes to the original infrastructure have been made after the initial installation of the Oracle Backend for Spring Boot and Microservices. It is the recommended Marketplace method for production installations as it allows you to test the upgrade prior to go live, while leaving the old infrastructure in place for rollbacks. |
| 63 | + |
| 64 | +> The out-of-place method deliver new infrastructure and Oracle Backend for Spring Boot and Microservices applications. You will need to migrate your applications to the new platform. |
| 65 | +
|
| 66 | +Follow the [instructions](../setup/) to install the latest Marketplace version. |
| 67 | + |
| 68 | +## Clone Database |
| 69 | + |
| 70 | +Depending on the Oracle Database that was used during the initial installation, the method of cloning the database will vary. For example: |
| 71 | + |
| 72 | +* [Oracle Autonomous Database](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/clone-autonomous-database.html) |
| 73 | +* [Oracle BaseDB](https://docs.oracle.com/en-us/iaas/base-database/doc/clone-db-system.html) |
| 74 | +* On-Premises options include: |
| 75 | + * [PDB Clone](https://docs.oracle.com/en/database/oracle/oracle-database/21/multi/cloning-a-pdb.html) |
| 76 | + * [RMAN Duplicate](https://docs.oracle.com/en-us/iaas/Content/Database/Tasks/mig-rman-duplicate-active-database.htm) |
| 77 | + * [Datapump](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html) |
| 78 | + |
| 79 | +## Load Custom Applications |
| 80 | + |
| 81 | +Once the database has been cloned, re-load your applications into the new Kubernetes environment. |
| 82 | + |
| 83 | +## Clean Up Old Installation |
| 84 | + |
| 85 | +Follow the [uninstall guide](../uninstall/) to clean up the old Marketplace installation. |
| 86 | + |
| 87 | +# Custom In-Place Upgrade |
| 88 | + |
| 89 | +The Custom In-Place upgrade can be applied to any existing installation of the Oracle Backend for Spring Boot and Microservices. It will not modify any infrastructure and only apply changes to existing and install new Oracle Backend for Spring Boot and Microservices applications. |
| 90 | + |
| 91 | +## Download the Latest Installation |
| 92 | + |
| 93 | +Visit the [Release](https://github.com/oracle/microservices-datadriven/releases/) page and download the `custom-ebaas_latest.zip` file for the version you are upgrading to. |
| 94 | + |
| 95 | +Unzip the `custom-ebaas_latest.zip` file. |
| 96 | + |
| 97 | +## Define the Infrastructure |
| 98 | + |
| 99 | +From the original installation source, copy the following infrastructure definitions, where they exist, to the new release source: |
| 100 | + |
| 101 | +* ansible/roles/common/vars/main.yaml |
| 102 | +* ansible/roles/registry/vars/main.yaml |
| 103 | +* ansible/roles/database/vars/main.yaml |
| 104 | +* ansible/roles/oci/vars/main.yaml |
| 105 | +* ansible/roles/azure/vars/main.yaml |
| 106 | + |
| 107 | +## Perform the Upgrade |
| 108 | + |
| 109 | +From the unzipped source, run the following commands: |
| 110 | + |
| 111 | +```bash |
| 112 | +./setup_ansible.sh |
| 113 | +source activate.env |
| 114 | +ansible-playbook ansible/k8s_apply.yaml -t full |
| 115 | +``` |
| 116 | + |
| 117 | +# Custom Out-of-Place Upgrade |
| 118 | + |
| 119 | +The custom out-of-place upgrade assumes you have out-of-place infrastructure to install into. The existing Oracle Database should be cloned for use with the new version. |
| 120 | + |
| 121 | +## Download the Latest Installation |
| 122 | + |
| 123 | +Visit the [Release](https://github.com/oracle/microservices-datadriven/releases/) page and download the `custom-ebaas_latest.zip` file for the version you are upgrading to. |
| 124 | + |
| 125 | +Unzip the `custom-ebaas_latest.zip` file. |
| 126 | + |
| 127 | +## Clone Database |
| 128 | + |
| 129 | +Depending on the Oracle Database that was used during the initial installation, the method of cloning the database will vary. For example: |
| 130 | + |
| 131 | +* [Oracle Autonomous Database](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/clone-autonomous-database.html) |
| 132 | +* [Oracle BaseDB](https://docs.oracle.com/en-us/iaas/base-database/doc/clone-db-system.html) |
| 133 | +* On-Premises options include: |
| 134 | + * [PDB Clone](https://docs.oracle.com/en/database/oracle/oracle-database/21/multi/cloning-a-pdb.html) |
| 135 | + * [RMAN Duplicate](https://docs.oracle.com/en-us/iaas/Content/Database/Tasks/mig-rman-duplicate-active-database.htm) |
| 136 | + * [Datapump](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html) |
| 137 | + |
| 138 | +## Update the Infrastructure |
| 139 | + |
| 140 | +From the original installation source, copy the following infrastructure definitions, where they exist, to the new release source: |
| 141 | + |
| 142 | +* ansible/roles/common/vars/main.yaml |
| 143 | +* ansible/roles/registry/vars/main.yaml |
| 144 | +* ansible/roles/database/vars/main.yaml |
| 145 | +* ansible/roles/oci/vars/main.yaml |
| 146 | +* ansible/roles/azure/vars/main.yaml |
| 147 | + |
| 148 | +**Update the files to point to the new out-of-place infrastructure.** |
| 149 | + |
| 150 | +## Perform the Upgrade |
| 151 | + |
| 152 | +From the unzipped source, run the following commands: |
| 153 | + |
| 154 | +```bash |
| 155 | +./setup_ansible.sh |
| 156 | +source activate.env |
| 157 | +ansible-playbook ansible/k8s_apply.yaml -t full |
| 158 | +``` |
| 159 | + |
| 160 | +## Load Custom Applications |
| 161 | + |
| 162 | +Once the upgrade is complete, re-load your applications into the new Kubernetes environment. |
0 commit comments