Skip to content

Commit 6ea25bb

Browse files
Doc updates for 1.1 release (#811)
Doc udpates for 1.1 --------- Signed-off-by: Mark Nelson <mark.x.nelson@oracle.com> Co-authored-by: Andy Tael <andy.tael@yahoo.com>
1 parent 0135104 commit 6ea25bb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+877
-260
lines changed

docs-source/spring/content/_index.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
---
22
title: "Oracle Backend for Spring Boot and Microservices"
3+
description: "Spring SpringBoot Spring Boot"
4+
keywords: "spring springboot"
35
---
46

57
Oracle Backend for Spring Boot and Microservices allows developers to build microservices in Spring Boot and provisions a "backend as a service" with
68
Oracle Database and other infrastructure components that operate on multiple clouds. Oracle Backend for Spring Boot and Microservices vastly simplifies the task of
79
building, testing, and operating microservices platforms for reliable, secure, and scalable enterprise applications.
810

911
&nbsp;
10-
{{< hint type=[warning] icon=gdoc_fire title="Version 1.0 (production) released October, 2023" >}}
11-
Oracle Backend for Spring Boot and Microservices Version 1.0 is now generally available and suitable
12-
for production use. This version supports and recommends Spring Boot 3.1.x, Spring 6.0 and Spring Cloud 2022.0.4,
12+
{{< hint type=[warning] icon=gdoc_fire title="Version 1.1 (production) released February, 2024" >}}
13+
Oracle Backend for Spring Boot and Microservices Version 1.1 is now generally available and suitable
14+
for production use. This version supports and recommends Spring Boot 3.2.x, Spring 6.1 and Spring Cloud 2023.0.0,
1315
with limited backwards compatibility for Spring Boot 2.7.x.
1416
{{< /hint >}}
1517
&nbsp;
@@ -83,7 +85,6 @@ We'd love to hear from you! You can contact us in the
8385
[#oracle-db-microservices](https://oracledevs.slack.com/archives/C03ALDSV272) channel in the
8486
Oracle Developers slack workspace, or [open an issue in GitHub](https://github.com/oracle/microservices-datadriven/issues/new).
8587

86-
8788
&nbsp;
8889
{{< hint type=[warning] icon=gdoc_fire title="Interested in Mobile or web apps too?" >}}
8990
Check out [Oracle Backend for Parse Platform](https://oracle.github.io/microservices-datadriven/mbaas/) - our "MERN"

docs-source/spring/content/azure/_index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
---
22
title: "Azure/OCI Multicloud Installation"
3+
description: "Multi-cloud Spring Boot Backend on Azure makes it easy for developers to build, deploy and operate microservices in a multicloud environment with Oracle Autonomous Database"
4+
keywords: "spring springboot microservices multicloud azure oracle"
35
---
46

57
The Oracle Backend for Spring Boot and Microservices is available to install in Multicloud (Microsoft Azure (Azure) and Oracle Cloud Infrastructure (OCI)). This installation

docs-source/spring/content/blogs/_index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
---
22
title: "Read our blogs!"
3+
description: "Read blog posts from the team that builds the Oracle Backend for Spring Boot and Microservices"
4+
keywords: "blogs team spring springboot microservices mobile oracle"
35
---
46

57
Our team members post blog articles and other content on various sites including [Medium](https://medium.com/@mark.x.nelson), LinkedIn ([Corrado de Bari](https://www.linkedin.com/in/corradodebari/), [Doug Drechsel](https://www.linkedin.com/in/dougdrechsel/)), [RedStack](https://redstack.wordpress.com), [DZone](https://dzone.com/users/4571557/paulparkinson.html), [Andy Tael](https://mr-a.org) and the [Oracle Developers Blog](https://blogs.oracle.com/developers).

docs-source/spring/content/cluster-access/_index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
---
22
title: "Kubernetes Access"
3+
description: "Access the Kubernetes cluster in the backend where your Spring Boot microservices applications are deployed"
4+
keywords: "kubernetes cluster spring springboot microservices oracle"
35
resources:
46
- name: oci-cloud-shell
57
src: "oci-cloud-shell.png"

docs-source/spring/content/database/_index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
---
22
title: "Database Access"
3+
description: "Access the Oracle Autonomous Database in the backend where your Spring Boot microservices applications are deployed"
4+
keywords: "database autonomous oracle spring springboot microservices backend"
35
resources:
46
- name: oci-adb-cloud-portal
57
src: "oci-adb-cloud-portal.png"
Lines changed: 21 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,26 @@
1-
This section provides information about how to develop and deploy Spring Boot applications
2-
with the Oracle Backend for Spring Boot and Microservices.
1+
---
2+
title: "Development"
3+
description: "How to develop and deploy Spring Boot applications with the Oracle Backend for Spring Boot and Microservices"
4+
keywords: "spring springboot microservices development oracle backend"
5+
---
36

4-
Spring Boot applications can be developed with no special requirements and
5-
be deployed into Oracle Backend for Spring Boot and Microservices. However, if you do opt-in to the platform
6-
services provided and the CLI, you can shorten your development time and avoid unnecessary
7-
work.
7+
This section provides information about how to develop and deploy Spring Boot applications with the Oracle Backend for Spring Boot and Microservices.
88

9-
Oracle Backend for Spring Boot provides the following services that applications can use:
9+
Spring Boot applications can be developed with no special requirements and be deployed into Oracle Backend for Spring Boot and Microservices. However, if you do opt-in to the platform services provided and the CLI, you can shorten your development time and avoid unnecessary work.
1010

11-
- An Oracle Autonomous Database instance in which applications can manage relational,
12-
document, spatial, graph and other types of data, can use Transactional Event Queues for
13-
messaging and events using Java Message Service (JMS), Apache Kafka or Representational
14-
State Transfer (REST) interfaces, and even run machine learning (ML) models.
15-
- A Kubernetes cluster in which applications can run with namespaces pre-configured with
16-
Kubernetes Secrets and ConfigMaps for access to the Oracle Autonomous Database instance
17-
associated with the backend.
18-
- An Apache APISIX API Gateway that can be used to expose service endpoints outside the Kubernetes
19-
cluster, to the public internet. All standard Apache APISIX features like traffic management,
20-
monitoring, authentication, and so on, are available for use.
21-
- Spring Boot Eureka Service Registry for service discovery. The API Gateway and monitoring
22-
services are pre-configured to use this registry for service discovery.
23-
- Spring Cloud Config Server to serve externalized configuration information to applications.
24-
This stores the configuration data in the Oracle Autonomous Database
25-
instance associated with the backend.
26-
- Netflix Conductor OSS for running workflows to orchestrate your services.
27-
- Hashicorp Vault for storing sensitive information.
28-
- Spring Admin for monitoring your services.
29-
- Prometheus and Grafana for collecting and visualizing metrics and for alerting.
30-
- Jaeger for distributed tracing. Applications deployed with the Oracle Backend for
31-
Spring Boot and Microservices CLI have the Open Telemetry Collector automatically added as a Java
32-
agent to provide tracing from the application into the Oracle Database.
11+
Oracle Backend for Spring Boot provides the following services that applications can use:
3312

34-
An integrated development environment is recommended for developing applications. Oracle
35-
recommends Visual Studio Code or IntelliJ.
13+
* An Oracle Autonomous Database instance in which applications can manage relational, document, spatial, graph and other types of data, can use Transactional Event Queues for messaging and events using Java Message Service (JMS), Apache Kafka or Representational State Transfer (REST) interfaces, and even run machine learning (ML) models.
14+
* A Kubernetes cluster in which applications can run with namespaces pre-configured with Kubernetes Secrets and ConfigMaps for access to the Oracle Autonomous Database instance associated with the backend.
15+
* An Apache APISIX API Gateway that can be used to expose service endpoints outside the Kubernetes cluster, to the public internet. All standard Apache APISIX features like traffic management, monitoring, authentication, and so on, are available for use.
16+
* Spring Boot Eureka Service Registry for service discovery. The API Gateway and monitoring services are pre-configured to use this registry for service discovery.
17+
* Spring Cloud Config Server to serve externalized configuration information to applications. This stores the configuration data in the Oracle Autonomous Database instance associated with the backend.
18+
* Netflix Conductor OSS for running workflows to orchestrate your services.
19+
* Hashicorp Vault for storing sensitive information.
20+
* Spring Admin for monitoring your services.
21+
* Prometheus and Grafana for collecting and visualizing metrics and for alerting.
22+
* Jaeger and Open Telemetry (OTEL) for distributed tracing. Applications deployed to the Oracle Backend for Spring Boot may use Jaeger or OTEL for distributed tracing. See the [Environment Variables page](envvars) for variables that can be used.
3623

37-
Java, Maven or Gradle, a version control system (Oracle recommends git), and other
38-
tools may be required during development.
24+
An integrated development environment is recommended for developing applications. Oracle recommends Visual Studio Code or IntelliJ.
25+
26+
Java, Maven or Gradle, a version control system (Oracle recommends git), and other tools may be required during development.

docs-source/spring/content/development/cli/_index.md

Lines changed: 155 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
---
22
title: "OBaaS CLI"
3+
description: "Command Line Interface for Oracle Backend for Spring Boot and Microservices"
4+
keywords: "cli tool deployment spring springboot microservices development oracle backend"
35
---
46

57
The Oracle Backend for Spring Boot and Microservices offers a command-line interface (CLI), `oractl`. The CLI commands simplify the deployment of
@@ -18,6 +20,8 @@ Table of Contents:
1820
* [Delete application namespace](#delete)
1921
* [Bind database schema/kubernetes secrets](#bind)
2022
* [Deploy a service](#deploy)
23+
* [Create a horizontal pod autoscaler](#create-autoscaler)
24+
* [Delete a horizontal pod autoscaler](#delete-autoscaler)
2125
* [List - show details about deployments](#list)
2226
* [Manage config server data](#config)
2327
* [GraalVM compile commands](#compile)
@@ -44,13 +48,15 @@ Short descriptions for the available commands can be viewed by issuing the `help
4448
commands can be viewed by issuing `help [command-name]`. For example:
4549
4650
```cmd
51+
oractl:>help
4752
AVAILABLE COMMANDS
4853
49-
Admin Server Commands
50-
connect: Connect to the OBaaS Spring Cloud admin console.
51-
5254
Application/Namespace Commands
53-
create: Create an application/namespace.
55+
* create: Create an application/namespace.
56+
57+
Autoscaler Commands
58+
* create-autoscaler: Create an autoscaler.
59+
* delete-autoscaler: Delete an autoscaler.
5460
5561
Built-In Commands
5662
help: Display help about available commands
@@ -62,19 +68,32 @@ Built-In Commands
6268
script: Read and execute commands from a file.
6369
6470
GraalVM Compile Commands
65-
compile-download: Download executable file compiled
66-
compile: Compile a service with GraalVM
67-
compile-purge: Delete a job launched
68-
compile-logs: Compilation progress
71+
* compile-download: Download executable file compiled
72+
* compile: Compile a service with GraalVM
73+
* compile-purge: Delete a job launched
74+
* compile-logs: Compilation progress
75+
76+
Identity and Access Management Service
77+
* user list: Lists the users in your platform.
78+
* user create: Creates a new user in your platform.
79+
* user get: Gets the specified user’s information.
80+
* user delete: Delete a user in your platform.
81+
* user change-roles: Change the roles from the specified user.
82+
connect: Connect to the OBaaS Admin Service.
83+
* user change-password: Change password for the specified user.
6984
7085
Informational Commands
71-
list: list/show details of application services.
86+
* list: list/show details of application services.
7287
7388
Service Commands
74-
bind: Create or Update a schema/user and bind it to service deployment.
75-
delete: Delete a service or entire application/namespace.
76-
config: View and modify Service configuration.
77-
deploy: Deploy a service.
89+
* bind: Create or Update a schema/user and bind it to service deployment.
90+
* delete: Delete a service or entire application/namespace.
91+
* config: View and modify Service configuration.
92+
* deploy: Deploy a service.
93+
94+
95+
Commands marked with (*) are currently unavailable.
96+
Type `help <command>` to learn more.
7897
7998
Ask for Help
8099
Slack: https://oracledevs.slack.com/archives/C03ALDSV272
@@ -91,6 +110,8 @@ The [`bind`](#bind) command results in the automatic creation of a database sche
91110

92111
The [`deploy`](#deploy) command takes `service-name`, `app-name`, and `artifact-path` as the main arguments (`image-version` and `java-version` options are also provided). When the `deploy` command is issued, the microservice JAR file is uploaded to the backend and a container image is created for the JAR or microservice, and various Kubernetes resources such as **Deployment** and **Service** are also created. This is all done automatically to simplify the development process and the management of the microservices by the backend.
93112

113+
The [`create-autoscaler`](#create-autoscaler) and [`delete-autoscaler`](#delete-autoscaler) commands allow you to create and delete horizontal pod autoscalers for specific microservices.
114+
94115
The [`list`](#list) command shows the details of the deployed microservices.
95116

96117
The [`config`](#config) command can also be used to add, view, update, and delete configurations managed by the Spring Cloud Config server.
@@ -284,13 +305,9 @@ NAME
284305
deploy - Deploy a service.
285306
286307
SYNOPSIS
287-
deploy --redeploy boolean --bind String --app-name String [--service-name String] [--image-version String] --service-profile String --port String --java-version String --add-health-probe boolean --liquibase-db String [--artifact-path String] --initial-replicas int --graalvm-native boolean --help
308+
deploy --bind String --app-name String [--service-name String] [--image-version String] --service-profile String --port String --java-version String --add-health-probe boolean --liquibase-db String [--artifact-path String] --initial-replicas int --cpu-request String --graalvm-native boolean --apigw boolean --route String --apikey String --help
288309
289310
OPTIONS
290-
--redeploy boolean
291-
whether the service has already been deployed or not
292-
[Optional, default = false]
293-
294311
--bind String
295312
automatically create and bind resources. possible values are [jms]
296313
[Optional]
@@ -335,18 +352,39 @@ OPTIONS
335352
The initial number of replicas
336353
[Optional, default = 1]
337354
355+
--cpu-request String
356+
The amount of CPU to request
357+
[Optional, default = 500m]
358+
338359
--graalvm-native boolean
339360
Artifact is a graalvm native compiled by Oracle Backend
340361
[Optional, default = false]
341362
363+
--apigw boolean
364+
open routing through APISIX
365+
[Optional, default = false]
366+
367+
--route String
368+
set an APISIX route path
369+
[Optional, default = /api/v1/]
370+
371+
--apikey String
372+
set APISIX API_KEY
373+
[Optional]
374+
342375
--help or -h
343376
help for deploy
344377
[Optional]
345378
379+
380+
381+
CURRENTLY UNAVAILABLE
382+
you are not signedIn. Please sign in to be able to use this command!
383+
346384
Ask for Help
347385
Slack: https://oracledevs.slack.com/archives/C03ALDSV272
348386
E-mail: obaas_ww@oracle.com
349-
```
387+
```
350388

351389
For example:
352390

@@ -363,6 +401,104 @@ Ask for Help
363401
oractl:>deploy --app-name cloudn --service-name account --artifact-path obaas/myserv/target/accounts-0.0.1-SNAPSHOT.jar.exec --image-version 0.0.1 --graalvm-native --java-version container-registry.oracle.com/os/oraclelinux:7-slim
364402
```
365403

404+
### create-autoscaler
405+
406+
Use the `create-autoscaler` command to create a horizontal pod autoscaler for a microservice you have deployed. You can specify the target scaling threshold using CPU percentage. Note that your microservice must have its CPU request set in order to use the autoscaler. It is set to `500m` (that is, half a core) by the `deploy` command if you did not override the default.
407+
408+
```cmd
409+
oractl:>help create-autoscaler
410+
NAME
411+
create-autoscaler - Create an autoscaler.
412+
413+
SYNOPSIS
414+
create-autoscaler --app-name String [--service-name String] --min-replicas int --max-replicas int --cpu-percent int --help
415+
416+
OPTIONS
417+
--app-name String
418+
application/namespace
419+
[Optional, default = application]
420+
421+
--service-name String
422+
Service Name
423+
[Mandatory]
424+
425+
--min-replicas int
426+
The minimium number of replicas
427+
[Optional, default = 1]
428+
429+
--max-replicas int
430+
The maximum number of replicas
431+
[Optional, default = 4]
432+
433+
--cpu-percent int
434+
The CPU percent at which to scale
435+
[Optional, default = 80]
436+
437+
--help or -h
438+
help for create-autoscaler
439+
[Optional]
440+
441+
442+
Ask for Help
443+
Slack: https://oracledevs.slack.com/archives/C03ALDSV272
444+
E-mail: obaas_ww@oracle.com
445+
```
446+
447+
For example:
448+
449+
```cmd
450+
oractl:>create-autoscaler --app-name application --service-name creditscore --cpu-percent 80 --min-replicas 2 --max-replicas 6
451+
obaas-cli [create-autoscaler]: Autoscaler was successfully created.
452+
```
453+
454+
You can view the details of the autoscaler using `kubectl`, for example:
455+
456+
```cmd
457+
$ kubectl -n application get hpa
458+
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
459+
creditscore Deployment/creditscore 0%/80% 2 6 2 26s
460+
customer Deployment/customer 4%/80% 2 6 2 26h
461+
462+
```
463+
464+
### delete-autoscaler
465+
466+
Use the `delete-autoscaler` command to delete a horizontal pod autoscaler for a microservice you have deployed.
467+
468+
```cmd
469+
oractl:>help delete-autoscaler
470+
NAME
471+
delete-autoscaler - Delete an autoscaler.
472+
473+
SYNOPSIS
474+
delete-autoscaler --app-name String [--service-name String] --help
475+
476+
OPTIONS
477+
--app-name String
478+
application/namespace
479+
[Optional, default = application]
480+
481+
--service-name String
482+
Service Name
483+
[Mandatory]
484+
485+
--help or -h
486+
help for delete-autoscaler
487+
[Optional]
488+
489+
490+
Ask for Help
491+
Slack: https://oracledevs.slack.com/archives/C03ALDSV272
492+
E-mail: obaas_ww@oracle.com
493+
```
494+
495+
For example:
496+
497+
```cmd
498+
oractl:>delete-autoscaler --app-name application --service-name creditscore
499+
obaas-cli [delete-autoscaler]: Autoscaler was successfully deleted.
500+
```
501+
366502
### list
367503

368504
Use the `list` command to show details of the microservice deployed in the previous step. For example:

0 commit comments

Comments
 (0)