With lot of new and fast features being provided by AEMaaCS, there are some important things we need to keep in mind while doing the implementation, one of them is cluster aware coding or develop cluster aware application.
What is the need of cluster aware coding?
With AEM as a Cloud Service, some things are changed and we need to keep them in mind while developing the application. The major one is, now the application will be running on cluster nodes which means instances can go down and new ones can come up any time. It will be great for authors with no downtime during the deployments but the question arises what will happen if the instance will go down during the scheduler is running?
The code must be resilient especially as an instance might be stopped at any point in time.
To over come this problem, we can use Sling Scheduled Jobs. If we are migrating project from 6.X.X to AEMaaCS, it is not important that we change every Sling Scheduler but based on the use case and business criticality, Architects or Leads can take the decision. For example, if some scheduler runs in every 15 minutes or it runs to update the oak index or to clean up the nodes, these scheduler can be left as it is and update them later but if something is business critical and need to be sure that it runs at least one time then Sling Scheduled Job comes in handy.