© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Transforming to feature-driven development
Bhuvaneswari Subramani
D V C 1 4 - 9 9 6 7 9
Director, Engineering Operations
Infor
Quick Intro
Bhuvaneswari Subramani (Bhuvana)
Director, Engineering Operations, Infor
AWS Community Hero
Organizer, AWS User Group Bengaluru
Currently working on Cloud Computing, DevOps &, Performance QA
https://installjournal.blogspot.com
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 (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
Click here 👆
or
Launch EnvArchitecture.jpg from the path
to view the Full Test Environment
Timelines for a feature Test Environment
S EPTEMBER
Feature
Development
Starts
NOVEMBER
Feature
Development
Ends
D ECEMBER
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.
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 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
Create
Build &
Deploy
Test Shutdown Delete
• Feature Test Environment is tightly integrated with Jira – feature
tracking
• Feature Test Environment can exist as long as feature passes QA
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
DownLaunch
“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.
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.
What did we achieve ?
• 250+ 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
• Next steps: Containerization to further optimize cost
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
Thank you!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Bhuvaneswari Subramani
https://www.linkedin.com/in/bhuvanas/
@installjournal
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
v 2:00 PM - 2:30 PM
Venetian, Level 2, Hall C, Expo, Developer Lounge
When moving to Feature-Driven Development (FDD), with geographically
distributed development centers, it is customary to have a dedicated light
weight environment per feature-development effort and to have robust
automation support for the build and deploy life cycle of each feature branch
at your own will.
In this session, learn about the Feature-Driven Development transition story
of a cloud-based supply chain leader that shows how AWS services helped
provide a highly scalable, elastic, and cost-effective solution to facilitate on-
demand Feature Development Environments supported by an independent
build, deployment, and test-automation framework.
12/3 v DVC14
Transforming to feature-driven
development
Bhuvaneswari Subramani
Director, Engineering Operations
Infor
AWS Community Hero

AWS reinvent 2019 - Transforming to feature-driven development

  • 2.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Transforming to feature-driven development Bhuvaneswari Subramani D V C 1 4 - 9 9 6 7 9 Director, Engineering Operations Infor
  • 3.
    Quick Intro Bhuvaneswari Subramani(Bhuvana) Director, Engineering Operations, Infor AWS Community Hero Organizer, AWS User Group Bengaluru Currently working on Cloud Computing, DevOps &, Performance QA https://installjournal.blogspot.com
  • 4.
    Agenda Feature Driven (QualityBoxed, Parallel Development) The Role of AWS Feature Test Env - Lifecycle Feature Test Env – Build & Deploy Benefits of Move to AWS
  • 5.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved.
  • 6.
    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)
  • 7.
    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)
  • 8.
    Full fledged TestEnvironment Click here 👆 or Launch EnvArchitecture.jpg from the path to view the Full Test Environment
  • 9.
    Timelines for afeature Test Environment S EPTEMBER Feature Development Starts NOVEMBER Feature Development Ends D ECEMBER 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.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved.
  • 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.
  • 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 Create Build & Deploy Test Shutdown Delete • Feature Test Environment is tightly integrated with Jira – feature tracking • Feature Test Environment can exist as long as feature passes QA
  • 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 DownLaunch “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.
  • 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.
  • 30.
    What did weachieve ? • 250+ 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 • Next steps: Containerization to further optimize cost
  • 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.
    Thank you! © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Bhuvaneswari Subramani https://www.linkedin.com/in/bhuvanas/ @installjournal
  • 37.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved.
  • 38.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. v 2:00 PM - 2:30 PM Venetian, Level 2, Hall C, Expo, Developer Lounge When moving to Feature-Driven Development (FDD), with geographically distributed development centers, it is customary to have a dedicated light weight environment per feature-development effort and to have robust automation support for the build and deploy life cycle of each feature branch at your own will. In this session, learn about the Feature-Driven Development transition story of a cloud-based supply chain leader that shows how AWS services helped provide a highly scalable, elastic, and cost-effective solution to facilitate on- demand Feature Development Environments supported by an independent build, deployment, and test-automation framework. 12/3 v DVC14 Transforming to feature-driven development Bhuvaneswari Subramani Director, Engineering Operations Infor AWS Community Hero