-
Notifications
You must be signed in to change notification settings - Fork 118
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Initial workshop version * Removed Desktop and sandbox folders from workshop * Updated Getting Started and Need help sections * Updated Lab 1 Image * Updated 2.png
- Loading branch information
1 parent
8fb23ef
commit 8f1be19
Showing
40 changed files
with
1,449 additions
and
0 deletions.
There are no files selected for viewing
61 changes: 61 additions & 0 deletions
61
queue-decouple-app-message-filter-fairness/cloud-login/cloud-login.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# Get started - Cloud login | ||
|
||
## Introduction | ||
|
||
Oracle Cloud is the industry's broadest and most integrated cloud provider, with deployment options ranging from the public cloud to your data center. Oracle Cloud offers best-in-class services across Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS). | ||
|
||
Estimated Time: 5 minutes | ||
|
||
### Types of Cloud Accounts | ||
|
||
We offer two types of Cloud Accounts: | ||
|
||
*Free Tier Accounts*: After you sign up for the free [Oracle Cloud promotion](https://signup.cloud.oracle.com) or sign up for a paid account, you’ll get a welcome email. The email provides you with your cloud account details and sign in credentials. | ||
|
||
*Oracle Cloud Paid Accounts*: When your tenancy is provisioned, Oracle sends an email to the default administrator at your company with the sign-in credentials and URL. This administrator can then create a user for each person who needs access to the Oracle Cloud. Check your email or contact your administrator for your credentials and account name. | ||
|
||
### Objectives | ||
|
||
- Learn how to log in to your Oracle Cloud Account | ||
|
||
### Prerequisites | ||
- Cloud Account Name - The name of your tenancy (supplied by the administrator or in your Oracle Cloud welcome email) | ||
- Username | ||
- Password | ||
|
||
## Task 1: Log in to Oracle Cloud | ||
If you've signed out of the Oracle Cloud, use these steps to sign back in. | ||
|
||
1. Go to [cloud.oracle.com](https://cloud.oracle.com) and enter your Cloud Account Name and click **Next**. This is the name you chose while creating your account in the previous section. It's NOT your email address. If you've forgotten the name, see the confirmation email. | ||
|
||
![Cloud Account Name](./images/cloud-oracle.png " ") | ||
|
||
2. Choose **Identity Domain** | ||
|
||
![Click Continue Single Sign-In](./images/cloud-login-default.png " ") | ||
|
||
|
||
![Click Continue Single Sign-In](./images/cloud-login-oracle-identity.png " ") | ||
|
||
Click **Next** to reveal the login input fields. | ||
|
||
3. Enter your Cloud Account credentials and click **Sign In**. Your username is your email address. The password is what you chose when you signed up for an account. | ||
|
||
![Sign in](./images/oci-signin.png " ") | ||
|
||
4. Based on the Multi-factor authentication setup for your account, provide authentication to sign into the account. For example, click **Allow** on the app or enter your **authentication code** and click **Verify** based on the authentication setup. For more details, refer the [Managing Multifactor Authentication documentation](https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/usingmfa.htm) | ||
|
||
![Click Allow in the app](./images/sso-multi-factor-authentication.png " ") | ||
|
||
![Enter authentication code and click Verify](./images/sso2-multi-factor-authentication.png " ") | ||
|
||
5. After verification, you will be signed in to Oracle Cloud! | ||
|
||
![OCI Console Home Page](https://oracle-livelabs.github.io/common/images/console/home-page.png " ") | ||
|
||
You may now **proceed to the next lab**. | ||
|
||
## Acknowledgements | ||
|
||
* **Author** - Abhishek Bhaumik, Product Manager | ||
* **Last Updated By/Date** - Abhishek Bhaumik, January 2025 |
2 changes: 2 additions & 0 deletions
2
queue-decouple-app-message-filter-fairness/cloud-login/files/accountname.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
This image shows the Oracle Cloud Account page. On this page you sign in to your Oracle Cloud Account. The page contains a field to enter your cloud account name. | ||
Under that field, is the Next button. |
1 change: 1 addition & 0 deletions
1
queue-decouple-app-message-filter-fairness/cloud-login/files/username.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
This image shows the page for your Oracle Cloud Account sign in. The page reflects the Cloud account name. Below are two fields: "User Name or Email" and "Password". The Sign In button below these fields. |
Binary file added
BIN
+678 KB
queue-decouple-app-message-filter-fairness/cloud-login/images/cloud-homepage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+60.3 KB
...decouple-app-message-filter-fairness/cloud-login/images/cloud-login-default.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+40 KB
...-app-message-filter-fairness/cloud-login/images/cloud-login-oracle-identity.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+371 KB
queue-decouple-app-message-filter-fairness/cloud-login/images/cloud-oracle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+226 KB
...-app-message-filter-fairness/cloud-login/images/multi-factor-authentication.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+121 KB
queue-decouple-app-message-filter-fairness/cloud-login/images/oci-signin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+174 KB
...-message-filter-fairness/cloud-login/images/sso-multi-factor-authentication.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+159 KB
...message-filter-fairness/cloud-login/images/sso2-multi-factor-authentication.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
36 changes: 36 additions & 0 deletions
36
queue-decouple-app-message-filter-fairness/introduction/introduction.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Introduction | ||
|
||
## About this Workshop | ||
|
||
Oracle Cloud Infrastructure (OCI) Queue is a fully managed, high-throughput messaging service designed to enable secure communication between decoupled application components or microservices. By leveraging OCI Queue, developers can implement scalable, resilient, and loosely coupled architectures to support asynchronous messaging and ensure system flexibility. | ||
In this workshop, you will learn to create and manage OCI Queues and integrate them with various SDKs and APIs to develop decoupled applications. Whether you're using the OCI SDKs or open-source protocols like STOMP, this hands-on experience will help you understand key features like message fairness, channel management, and more. | ||
|
||
### Objectives | ||
|
||
In this workshop, you will learn how to: | ||
|
||
* **Deploy OCI Queue** Learn how to provision and configure an OCI Queue to enable asynchronous communication for your applications. | ||
* **Decouple Application Components/ Micro-services using the OCI Queue SDK** Implement decoupling patterns between micro-services using the OCI Queue SDK. | ||
* **Queue Channels - Filter Messages and Messaging Fairness using OCI Queue SDK** Explore how to send and receive messages from specific queue channels while ensuring messaging fairness and proper load distribution. | ||
* **Decouple Application Components/ Micro-services Using Open-Source STOMP API** Understand how to integrate OCI Queue with the widely adopted open-source STOMP protocol. | ||
* **Queue Channels - Filter Messages and Messaging Fairness using open source STOMP API** Combine the capabilities of OCI Queue and STOMP APIs to develop messaging systems with channel-specific fairness. | ||
|
||
### Prerequisites | ||
|
||
This lab assumes you have: | ||
|
||
* An Oracle account. | ||
* Familiarity with queue and concepts of micro-services are required. | ||
* Some understanding of Linux shell commands. | ||
* Familiarity with Oracle Cloud Infrastructure (OCI) components like OCI Compute, networking. | ||
* Basic familiarity with python. | ||
|
||
## Learn More | ||
|
||
* [OCI Queue Blog](https://blogs.oracle.com/cloud-infrastructure/post/announcing-oci-queue) | ||
* [OCI Queue Documentation](https://docs.oracle.com/en-us/iaas/Content/queue/home.htm) | ||
|
||
## Acknowledgements | ||
|
||
* **Author** - Abhishek Bhaumik, Product Manager | ||
* **Last Updated By/Date** - Abhishek Bhaumik, January 2025 |
Binary file added
BIN
+263 KB
queue-decouple-app-message-filter-fairness/lab1-deploy-queue/images/2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+1.59 MB
queue-decouple-app-message-filter-fairness/lab1-deploy-queue/images/3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
120 changes: 120 additions & 0 deletions
120
queue-decouple-app-message-filter-fairness/lab1-deploy-queue/lab1-deploy-queue.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
# Lab 1: Deploy OCI Queue | ||
|
||
## Introduction | ||
|
||
In this lab, you will create an OCI Queue and configure it to enable asynchronous communication between application components. | ||
|
||
Estimated Lab Time: 20 minutes | ||
|
||
### Objectives | ||
|
||
In this lab, you will: | ||
|
||
* Create an IAM policy for OCI Queue | ||
* Create an OCI Queue | ||
|
||
### Prerequisites | ||
|
||
This lab assumes you have: | ||
|
||
* An Oracle Cloud account | ||
|
||
## Task 1: Log in to the OCI Console | ||
|
||
1. Open the [OCI Console](https://cloud.oracle.com/) in your browser. | ||
2. Log in using your Oracle Cloud account credentials. | ||
|
||
## Task 2: Add Required IAM Policies | ||
|
||
Before creating a queue, ensure that the appropriate IAM policies are in place to allow the required actions. Follow these steps: | ||
|
||
1.**Navigate to the IAM Service:** | ||
|
||
* Open the navigation menu (☰) in the OCI Console. | ||
* Under **Identity & Security**, select **Identity** → **Policies**. | ||
|
||
2.**Create a New Policy:** | ||
|
||
* Click **Create Policy**. | ||
* Provide the following details: | ||
* **Name:** Enter a unique name for the policy, such as QueuePolicy. | ||
* **Compartment:** Select the compartment where you want to apply the policy. | ||
* **Description:** Optionally, add a description, such as "Policy to allow Queue management." | ||
|
||
3.**Define the Policy Statements:** | ||
Use the following policy statements as per your requirement: | ||
|
||
* Allow queue management (administrators): | ||
|
||
``` | ||
<copy> | ||
Allow group QueueAdmins to manage queue-family in compartment <compartment-name> | ||
</copy> | ||
``` | ||
|
||
* Allow application developers to produce and consume messages: | ||
|
||
``` | ||
<copy> | ||
Allow group QueueDevelopers to use queues in compartment <compartment-name> | ||
</copy> | ||
``` | ||
|
||
Replace *compartment-name* with the name of your compartment and QueueAdmins / QueueDevelopers with the appropriate user groups in your OCI tenancy. | ||
|
||
4.**Create the Policy:** | ||
|
||
* Click **Next**, review the details, and then click Create Policy. | ||
|
||
5.**Assign Users to Groups (if not already done):** | ||
|
||
* Ensure that the necessary users are part of the QueueAdmins or QueueDevelopers groups based on their role. | ||
|
||
## Task 3: Create an OCI Queue | ||
|
||
1. From the OCI Console home page, open the navigation menu (☰) in the top-left corner. | ||
2. Under **Developer Services**, select Application Integration, select Queue. | ||
3. On the **Queues** page, click **Create Queue**. | ||
4. Enter the following details: | ||
|
||
* **Name:** Provide a unique name for the queue. For example, *MyQueue*. | ||
* **Compartment:** Select the compartment where the queue will reside. | ||
* **Description (optional):** Add a description for the queue, such as "*Queue for decoupling microservices.*" | ||
* **Queue Settings:** Choose **Default Configuration** or optional **Custom Configuration** | ||
|
||
## Task 4: Custom Configuration (Optional) | ||
|
||
1. **Retention Period:** Specify the time (in seconds) messages will be retained in the queue. For example, *86400seconds (1 day)*. | ||
2. **Visibility Timeout:** Set the duration (in seconds) for which a message remains invisible after being read. For example, *30 seconds*. | ||
3. **Maximum Channel Consumption (percentage):** Maximum amount of the queue's storage and throughput that a channel can consume. For example *100%*. | ||
4. **Dead letter Queue Settings:** | ||
|
||
**Maximum Delivery Attempts:** The maximum number of retries for a message consumption before it is sent to a dead letter queue (DLQ). | ||
|
||
5. **Encryption settings:** | ||
|
||
**Encryption Key:** Leave as Default Encryption Key or select a customer-managed key (CMK) from the OCI Vault for enhanced security. | ||
|
||
6. **Tags:** Optionally, add tags to help with resource organization and cost tracking. | ||
|
||
## Task 5: Review and Create | ||
|
||
1. Review your configuration in the **Summary** section. | ||
2. Click **Create** to provision the queue. | ||
![Create Queue](images/2.png) | ||
|
||
## Task 6: Verify Queue Creation | ||
|
||
1. Once the queue is created, it will appear in the list on the **Queues** page. | ||
2. Click the *queue name* to open its details page and verify the configuration. | ||
![Queue Details](images/3.png) | ||
|
||
## Learn More | ||
|
||
* [OCI Queue Blog](https://blogs.oracle.com/cloud-infrastructure/post/announcing-oci-queue) | ||
* [OCI Queue Documentation](https://docs.oracle.com/en-us/iaas/Content/queue/home.htm) | ||
|
||
## Acknowledgements | ||
|
||
* **Author** - Abhishek Bhaumik, Product Manager | ||
* **Last Updated By/Date** - Abhishek Bhaumik, January 2025 |
Oops, something went wrong.