What is Oracle Application Container Cloud Service (ACCS)?

Oracle Application Container Cloud (ACCS) Service enables you to easily run your applications built using Node.js, Java, PHP, Python, Ruby, Go, .NET etc. programming languages on the cloud so that your users can securely access these applications over the Internet.

How does ACCS enable me to run applications on the cloud?

The ACCS is a managed cloud service with a polyglot, cloud-native application runtime platform. When you bring your applications to the ACCS application runtime platform, the ACCS service creates an application container to run the application, pairs this application container with a load balancer and an SSL-enabled public URI so that your users can easily access your application, using the public URI, over the Internet.

What kind of applications can I run on ACCS?

Currently, you can use ACCS to run any server-side applications that store the application state information on an external data-store such as Oracle MySQL Cloud Service, Oracle Data Hub Cloud Service, and Oracle Database Cloud Service. Such applications are typically referred as cloud-native 12-factor applications. For more information, see 12-factor applications.

What are the benefits of using ACCS?

When you choose Oracle ACCS to run your cloud-native, 12-factor applications, then the application runtime platform automatically creates a load balancer and a secure, SSL-enabled endpoint for your applications so that you can easily scale the application cluster to handle all the incoming traffic. You will also be able to easily configure and securely transfer data between your application and the various Oracle cloud services such as Oracle Mobile Cloud Service, Oracle API Cloud Service, Oracle Integration Cloud Service, Oracle MySQL Cloud Service, Oracle Database Cloud Service and Oracle Data Hub Cloud Service.

When should I use ACCS?

You should consider Oracle ACCS as your application runtime platform when you want to easily deploy your applications on the Internet, scale up/down based on the application demand and to seamlessly interoperate with the rest of Oracle Cloud Services such as Oracle Mobile Cloud Service, Oracle Integration Cloud Service, Oracle API Cloud Service. With ACCS, you can focus on your applications and don't have to learn about application containers, application sizing, setting up load balancer tier or even setting up an SSL endpoint for your application etc.

How do I choose between Java Cloud Service and Application Container Cloud Service?

Oracle Java Cloud Service provides a Java solution that is more flexible and customizable, while Oracle Application Container Cloud Service offers a simpler, automated and managed solution for Java applications.
  • Java Cloud Service gives administrators access to WebLogic Server and the operating system. Application Container Cloud Service hides this infrastructure from users, and automatically keeps it up-to-date with the latest software and patches.
  • With Application Container Cloud Service, you can deploy applications that are developed in a variety of languages, including Java EE web applications (WAR). Java Cloud Service supports the full Java EE specification, including enterprise applications (EAR) and Java Message Service (JMS).
  • Deploying your code to Application Container Cloud Service is fast and easy, but Java Cloud Service also integrates with popular IDEs.
  • Java Cloud Service offers tools to help migrate existing WebLogic Server environments to the cloud, and also lets you choose older WebLogic Server releases like 11g (10.3.6).

How can I get started?

You can easily get started by choosing the application runtime corresponding to the programming language you used to build your cloud-native 12-factor applications and then uploading your application binary archive to the ACCS. For more information, see https://docs.oracle.com/en/cloud/paas/app-container-cloud/index.html

What happens when I upload my application to the ACCS application runtime platform?

Based on the application runtime you chose for creating your application, ACCS will create a Docker image and then run your application binaries within that Docker image as a secure Application Container.

How does ACCS start my application?

When you upload your application archive, you will also have to specify the start command in a specific format. For more information, see https://docs.oracle.com/en/cloud/paas/app-container-cloud/dvcjv/creating-metadata-files.html.

Can I choose the number of cores allocated to the application?

No. You will be able to only choose the number of application containers and the amount of RAM per application container.

How can I choose the memory (RAM) for my application?

When you are creating a new application, you can specify the memory (RAM) size for your application using either the Console or the 'deployment.json' file as input. You can also change this memory size once you have the application running within ACCS.

Can I bring my application as a Docker image?

No. Currently, Oracle Application Container Cloud service offers you to choose a language runtime and then creates an application container (aka Docker image) for this language runtime. This way, you can focus on your application development and use the ACCS to easily run your applications within the application container at-scale in the Oracle Cloud.

How does ACCS creates the application container?

