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
Quick Intro
• Bhuvaneswari Subramani (Bhuvana)
• Director, Software Development, Infor
• AWS Hero since 2019
• Organizer, AWS User Group Bengaluru
https://bhuvana.pro
/bhuvanas
@installjournal
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
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Feature Driven Development
(Quality Based, Parallel
Development)
Feature Driven (Quality Boxed)
[ALPHA]
(xx.3.0)
(xx.3.1-r) (xx.4.0-r)
(xx.4.0)
[RCT]
[PROD]
(alpha)
(prod)
(rct)
(weekly)
[WEEKLY]
(xx.3.0-r)
(xx.3.1) (xx.4.0)
(xx.3.0)
Conventions
[] = environment
() = branch
= code-flow
= promote
() = release timeline
-w = weeks before major
release
- 7w
Branching Strategy
0 w
(xx.3.0)
(xx.2.0)
Feature Driven (Quality Boxed)
[ALPHA]
[Feature 2]
[Feature 1 ]
(feat-n)
(xx.3.0)
(xx.3.1-r) (xx.4.0-r)
(xx.4.0)
[RCT]
[PROD]
(feat-a)
(feat-b)
[Feature n]
(alpha)
(prod)
(rct)
(weekly)
[WEEKLY]
(xx.3.0-r)
(xx.3.1) (xx.4.0)
(xx.3.0)
Conventions
[] = environment
() = branch
= code-flow
= promote
() = release timeline
-w = weeks before major
release
- 7w
Branching Strategy
0 w
{create}
+
{rebase}
*
{promote}
*
{create}
+
(xx.3.0)
(xx.2.0)
Full fledged Test Environment
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
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The Role of AWS
6 Strategies for Migration Applications to Cloud
Rehosting
Replatforming
Repurchasing
Refactoring
Retire
Retain
6Rs
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
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
Feature Test Environment in 4 Regions
Total Env : 442
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Feature Test Env –
Lifecycle
Feature Test Environment (FTE) - Lifecycle
Create
Build &
Deploy
Test Shutdown Delete
FTE – Create new Environment
Create
Build &
Deploy
Test Shutdown Delete
Power
Down
Launch
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
FTE – Build & Deploy
Create
Build &
Deploy
Test Shutdown Delete
Create
Build &
Deploy
Test Shutdown Delete
FTE – Built-In Test Automation
Create
Build &
Deploy
Test Shutdown Delete
FTE – Built-In Test Automation
FTE – Shutdown
Create
Build &
Deploy
Test Shutdown Delete
Feature Test Environment (FTE) - PowerDown
Create
Build &
Deploy
Test Shutdown Delete
Power
Down
Launch
“activity based”
shutdown rules
FTE – End of life - Delete
Create
Build &
Deploy
Test Shutdown Delete
F T E Time lin e
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!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Feature Test Env –
Build & Deploy
FTE Build
FTE Deploy
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
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Benefits of Move to AWS
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
How useful is the move to AWS ?
Reliability
Elasticity
Cost
Optimization
Security
Reliability - On-Demand Low-latency FTEs guaranteed using IaC
Total Env : 442
Great Elasticity in FTEs using AWS
Create Environments On-Demand
Tear down at End of Feature Development
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
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
Bhuvaneswari Subramani
https://bhuvana.pro
/bhuvanas
@installjournal

An Insight Into Cloud Migration Story

  • 1.
    An Insight intoCloud 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 • BhuvaneswariSubramani (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
  • 4.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Feature Driven Development (Quality Based, Parallel Development)
  • 5.
    Feature Driven (QualityBoxed) [ALPHA] (xx.3.0) (xx.3.1-r) (xx.4.0-r) (xx.4.0) [RCT] [PROD] (alpha) (prod) (rct) (weekly) [WEEKLY] (xx.3.0-r) (xx.3.1) (xx.4.0) (xx.3.0) Conventions [] = environment () = branch = code-flow = promote () = release timeline -w = weeks before major release - 7w Branching Strategy 0 w (xx.3.0) (xx.2.0)
  • 6.
    Feature Driven (QualityBoxed) [ALPHA] [Feature 2] [Feature 1 ] (feat-n) (xx.3.0) (xx.3.1-r) (xx.4.0-r) (xx.4.0) [RCT] [PROD] (feat-a) (feat-b) [Feature n] (alpha) (prod) (rct) (weekly) [WEEKLY] (xx.3.0-r) (xx.3.1) (xx.4.0) (xx.3.0) Conventions [] = environment () = branch = code-flow = promote () = release timeline -w = weeks before major release - 7w Branching Strategy 0 w {create} + {rebase} * {promote} * {create} + (xx.3.0) (xx.2.0)
  • 7.
    Full fledged TestEnvironment
  • 8.
    Timelines for afeature 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
  • 9.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. The Role of AWS
  • 10.
    6 Strategies forMigration Applications to Cloud Rehosting Replatforming Repurchasing Refactoring Retire Retain 6Rs
  • 11.
    Creating the initialFTE 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
  • 13.
    Feature Test Environmentin 4 Regions Total Env : 442
  • 14.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Feature Test Env – Lifecycle
  • 15.
    Feature Test Environment(FTE) - Lifecycle Create Build & Deploy Test Shutdown Delete
  • 16.
    FTE – Createnew Environment Create Build & Deploy Test Shutdown Delete Power Down Launch
  • 17.
    FTE – Createnew 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
  • 18.
    FTE – Build& Deploy Create Build & Deploy Test Shutdown Delete
  • 19.
    Create Build & Deploy Test ShutdownDelete FTE – Built-In Test Automation
  • 20.
    Create Build & Deploy Test ShutdownDelete FTE – Built-In Test Automation
  • 21.
    FTE – Shutdown 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 – Endof life - Delete Create Build & Deploy Test Shutdown Delete F T E Time lin e
  • 24.
    Running 100s ofEnvironments… • 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!
  • 25.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Feature Test Env – Build & Deploy
  • 26.
  • 27.
  • 28.
    FTE – Elasticityin 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
  • 29.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Benefits of Move to AWS
  • 30.
    What did weachieve ? • 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 isthe move to AWS ? Reliability Elasticity Cost Optimization Security
  • 32.
    Reliability - On-DemandLow-latency FTEs guaranteed using IaC Total Env : 442
  • 33.
    Great Elasticity inFTEs using AWS Create Environments On-Demand Tear down at End of Feature Development
  • 34.
    Cost Optimization • Majorchallenge 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 servicesto perform single sign-on across the organization • Restricted access to Dev, QA & Admins based on IAM Groups integrated with Corporate login credentials
  • 36.