1. An Insight into Cloud Migration Story
Bhuvaneswari Subramani
• D i r e c t o r , S o f t w a r e D e v e l o p m e n t
• I n f o r
2. Quick Intro
• Bhuvaneswari Subramani (Bhuvana)
• Director, Software Development, Infor
• AWS Hero since 2019
• Organizer, AWS User Group Bengaluru
https://bhuvana.pro
/bhuvanas
@installjournal
3. Agenda
• Feature Driven (Quality Boxed, Parallel Development)
• The Role of AWS
• Feature Test Env - Lifecycle
• Feature Test Env – Build & Deploy
• Benefits of Move to AWS
8. Timelines for a feature Test Environment
S EPTEM B ER
Feature
Development
Starts
NOV EM B ER
Feature
Development
Ends
D EC EM B ER
Feature branch merged
to Alpha
S EP- NOV
FTE in-testing
D EC
QA Signs-off the
feature
D EC
FTE deleted
S EP
FTE created
10. 6 Strategies for Migration Applications to Cloud
Rehosting
Replatforming
Repurchasing
Refactoring
Retire
Retain
6Rs
11. Creating the initial FTE Subset
VM export /
import
Datacenter Environment
Windows Peer
• win_app
• Multi-
datasource
cluster
Linux Peer
• lin_app
• Multi-
datasource
cluster
Corporate data center
https://<fteid>.fte.gtnexus.info
AWS Cloud
Availability Zone
VPC
Public subnet
Internet gateway
Windows
Peer
Linux
Peer
Feature Test Env
FTE Users
12. Feature Test Environment - Usage
https://<fteid>.fte.gtnexus.info
AWS Cloud
Availability Zone
VPC
Public subnet
Internet gateway
Windows
Peer
Linux
Peer
Feature Test Env
FTE Users
DMVPN
Corporate Network
SAML 2.0 SSO
with Multifactor
Authentication
CloudOps / Admin
16. FTE – Create new Environment
Create
Build &
Deploy
Test Shutdown Delete
Power
Down
Launch
17. FTE – Create new Environment
• Feature Test Environment is tightly integrated with Jira – feature tracking
• Feature Test Environment can exist as long as feature passes QA
Create
Build &
Deploy
Test Shutdown Delete
22. Feature Test Environment (FTE) - PowerDown
Create
Build &
Deploy
Test Shutdown Delete
Power
Down
Launch
“activity based”
shutdown rules
23. FTE – End of life - Delete
Create
Build &
Deploy
Test Shutdown Delete
F T E Time lin e
24. Running 100s of Environments…
• Controlled updates is a costly affair. How did we get past that?
• Seamless upgrade with new feature
• Command line utilities - lfte
up, down, reboot, remove, ssh, exe, connect, disconnect
• Environment owner can create a new Env from updated AMIs from the region closer to them
• Migrate their data from old to new with automated precisions
lfte migrate --yes --source <fteid> --target <fteid> -v
• Software upgrades, fixpacks, new product features are easier now!
28. FTE – Elasticity in Build & Deploy Infra
Build Node
5 executors
per build
node
Scales Up &
Down based
on executors
Deploy
Node
20 executers
per deploy
node
Scales Up &
Down based
on executors
30. What did we achieve ?
• 400+ QA accessible test environments; per Feature
• 250+ Features in overlapping parallel development efforts
• Feature can be quality boxed (or time boxed).
• Allows hooks for automation and contrast testing
• Allows for Integration branches - test multiple features together earlier
31. How useful is the move to AWS ?
Reliability
Elasticity
Cost
Optimization
Security
33. Great Elasticity in FTEs using AWS
Create Environments On-Demand
Tear down at End of Feature Development
34. Cost Optimization
• Major challenge with elastic environments is the need to manage
costs
• AWS Cost Optimization
• Reserved Instances
• Activity monitor to auto-shutdown the environments idle for 6 hrs, terminate Build Node for 58
mins & DeployNode for 30 mins
• Lambda scheduled with CloudWatch events to notify expired FTEs to the owners
• Tagging plays a crucial role for all exemptions
35. Security
• Federated services to perform single sign-on across the organization
• Restricted access to Dev, QA & Admins based on IAM Groups integrated
with Corporate login credentials