ACCS offers a polyglot application runtime platform with support for popular programming languages so that you can easily run your applications as an application container on the Oracle cloud. When you choose the application language runtime, then Oracle will use a Docker image corresponding to the language runtime and use this Docker image as the base image to create your application container.

What is the difference between the docker image from Oracle and Docker Hub?

You can choose the Docker image from Oracle to run applications built with Java SE, Java EE, PHP, Node.js and .NET programming languages. The Oracle created Docker image for Java programming language includes Oracle Database client drivers and Oracle Java SE Development Kit so that you can easily connect to Oracle Database Cloud Service and easily monitor your applications using the built-in flight recorders. Similarly, the Docker image for PHP and Node.js allows you to easily connect to Oracle/MySQL Database. You can also choose the Docker image from Docker Hub to run applications built with Python, Ruby, and Go. These are standard Docker images published by the open source community.

What happens to my application dependencies in the ACCS?

When you upload your application binaries, you can bundle all your application dependencies within your application binary zip files. ACCS will use this zip file and then run the command you specify within your application containers.

How can I scale my application?

You can easily scale your application by specifying the number of applications containers you want to run for this application. ACCS will automatically pair these application containers to the front-end load balancer tier so that the incoming client traffic easily routes to all of your application containers.

How do I get charged when I run my applications on the ACCS?

Oracle ACCS charges you per-GB memory (RAM) allocated for your application at every hour. Checkout our pricing page to get the latest pay-as-you-go price.

Can I stop my application in the ACCS to avoid getting charged?

Yes, you can use the ACCS Console/API/CLI to mark the status of a running application to a 'Stop' state. You will not incur any charge when your application is in the 'Stop' state. Then, when you are ready, you can easily bring this stopped application from the 'Stop' state to 'Running' state.

ACCS Runtime Platform

What programming languages does ACCS runtime support?

ACCS allows you to run applications written using popular programming languages such as Java, Node.js, PHP, Python, Ruby, Go and .NET. You can write a cloud-native 12-factor application using any of these programming languages and run on ACCS. For more information, see https://docs.or acle.com/en/cloud/paas/app-container-cloud/dvcjv/design-considerations.html

What are the ACCS supported programming language versions?

ACCS offers a polyglot language runtime platform. You can build your applications using Java, Python, PHP, Ruby, Go, .NET etc. and then use the application binaries to run your application on the Oracle cloud.

What are the constraints to successfully run applications within ACCS?

See product documentation for the application design constraints - https://docs.oracle.com/en/cloud/paas/app-container-cloud/dvcjv/design-considerations.html.

How can my application connect to Oracle Cloud Platform Services such as Event Hub, MySQL, Data Hub or Database Cloud Service?

You will need to handle two aspects to successfully connect to these Oracle Cloud Platform Services. First, your application should include the client drivers to connect to these services. Second, you can use the ACCS Service Binding capability to dynamically connect to these services. Here, with Service Binding, the Oracle Cloud Platform will populate an environment variable to your application containing information about the service endpoint. Your application can use this environment variable as the connection string information to connect to the other Oracle Cloud Platform service.

What drivers do I need to connect to the Oracle Database or MySQL Cloud Service?

If you are developing your application using Python/Ruby/Go, then you will need to download Oracle MySQL client drivers and then bundle this driver within your application. You can find information about this client driver within the corresponding programming language web site. This dependency should be part of your application. If you are developing this application using either Java, Node.js or PHP, then Oracle bundles these drivers while building the application containers so that you do not have to bundle these drivers as part of your application.

What drivers do I need to connect to the Oracle Data Hub for Apache Cassandra Cloud Service?

You will need to download the Apache Cassandra client drivers and then bundle this driver within your application. You can find information about this client driver within the corresponding programming language web site. This dependency should be part of your application.

What should I change in my application to successfully connect to the Oracle Cloud Platform Services such as Event Hub, Data Hub, MySQL Cloud Service?

You will need to change your application to receive the connection information as an environment variable. The process to read data from an environment variable is specific to a programming language. Please read your language reference documentation for information on how to do this. This connection string environment variable will include the host and port information to connect to these services.

What is the benefit of reading the connection string from an environment variable?

Your application doesn't have to change as you move your application lifecycle from dev/testing to staging and production.

How do I debug my application within the ACCS?

You will need to either view or download the application logs corresponding to your application. This log provides you the relevant information to troubleshoot any application specific issue.

