Questions to determine the cloud readiness of your application to move to the cloud
Q0 - Pick an appropriate path to the cloud:
1. Java Buildpack
2. TomEE Buildpack
3. JBOSS Buildpack
4. Liberty Buildpack
5. WebLogic Buildpack
6. Fat jar (Bundle app server with app)
7. Docker
Q1 - Does the application rely on persistent file system ? Do you expect the file system to persist across restarts.
- Disk Caches
- Transaction Logs
- Harcoded File Paths
- Any java.io.* use needs to be looked at
Q2 - Does the app rely on non HTTP inbound protocol routing.
- TCP support coming in the near future
Q3 - Does the app take a long time to start or stop
- any dependencies or semantic ordering between apps
Q4 - Does the app use any native code libs
- Those libs need to be recompiled for the PCF Stemcell
Q5 - Does the app require distributed XA 2-phase commit transaction ?
Q6 - Is the app packaged as an ear/war/jar file ?
- JBOSS buildpack and java buildpack do not support ear files
Q7 - Configuration - How is the app configured.
- Hardcoded property files
- Generate one artifact configured based on the environment
- Where is the config coming from
Q8 - All logging to stdout/stderr
- No log persistence
- Use Console appenders
Q9 - What do you use for monitoring today
- Any agents installed on the OS wont work
- Agents have to bundled with the app or the app server or the buildpack
Q10 - Size of app should be ideally less than 250MB
- More than that then you have issues with scaling and cf push
Q11 - Favor external caching instead of in-jvm Caches
- all caching should be done in a distributed cache outside the app JVM
- in-JVM caches are transient
- all state to be managed outside the app via backing services
- punch firewall holes for all backing services
Q12 - Libraries and Frameworks
- Use cloud native / cloud friendly frameworks like Spring Cloud etc.?
Q13 - Does your app need specialized hardware in terms of specific CPU/Memory/Disk resources
- Dependency on specific JVMS/JDKs ?
Q14 - No app server specific HA/Clustering or Administration will work in CF
Q15 - OS based registry security will NOT work on the cloud
- Rely on 3rd party trust protocols like OAuth or SAML or Authentication and Authorization ?
Q0 - Pick an appropriate path to the cloud:
1. Java Buildpack
2. TomEE Buildpack
3. JBOSS Buildpack
4. Liberty Buildpack
5. WebLogic Buildpack
6. Fat jar (Bundle app server with app)
7. Docker
Q1 - Does the application rely on persistent file system ? Do you expect the file system to persist across restarts.
- Disk Caches
- Transaction Logs
- Harcoded File Paths
- Any java.io.* use needs to be looked at
Q2 - Does the app rely on non HTTP inbound protocol routing.
- TCP support coming in the near future
Q3 - Does the app take a long time to start or stop
- any dependencies or semantic ordering between apps
Q4 - Does the app use any native code libs
- Those libs need to be recompiled for the PCF Stemcell
Q5 - Does the app require distributed XA 2-phase commit transaction ?
Q6 - Is the app packaged as an ear/war/jar file ?
- JBOSS buildpack and java buildpack do not support ear files
Q7 - Configuration - How is the app configured.
- Hardcoded property files
- Generate one artifact configured based on the environment
- Where is the config coming from
Q8 - All logging to stdout/stderr
- No log persistence
- Use Console appenders
Q9 - What do you use for monitoring today
- Any agents installed on the OS wont work
- Agents have to bundled with the app or the app server or the buildpack
Q10 - Size of app should be ideally less than 250MB
- More than that then you have issues with scaling and cf push
Q11 - Favor external caching instead of in-jvm Caches
- all caching should be done in a distributed cache outside the app JVM
- in-JVM caches are transient
- all state to be managed outside the app via backing services
- punch firewall holes for all backing services
Q12 - Libraries and Frameworks
- Use cloud native / cloud friendly frameworks like Spring Cloud etc.?
Q13 - Does your app need specialized hardware in terms of specific CPU/Memory/Disk resources
- Dependency on specific JVMS/JDKs ?
Q14 - No app server specific HA/Clustering or Administration will work in CF
Q15 - OS based registry security will NOT work on the cloud
- Rely on 3rd party trust protocols like OAuth or SAML or Authentication and Authorization ?
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.