What are the different ways to create applications in ACCS?

The simplest way is to either push (using our CLI) or create (using our Console) your applications as a 'Standard' Application. These applications are accessible over SSL-enabled URI endpoint. Similarly, while creating the application, you can also choose to create an application as either a 'Secure Application' or as a 'Worker Application'.

Worker Application

What is a Worker Application?

A worker application is an always-on server application that is accessible only via the standard or secure ACCS application. These Worker applications are not directly accessible over the Internet. This capability allows developers to refactor their common, backend business processing logic as a Worker Application and then use these Worker applications to seamlessly process backend business logic for all the standard ACCS applications.

How do I create a worker application?

You can now create your backend applications as a "worker application" so that this application is not accessible over the internet. This capability allows you to run your application within the ACCS application runtime platform to take advantage of the Oracle Cloud Platform ecosystem. To create a worker application, you will need to call out the application type as 'worker' within the manifest file (see below)
"runtime": {
"majorVersion": "8"
"command": "java -jar accs-worker.jar",
"type": "worker",
"notes": "ACCS worker app"

When should I use the worker application?

You should create an application as a 'Worker' application within ACCS when you want this application to be not accessible over the Internet so that you can use this application to handle asynchronous data processing such as process the data it receives from other cloud services such as Oracle Database, MySQL, Event Hub, Data Hub Cloud Service etc.

What benefits do I get with creating my application as a worker application?

Worker applications are accessible only within your identity domain and these applications can asynchronously receive and process data from your other Oracle cloud services. For example, you can use a worker application to run backend data processing application so that it receives and processes database queries or handles Event Hub events etc.

How can my standard application communicate with a worker application?

Currently, we do not support this model. This is on our roadmap.

Secure Application

What is a secure application in ACCS?

A secure application allows you to protect an Internet-facing application URI with the Oracle Identity Cloud Service. This ensures that users will need to authenticate with Oracle IDCS before users can access the application.

When should I use the secure application in ACCS?

If your application should be accessible only for specific users, then you will want to deploy the application as a secure application.

How can I create an application in ACCS as a secure application?

Currently, if you have purchased Oracle's unique Universal Cloud Credits subscription and your subscription includes entitlement to use Oracle Cloud Infrastructure - Load Balancer Classic, then you will be able to create secure applications within ACCS. When you create an application, you can easily choose the application to be a secure application either using the API or Console. Once ACCS successfully creates this application, then you can visit the Manage Secure Application section to add additional users who can successfully authenticate with the Oracle IDCS. Here, you can also configure your users to one of the standard authorization roles.

What are the default authorization roles in a secure application?

Every secure application comes with the following default authorization roles: App Administrators, App Monitors, and App Operators. You can add any new users to these authorization roles.

What ACCS application runtimes support creating a secure application?

Currently, you can create secure applications in ACCS if your applications are built using either Java SE and Node.js languages. We will add this capability to the other language runtime in the coming months.

How does ACCS enable an application as a secure application?

As part of creating a secure application, ACCS creates a corresponding secure application within the Oracle IDCS platform so that you can configure custom IDCS properties and rules for this secure application regarding the users who are eligible to authenticate and their corresponding authorization roles.

Do I need to change my application to be able to successfully create a secure application?

For your Node.js or Java SE applications, you do not have to change your application logic to successfully authenticate with the Oracle Identity Cloud Service users in your identity domain. However, you will have to navigate to the corresponding secure application within the IDCS service to add these users. Now, if you wish to do authorization, then you will need to use the Identity Cloud Service SDK within your application so that you can successfully validate on the standard roles.

How do I transition an existing ACCS standard application to a secure application?

Currently, this is not supported. You will need to delete your existing standard application and then enable the 'Secure Application' property while creating the application.

What is the difference between standard, secure and worker application?

The difference between the standard and secure application is that the secure application is protected by the Oracle Identity Cloud Service and only the users configured to access the secure application will be able to successfully authenticate. The worker application does not have a publicly accessible URL or REST endpoint and is NOT publicly accessible over the Internet. These worker applications are only accessible via a secure or standard application. You can interact with the worker application using your identity domain specific private, and secure overlay network.
Call us now
1-800-633-0738 (United States)

Call us now
1-800-633-0738 (United States)

Technical Support

Oracle Cloud Discussion Forums