SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Craeg K. Strong
Outline
1. About me
2. Customer Context
3. Training Solution
4. Initial Deployment Topology
5. Drawbacks
6. Re-Architecting to Serverless
7. Final Product: Tim
8. Next Steps for Tim
9. Summary & Key Takeaways
Craeg Strong § Software Development since 1988
§ Large Commercial & Government Projects
§ Kanban Coach / DevOps Engineer
§ Kanban Trainer / SpecFlow Trainer
§ Performance & Scalability Architect
§ Certified Ethical Hacker
§ New York & Washington DC Area
CTO, Ariel Partners
AKT, KCP, KMP, CSM, CSP, CSPO,
ITILv3, PMI-ACP, PMP, CLP, SPC,
ICP-ACC, ICP-ATF, PSM-II, PSK
CEH, ACP-JSW, AC-JPA, ACP-MJCP
www.arielpatners.com
cstrong@arielpartners.com
@ckstrong1
US Air Force Business and Enterprise Systems Directorate
Mission: Train all 1,200 in Directorate, ASAP
Constraints
1. All working from home
2. GFE cameras inoperative or disabled
3. All roles, all ranks
4. Widely disparate needs
Maintenance vs Development
non-Software teams
5. Many have no background in Agile
6. Many have no access to Jira
7. Borrowing Jira from another Agency
(DI2E)
8. Training in one shot
Cannot be stretched over half-days
Solution Design
1. Two-day intensive course
2. Hourly zoom fatigue breaks
3. Browser-only zero Install
4. Everyone gets their own instance
5. Way more hands-on, less lecture
6. Highly realistic scenarios
7. Don’t ignore the elephants in the room
Dependencies
Forecasting
Documentation
Program Initiation & Customer Discovery
...Let’s Bring Some Friends
What We Configured For Training
Confidential © Copyright Ariel Partners 2021
6 11/6/21
Scrumban
Automated Business Services System
ABSS
Scrum Development
Automated Civil Engineer System
ACES
Kanban O&M
AFEMS
Air Force Equipment Management System
Scaled Agile Software Development
Depot Maintenance Accounting & Production System
DMAPS
Time & Attendance Team
Defense Information Financial Mgmt System Team
Integration Engine Team
DevOps Team
7
Curated Set of Jira Plugins
No App Name Category Type
1 Ascend Integrated Color Cards for Jira Visual Boards Free
2 Okapya Software Solutions Checklist for Jira Visual Boards Commercial
3 Easy Agile User Story Maps for Jira Visual Boards Commercial
4 Atlassian Automation for Jira - Server Scripting Commercial
5 Adaptavist ScriptRunner for Jira Scripting Commercial
6 Beecom Products JSU Automation Suite for Jira
Workflows
Scripting Commercial
7 eazyBI Reports and Charts for Jira Reports Commercial
8 55 Degrees AB ActionableAgile for Jira Metrics Commercial
9 ALM Works Structure – Product Management at
Scale
Scaling Commercial
10 Fine Software JXL Spreadsheet Table Issue Editor Bulk Editing Commercial
Initial Deployment Topology
Build
Time
Configure
AWS Creds
Build
Docker
Image
Scan
Docker
Image
Smoke
Test
Image
Publish
Docker
Image
v8.14.102
Plugins
DB
Backups
Dockerfile
GitHub Action
Date Shift
Scripts
ECS Container Registry:ariel-jira-fundamentals
Run
Time
Docker Container
Instance
Postgre
SQL
Docker Container
Instance
Postgre
SQL
Docker Container
Instance
Postgre
SQL
Docker Container
Instance
Postgre
SQL
Primary Docker
Container Instance
Postgre
SQL
Docker Container
Instance
Postgre
SQL
Docker Container
Instance
Postgre
SQL
clone
aws login
clone jirastudent 1 28
. . .
Labor Intensive
Trainer Operator Support
Drawbacks with Initial Solution
• Operations person to start/stop instances with script
• Operator must have AWS CLI tools installed
full computer required, no mobile
• Provisioning a class is very slow
20 instances take up to 3 hours to spin up and validate
• Operator has to time the startup perfectly
Too soon: AWS $$ for idle instances
Too late: class is not ready
• Extra instances required in case instances crash
• Manual coordination to match students to URLs
• Trainer cannot see if student instances are healthy
• Switching a student from a dead instance is clumsy
• Primary instance constantly running: AWS $$
• If Operator does not spin down training instances
timely: AWS $$$
Costly
Re-architecting to Serverless
AWS Cloud
Infrastructure API Gateway
CloudFront
Elastic Container
Service
Elastic Container
Registry
Simple Storage
Service
Infrastructure as a
Service (IaaS) Serverless
Application Model
Container
orchestration Elastic Beanstalk Fargate Lambda Step Functions
App Services
DynamoDB Cognito CloudWatch
Web App
Redux Websockets
Application
Lifecycle
Management
Why Not Kubernetes?
• Kubernetes is designed to run distributed systems resiliently
This is not a distributed system. Quite the opposite– everything in one Docker
• Kubernetes automatically scales your app
We don’t need scaling. Everyone has their own unique instance
• Kubernetes automatically restarts in case of failure
We don’t need auto-restart. It is a better user experience to switch to a hot standby instance
• Kubernetes has a steep learning curve
• Kubernetes would increase complexity, cost
• Kubernetes could be added later if needed, under Fargate
Fargate has hypervisor isolation; Kubernetes alone only has kernel level isolation
Bottom Line: Kubernetes is overkill;
it is not the right solution for this use case
Web App Improvements
Web App
Why?
1. React: Preact not compatible with
some libraries
2. Redux: Need Sophisticated State
Management
3. MaterialUI: Need Rich Widget Set
4. Typescript: Helps Manage
Complexity
5. Websockets: superior performance
and scalability over polling
Benefits
1. Much more user friendly and
intuitive
2. Supports Non-Technical Users
3. Nothing to install, 100% browser
based
4. No more “security through
obscurity” à Proper Authentication
and Authorization
Redux Websockets
App Services Improvements
Why?
1. Go: Only Python, Go, Java have
native support in AWS. Go has
fastest startup time and better
inherent reliability
2. DynamoDB: For storing metadata
about an instance e.g., student
name, title, email, instance URL
3. CloudWatch: For monitoring
instance metrics e.g., CPU, disk,
memory
Benefits
1. Student instances start up faster
2. Trainers can see list of students with
their instances
3. Trainers can see ranks and titles
4. Trainers can monitor instance health
5. Trainers can instantly move a
student to an available instance
6. Trainers can take attendance during
class
App Services
DynamoDB Cognito CloudWatch
Container Orchestration Improvements
Why?
1. Fargate: Auto-manages and
provisions instances, provides
metrics via CloudWatch, and pay as
you go. Full hypervisor isolation
2. Step Functions: Trigger workflows
via events or via a schedule. Keeps
Lambdas very simple by capturing
workflow and orchestration
3. Lambda: serverless single-task
microservice. very low overhead,
Benefits
1. Pay as you go, only when services
are active.
Delayed start does not cost money per
minute: step functions are pay-per-step
2. Trainers can schedule a class far in
advance, with confidence the
instances will be there when needed
3. Trainers can schedule a time after
the class to automatically delete
Container
orchestration Elastic Beanstalk Fargate Lambda Step Functions
Infrastructure as a Service (IaaS) Improvements
Why?
1. SAM: Much higher-level
constructs than Terraform.
Purpose-built to support
serverless architectures.
Benefits
1. No need to purchase or
support Terraform
Infrastructure as a
Service (IaaS) Serverless
Application Model
New Docker Image?
Just define it in YAML
Application Lifecycle Management (ALM) Improvements
Why?
1. Github Actions: Much simpler
model-- YAML versus Groovy-based
Jenkinsfile. Extensive library of
third-party actions
2. GitHub Issues: Simpler version of
Jira tickets, good enough for small
teams.
3. GitHub Wiki: Simple wiki pages
suffice for most projects
Benefits
1. Huge labor saver– no need to setup
an environment to host the build
server.
2. Much lower learning curve
3. No extra licensing costs, modest
costs if free minutes exceeded
4. Everything is in one place: one
password to remember
5. READMEs can link to wiki pages for
more information (two-way links)
Application
Lifecycle
Management
Logical Architecture
Amazon API
Gateway
(WebSockets)
Amazon API
Gateway
Lambda
REST
function
Lambda
onConnect
function
Lambda
onMessage
function
Lambda
onDisconnect
function
AWS Step
Function Start
Class
AWS Step
Function Stop
Class
Lambda Start
Class function
Lambda Stop
Class function
AWS Fargate
Amazon
CloudWatch Logs
container
insights
Amazon
DynamoDB
Persistence Layer
Amazon Cognito
Authentication
Custom
Authentication
Static website
assets (html, js,
css)
Amazon
CloudFront
TIM Users
Lambda Auth
function
Serverless Architecture
Creating a Class
AWS Step Function
Coordinates Delayed Spin-up
1) SAM Configuration File
Registers Our State Machine
3) AWS State Machine Console
Confirms Delayed Start
2) State Machine Specifies
Wait Until LaunchTimestamp
Monitoring a Class
Vision Going Forward
Training Image
Manager
Instructor-Led Training
Tools
Agile Practices
Technical Practices
Programming Languages
Certified Training
Learning
Management
System
Video On Demand
Self-Service
Setup Learning Path
Track Progress
Grading
Calendar
Course Enrollments
Print Certificates / Diplomas
Training
Management
System
Class Management
Rostering
Signups
Postings
Collect Dues
Earlybird Discounts
Marketing Campaigns
Key Takeaways
Will Serverless technology work for me? Yes, if:
§ Work is bursty; you don’t pay for downtime
§ You have workflow steps and coordination
§ You are free to rearchitect logic into lambdas
§ You can use best supported platforms (Go, Java, Js)
Is Re-architecting to optimize your use of cloud
technology worthwhile? YES
§ Huge Usability, Responsiveness Gains
§ Significant Performance and Reliability
Improvements
§ Excellent tool and API support
We started here... We ended here
Cost Savings
Will Serverless technology save
money? Yes,
§ You don’t pay for downtime
§ Services only running when they are
actually needed
§ We realized 45% savings, but YMMV
Thank You!
www.arielpartners.com
cstrong@arielpartners.com
Twitter: @arielpartners

Contenu connexe

Similaire à 20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners

Operations and Security at Cloud Scale with Amazon EC2 System Manager - AWS S...
Operations and Security at Cloud Scale with Amazon EC2 System Manager - AWS S...Operations and Security at Cloud Scale with Amazon EC2 System Manager - AWS S...
Operations and Security at Cloud Scale with Amazon EC2 System Manager - AWS S...Amazon Web Services
 
AWS Lambda from the Trenches
AWS Lambda from the TrenchesAWS Lambda from the Trenches
AWS Lambda from the TrenchesYan Cui
 
Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2kartraj
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesJosef Adersberger
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesQAware GmbH
 
SpringOne Tour: An Introduction to Azure Spring Apps Enterprise
SpringOne Tour: An Introduction to Azure Spring Apps EnterpriseSpringOne Tour: An Introduction to Azure Spring Apps Enterprise
SpringOne Tour: An Introduction to Azure Spring Apps EnterpriseVMware Tanzu
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with DockerMariaDB plc
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersAmazon Web Services
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01Scott Miao
 
devworkshop-10_28_1015-amazon-conference-presentation
devworkshop-10_28_1015-amazon-conference-presentationdevworkshop-10_28_1015-amazon-conference-presentation
devworkshop-10_28_1015-amazon-conference-presentationAlex Wu
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
Exploring Cloud Computing with Amazon Web Services (AWS)
Exploring Cloud Computing with Amazon Web Services (AWS)Exploring Cloud Computing with Amazon Web Services (AWS)
Exploring Cloud Computing with Amazon Web Services (AWS)Kalema Edgar
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)Amazon Web Services
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld
 
Andrew May - Getting Certified for Fun and Profit
Andrew May - Getting Certified for Fun and ProfitAndrew May - Getting Certified for Fun and Profit
Andrew May - Getting Certified for Fun and ProfitAWS Chicago
 
Feedback on building Production-Ready Microsoft Teams Apps
Feedback on building Production-Ready Microsoft Teams AppsFeedback on building Production-Ready Microsoft Teams Apps
Feedback on building Production-Ready Microsoft Teams AppsGuillaume Meyer
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceCloudBees
 
Azure Serverless Toolbox
Azure Serverless ToolboxAzure Serverless Toolbox
Azure Serverless ToolboxJohan Eriksson
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaSCloudBees
 
AWS re:Invent 2016: Deploying Scalable SAP Hybris Clusters using Docker (CON312)
AWS re:Invent 2016: Deploying Scalable SAP Hybris Clusters using Docker (CON312)AWS re:Invent 2016: Deploying Scalable SAP Hybris Clusters using Docker (CON312)
AWS re:Invent 2016: Deploying Scalable SAP Hybris Clusters using Docker (CON312)Amazon Web Services
 

Similaire à 20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners (20)

Operations and Security at Cloud Scale with Amazon EC2 System Manager - AWS S...
Operations and Security at Cloud Scale with Amazon EC2 System Manager - AWS S...Operations and Security at Cloud Scale with Amazon EC2 System Manager - AWS S...
Operations and Security at Cloud Scale with Amazon EC2 System Manager - AWS S...
 
AWS Lambda from the Trenches
AWS Lambda from the TrenchesAWS Lambda from the Trenches
AWS Lambda from the Trenches
 
Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
SpringOne Tour: An Introduction to Azure Spring Apps Enterprise
SpringOne Tour: An Introduction to Azure Spring Apps EnterpriseSpringOne Tour: An Introduction to Azure Spring Apps Enterprise
SpringOne Tour: An Introduction to Azure Spring Apps Enterprise
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with Docker
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to Containers
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
 
devworkshop-10_28_1015-amazon-conference-presentation
devworkshop-10_28_1015-amazon-conference-presentationdevworkshop-10_28_1015-amazon-conference-presentation
devworkshop-10_28_1015-amazon-conference-presentation
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Exploring Cloud Computing with Amazon Web Services (AWS)
Exploring Cloud Computing with Amazon Web Services (AWS)Exploring Cloud Computing with Amazon Web Services (AWS)
Exploring Cloud Computing with Amazon Web Services (AWS)
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
 
Andrew May - Getting Certified for Fun and Profit
Andrew May - Getting Certified for Fun and ProfitAndrew May - Getting Certified for Fun and Profit
Andrew May - Getting Certified for Fun and Profit
 
Feedback on building Production-Ready Microsoft Teams Apps
Feedback on building Production-Ready Microsoft Teams AppsFeedback on building Production-Ready Microsoft Teams Apps
Feedback on building Production-Ready Microsoft Teams Apps
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
 
Azure Serverless Toolbox
Azure Serverless ToolboxAzure Serverless Toolbox
Azure Serverless Toolbox
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
 
AWS re:Invent 2016: Deploying Scalable SAP Hybris Clusters using Docker (CON312)
AWS re:Invent 2016: Deploying Scalable SAP Hybris Clusters using Docker (CON312)AWS re:Invent 2016: Deploying Scalable SAP Hybris Clusters using Docker (CON312)
AWS re:Invent 2016: Deploying Scalable SAP Hybris Clusters using Docker (CON312)
 

Plus de Craeg Strong

20231019 Flight Levels Bosch Engagement Day 2023 Business Agility With Flight...
20231019 Flight Levels Bosch Engagement Day 2023 Business Agility With Flight...20231019 Flight Levels Bosch Engagement Day 2023 Business Agility With Flight...
20231019 Flight Levels Bosch Engagement Day 2023 Business Agility With Flight...Craeg Strong
 
RESPONSIVE TRAINING FOR DIGITAL TRANSFORMATIONS
RESPONSIVE TRAINING FOR DIGITAL TRANSFORMATIONSRESPONSIVE TRAINING FOR DIGITAL TRANSFORMATIONS
RESPONSIVE TRAINING FOR DIGITAL TRANSFORMATIONSCraeg Strong
 
20230829 DAFITC 2023 Agile For Leaders And Executives
20230829 DAFITC 2023 Agile For Leaders And Executives20230829 DAFITC 2023 Agile For Leaders And Executives
20230829 DAFITC 2023 Agile For Leaders And ExecutivesCraeg Strong
 
20231004 JiraCon Team Spaces In Confluence
20231004 JiraCon Team Spaces In Confluence20231004 JiraCon Team Spaces In Confluence
20231004 JiraCon Team Spaces In ConfluenceCraeg Strong
 
20231023 AgileDC Making Strategy Real with Well Crafted Outcomes
20231023 AgileDC Making Strategy Real with Well Crafted Outcomes20231023 AgileDC Making Strategy Real with Well Crafted Outcomes
20231023 AgileDC Making Strategy Real with Well Crafted OutcomesCraeg Strong
 
20230829 DAFITC 2023 Agile For Leaders And Executives
20230829 DAFITC 2023 Agile For Leaders And Executives20230829 DAFITC 2023 Agile For Leaders And Executives
20230829 DAFITC 2023 Agile For Leaders And ExecutivesCraeg Strong
 
20230622 PMINYC Modern Project Management with Lean Kanban
20230622 PMINYC Modern Project Management with Lean Kanban20230622 PMINYC Modern Project Management with Lean Kanban
20230622 PMINYC Modern Project Management with Lean KanbanCraeg Strong
 
20230622 PMIC Leveraging the 4 Disciplines of Execution & Enterprise Kanban t...
20230622 PMIC Leveraging the 4 Disciplines of Execution & Enterprise Kanban t...20230622 PMIC Leveraging the 4 Disciplines of Execution & Enterprise Kanban t...
20230622 PMIC Leveraging the 4 Disciplines of Execution & Enterprise Kanban t...Craeg Strong
 
ADDO 2022 Putting the Sec in DevSecOps for an AWS Lambda Based System
ADDO 2022 Putting the Sec in DevSecOps for an AWS Lambda Based SystemADDO 2022 Putting the Sec in DevSecOps for an AWS Lambda Based System
ADDO 2022 Putting the Sec in DevSecOps for an AWS Lambda Based SystemCraeg Strong
 
Coaching leaders: how to get it right, and how to get it really, really wrong
Coaching leaders: how to get it right, and how to get it really, really wrongCoaching leaders: how to get it right, and how to get it really, really wrong
Coaching leaders: how to get it right, and how to get it really, really wrongCraeg Strong
 
20220607 Introduction to Flight Levels
20220607 Introduction to Flight Levels20220607 Introduction to Flight Levels
20220607 Introduction to Flight LevelsCraeg Strong
 
20220824 Kanban Global Summit 2022 Now You See It! Observing Flow Using [ONLI...
20220824 Kanban Global Summit 2022 Now You See It! Observing Flow Using [ONLI...20220824 Kanban Global Summit 2022 Now You See It! Observing Flow Using [ONLI...
20220824 Kanban Global Summit 2022 Now You See It! Observing Flow Using [ONLI...Craeg Strong
 
20220621 Project Management Innovation Conference Harrisburg PA Seatbelts and...
20220621 Project Management Innovation Conference Harrisburg PA Seatbelts and...20220621 Project Management Innovation Conference Harrisburg PA Seatbelts and...
20220621 Project Management Innovation Conference Harrisburg PA Seatbelts and...Craeg Strong
 
20220216 Lean In Government Conference Harrisburg PA Agile Tool Clash of the ...
20220216 Lean In Government Conference Harrisburg PA Agile Tool Clash of the ...20220216 Lean In Government Conference Harrisburg PA Agile Tool Clash of the ...
20220216 Lean In Government Conference Harrisburg PA Agile Tool Clash of the ...Craeg Strong
 
20220329 Ariel Partners Configuring Jira For Maximum Agility
20220329 Ariel Partners Configuring Jira For Maximum Agility20220329 Ariel Partners Configuring Jira For Maximum Agility
20220329 Ariel Partners Configuring Jira For Maximum AgilityCraeg Strong
 
20220301 Atlassian Team Tour Government ArielPartners Innovative Jira Configu...
20220301 Atlassian Team Tour Government ArielPartners Innovative Jira Configu...20220301 Atlassian Team Tour Government ArielPartners Innovative Jira Configu...
20220301 Atlassian Team Tour Government ArielPartners Innovative Jira Configu...Craeg Strong
 
20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...
20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...
20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...Craeg Strong
 
20211114 Agile DevOps East Conf 2021 Bringing DevOps to an Entrenched Legacy ...
20211114 Agile DevOps East Conf 2021 Bringing DevOps to an Entrenched Legacy ...20211114 Agile DevOps East Conf 2021 Bringing DevOps to an Entrenched Legacy ...
20211114 Agile DevOps East Conf 2021 Bringing DevOps to an Entrenched Legacy ...Craeg Strong
 
20210520 MiniVAte Conference Agile Transformation at Scale Craeg Strong Ariel...
20210520 MiniVAte Conference Agile Transformation at Scale Craeg Strong Ariel...20210520 MiniVAte Conference Agile Transformation at Scale Craeg Strong Ariel...
20210520 MiniVAte Conference Agile Transformation at Scale Craeg Strong Ariel...Craeg Strong
 
20210610 AgileDevOps West Conf Bringing DevOps to an Entrenched Legacy Enviro...
20210610 AgileDevOps West Conf Bringing DevOps to an Entrenched Legacy Enviro...20210610 AgileDevOps West Conf Bringing DevOps to an Entrenched Legacy Enviro...
20210610 AgileDevOps West Conf Bringing DevOps to an Entrenched Legacy Enviro...Craeg Strong
 

Plus de Craeg Strong (20)

20231019 Flight Levels Bosch Engagement Day 2023 Business Agility With Flight...
20231019 Flight Levels Bosch Engagement Day 2023 Business Agility With Flight...20231019 Flight Levels Bosch Engagement Day 2023 Business Agility With Flight...
20231019 Flight Levels Bosch Engagement Day 2023 Business Agility With Flight...
 
RESPONSIVE TRAINING FOR DIGITAL TRANSFORMATIONS
RESPONSIVE TRAINING FOR DIGITAL TRANSFORMATIONSRESPONSIVE TRAINING FOR DIGITAL TRANSFORMATIONS
RESPONSIVE TRAINING FOR DIGITAL TRANSFORMATIONS
 
20230829 DAFITC 2023 Agile For Leaders And Executives
20230829 DAFITC 2023 Agile For Leaders And Executives20230829 DAFITC 2023 Agile For Leaders And Executives
20230829 DAFITC 2023 Agile For Leaders And Executives
 
20231004 JiraCon Team Spaces In Confluence
20231004 JiraCon Team Spaces In Confluence20231004 JiraCon Team Spaces In Confluence
20231004 JiraCon Team Spaces In Confluence
 
20231023 AgileDC Making Strategy Real with Well Crafted Outcomes
20231023 AgileDC Making Strategy Real with Well Crafted Outcomes20231023 AgileDC Making Strategy Real with Well Crafted Outcomes
20231023 AgileDC Making Strategy Real with Well Crafted Outcomes
 
20230829 DAFITC 2023 Agile For Leaders And Executives
20230829 DAFITC 2023 Agile For Leaders And Executives20230829 DAFITC 2023 Agile For Leaders And Executives
20230829 DAFITC 2023 Agile For Leaders And Executives
 
20230622 PMINYC Modern Project Management with Lean Kanban
20230622 PMINYC Modern Project Management with Lean Kanban20230622 PMINYC Modern Project Management with Lean Kanban
20230622 PMINYC Modern Project Management with Lean Kanban
 
20230622 PMIC Leveraging the 4 Disciplines of Execution & Enterprise Kanban t...
20230622 PMIC Leveraging the 4 Disciplines of Execution & Enterprise Kanban t...20230622 PMIC Leveraging the 4 Disciplines of Execution & Enterprise Kanban t...
20230622 PMIC Leveraging the 4 Disciplines of Execution & Enterprise Kanban t...
 
ADDO 2022 Putting the Sec in DevSecOps for an AWS Lambda Based System
ADDO 2022 Putting the Sec in DevSecOps for an AWS Lambda Based SystemADDO 2022 Putting the Sec in DevSecOps for an AWS Lambda Based System
ADDO 2022 Putting the Sec in DevSecOps for an AWS Lambda Based System
 
Coaching leaders: how to get it right, and how to get it really, really wrong
Coaching leaders: how to get it right, and how to get it really, really wrongCoaching leaders: how to get it right, and how to get it really, really wrong
Coaching leaders: how to get it right, and how to get it really, really wrong
 
20220607 Introduction to Flight Levels
20220607 Introduction to Flight Levels20220607 Introduction to Flight Levels
20220607 Introduction to Flight Levels
 
20220824 Kanban Global Summit 2022 Now You See It! Observing Flow Using [ONLI...
20220824 Kanban Global Summit 2022 Now You See It! Observing Flow Using [ONLI...20220824 Kanban Global Summit 2022 Now You See It! Observing Flow Using [ONLI...
20220824 Kanban Global Summit 2022 Now You See It! Observing Flow Using [ONLI...
 
20220621 Project Management Innovation Conference Harrisburg PA Seatbelts and...
20220621 Project Management Innovation Conference Harrisburg PA Seatbelts and...20220621 Project Management Innovation Conference Harrisburg PA Seatbelts and...
20220621 Project Management Innovation Conference Harrisburg PA Seatbelts and...
 
20220216 Lean In Government Conference Harrisburg PA Agile Tool Clash of the ...
20220216 Lean In Government Conference Harrisburg PA Agile Tool Clash of the ...20220216 Lean In Government Conference Harrisburg PA Agile Tool Clash of the ...
20220216 Lean In Government Conference Harrisburg PA Agile Tool Clash of the ...
 
20220329 Ariel Partners Configuring Jira For Maximum Agility
20220329 Ariel Partners Configuring Jira For Maximum Agility20220329 Ariel Partners Configuring Jira For Maximum Agility
20220329 Ariel Partners Configuring Jira For Maximum Agility
 
20220301 Atlassian Team Tour Government ArielPartners Innovative Jira Configu...
20220301 Atlassian Team Tour Government ArielPartners Innovative Jira Configu...20220301 Atlassian Team Tour Government ArielPartners Innovative Jira Configu...
20220301 Atlassian Team Tour Government ArielPartners Innovative Jira Configu...
 
20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...
20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...
20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...
 
20211114 Agile DevOps East Conf 2021 Bringing DevOps to an Entrenched Legacy ...
20211114 Agile DevOps East Conf 2021 Bringing DevOps to an Entrenched Legacy ...20211114 Agile DevOps East Conf 2021 Bringing DevOps to an Entrenched Legacy ...
20211114 Agile DevOps East Conf 2021 Bringing DevOps to an Entrenched Legacy ...
 
20210520 MiniVAte Conference Agile Transformation at Scale Craeg Strong Ariel...
20210520 MiniVAte Conference Agile Transformation at Scale Craeg Strong Ariel...20210520 MiniVAte Conference Agile Transformation at Scale Craeg Strong Ariel...
20210520 MiniVAte Conference Agile Transformation at Scale Craeg Strong Ariel...
 
20210610 AgileDevOps West Conf Bringing DevOps to an Entrenched Legacy Enviro...
20210610 AgileDevOps West Conf Bringing DevOps to an Entrenched Legacy Enviro...20210610 AgileDevOps West Conf Bringing DevOps to an Entrenched Legacy Enviro...
20210610 AgileDevOps West Conf Bringing DevOps to an Entrenched Legacy Enviro...
 

Dernier

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Dernier (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners

  • 2. Outline 1. About me 2. Customer Context 3. Training Solution 4. Initial Deployment Topology 5. Drawbacks 6. Re-Architecting to Serverless 7. Final Product: Tim 8. Next Steps for Tim 9. Summary & Key Takeaways
  • 3. Craeg Strong § Software Development since 1988 § Large Commercial & Government Projects § Kanban Coach / DevOps Engineer § Kanban Trainer / SpecFlow Trainer § Performance & Scalability Architect § Certified Ethical Hacker § New York & Washington DC Area CTO, Ariel Partners AKT, KCP, KMP, CSM, CSP, CSPO, ITILv3, PMI-ACP, PMP, CLP, SPC, ICP-ACC, ICP-ATF, PSM-II, PSK CEH, ACP-JSW, AC-JPA, ACP-MJCP www.arielpatners.com cstrong@arielpartners.com @ckstrong1
  • 4. US Air Force Business and Enterprise Systems Directorate
  • 5. Mission: Train all 1,200 in Directorate, ASAP Constraints 1. All working from home 2. GFE cameras inoperative or disabled 3. All roles, all ranks 4. Widely disparate needs Maintenance vs Development non-Software teams 5. Many have no background in Agile 6. Many have no access to Jira 7. Borrowing Jira from another Agency (DI2E) 8. Training in one shot Cannot be stretched over half-days Solution Design 1. Two-day intensive course 2. Hourly zoom fatigue breaks 3. Browser-only zero Install 4. Everyone gets their own instance 5. Way more hands-on, less lecture 6. Highly realistic scenarios 7. Don’t ignore the elephants in the room Dependencies Forecasting Documentation Program Initiation & Customer Discovery ...Let’s Bring Some Friends
  • 6. What We Configured For Training Confidential © Copyright Ariel Partners 2021 6 11/6/21 Scrumban Automated Business Services System ABSS Scrum Development Automated Civil Engineer System ACES Kanban O&M AFEMS Air Force Equipment Management System Scaled Agile Software Development Depot Maintenance Accounting & Production System DMAPS Time & Attendance Team Defense Information Financial Mgmt System Team Integration Engine Team DevOps Team
  • 7. 7 Curated Set of Jira Plugins No App Name Category Type 1 Ascend Integrated Color Cards for Jira Visual Boards Free 2 Okapya Software Solutions Checklist for Jira Visual Boards Commercial 3 Easy Agile User Story Maps for Jira Visual Boards Commercial 4 Atlassian Automation for Jira - Server Scripting Commercial 5 Adaptavist ScriptRunner for Jira Scripting Commercial 6 Beecom Products JSU Automation Suite for Jira Workflows Scripting Commercial 7 eazyBI Reports and Charts for Jira Reports Commercial 8 55 Degrees AB ActionableAgile for Jira Metrics Commercial 9 ALM Works Structure – Product Management at Scale Scaling Commercial 10 Fine Software JXL Spreadsheet Table Issue Editor Bulk Editing Commercial
  • 8. Initial Deployment Topology Build Time Configure AWS Creds Build Docker Image Scan Docker Image Smoke Test Image Publish Docker Image v8.14.102 Plugins DB Backups Dockerfile GitHub Action Date Shift Scripts ECS Container Registry:ariel-jira-fundamentals Run Time Docker Container Instance Postgre SQL Docker Container Instance Postgre SQL Docker Container Instance Postgre SQL Docker Container Instance Postgre SQL Primary Docker Container Instance Postgre SQL Docker Container Instance Postgre SQL Docker Container Instance Postgre SQL clone aws login clone jirastudent 1 28 . . .
  • 9. Labor Intensive Trainer Operator Support Drawbacks with Initial Solution • Operations person to start/stop instances with script • Operator must have AWS CLI tools installed full computer required, no mobile • Provisioning a class is very slow 20 instances take up to 3 hours to spin up and validate • Operator has to time the startup perfectly Too soon: AWS $$ for idle instances Too late: class is not ready • Extra instances required in case instances crash • Manual coordination to match students to URLs • Trainer cannot see if student instances are healthy • Switching a student from a dead instance is clumsy • Primary instance constantly running: AWS $$ • If Operator does not spin down training instances timely: AWS $$$ Costly
  • 10. Re-architecting to Serverless AWS Cloud Infrastructure API Gateway CloudFront Elastic Container Service Elastic Container Registry Simple Storage Service Infrastructure as a Service (IaaS) Serverless Application Model Container orchestration Elastic Beanstalk Fargate Lambda Step Functions App Services DynamoDB Cognito CloudWatch Web App Redux Websockets Application Lifecycle Management
  • 11. Why Not Kubernetes? • Kubernetes is designed to run distributed systems resiliently This is not a distributed system. Quite the opposite– everything in one Docker • Kubernetes automatically scales your app We don’t need scaling. Everyone has their own unique instance • Kubernetes automatically restarts in case of failure We don’t need auto-restart. It is a better user experience to switch to a hot standby instance • Kubernetes has a steep learning curve • Kubernetes would increase complexity, cost • Kubernetes could be added later if needed, under Fargate Fargate has hypervisor isolation; Kubernetes alone only has kernel level isolation Bottom Line: Kubernetes is overkill; it is not the right solution for this use case
  • 12. Web App Improvements Web App Why? 1. React: Preact not compatible with some libraries 2. Redux: Need Sophisticated State Management 3. MaterialUI: Need Rich Widget Set 4. Typescript: Helps Manage Complexity 5. Websockets: superior performance and scalability over polling Benefits 1. Much more user friendly and intuitive 2. Supports Non-Technical Users 3. Nothing to install, 100% browser based 4. No more “security through obscurity” à Proper Authentication and Authorization Redux Websockets
  • 13. App Services Improvements Why? 1. Go: Only Python, Go, Java have native support in AWS. Go has fastest startup time and better inherent reliability 2. DynamoDB: For storing metadata about an instance e.g., student name, title, email, instance URL 3. CloudWatch: For monitoring instance metrics e.g., CPU, disk, memory Benefits 1. Student instances start up faster 2. Trainers can see list of students with their instances 3. Trainers can see ranks and titles 4. Trainers can monitor instance health 5. Trainers can instantly move a student to an available instance 6. Trainers can take attendance during class App Services DynamoDB Cognito CloudWatch
  • 14. Container Orchestration Improvements Why? 1. Fargate: Auto-manages and provisions instances, provides metrics via CloudWatch, and pay as you go. Full hypervisor isolation 2. Step Functions: Trigger workflows via events or via a schedule. Keeps Lambdas very simple by capturing workflow and orchestration 3. Lambda: serverless single-task microservice. very low overhead, Benefits 1. Pay as you go, only when services are active. Delayed start does not cost money per minute: step functions are pay-per-step 2. Trainers can schedule a class far in advance, with confidence the instances will be there when needed 3. Trainers can schedule a time after the class to automatically delete Container orchestration Elastic Beanstalk Fargate Lambda Step Functions
  • 15. Infrastructure as a Service (IaaS) Improvements Why? 1. SAM: Much higher-level constructs than Terraform. Purpose-built to support serverless architectures. Benefits 1. No need to purchase or support Terraform Infrastructure as a Service (IaaS) Serverless Application Model New Docker Image? Just define it in YAML
  • 16. Application Lifecycle Management (ALM) Improvements Why? 1. Github Actions: Much simpler model-- YAML versus Groovy-based Jenkinsfile. Extensive library of third-party actions 2. GitHub Issues: Simpler version of Jira tickets, good enough for small teams. 3. GitHub Wiki: Simple wiki pages suffice for most projects Benefits 1. Huge labor saver– no need to setup an environment to host the build server. 2. Much lower learning curve 3. No extra licensing costs, modest costs if free minutes exceeded 4. Everything is in one place: one password to remember 5. READMEs can link to wiki pages for more information (two-way links) Application Lifecycle Management
  • 17. Logical Architecture Amazon API Gateway (WebSockets) Amazon API Gateway Lambda REST function Lambda onConnect function Lambda onMessage function Lambda onDisconnect function AWS Step Function Start Class AWS Step Function Stop Class Lambda Start Class function Lambda Stop Class function AWS Fargate Amazon CloudWatch Logs container insights Amazon DynamoDB Persistence Layer Amazon Cognito Authentication Custom Authentication Static website assets (html, js, css) Amazon CloudFront TIM Users Lambda Auth function Serverless Architecture
  • 19. AWS Step Function Coordinates Delayed Spin-up 1) SAM Configuration File Registers Our State Machine 3) AWS State Machine Console Confirms Delayed Start 2) State Machine Specifies Wait Until LaunchTimestamp
  • 21. Vision Going Forward Training Image Manager Instructor-Led Training Tools Agile Practices Technical Practices Programming Languages Certified Training Learning Management System Video On Demand Self-Service Setup Learning Path Track Progress Grading Calendar Course Enrollments Print Certificates / Diplomas Training Management System Class Management Rostering Signups Postings Collect Dues Earlybird Discounts Marketing Campaigns
  • 22. Key Takeaways Will Serverless technology work for me? Yes, if: § Work is bursty; you don’t pay for downtime § You have workflow steps and coordination § You are free to rearchitect logic into lambdas § You can use best supported platforms (Go, Java, Js) Is Re-architecting to optimize your use of cloud technology worthwhile? YES § Huge Usability, Responsiveness Gains § Significant Performance and Reliability Improvements § Excellent tool and API support We started here... We ended here
  • 23. Cost Savings Will Serverless technology save money? Yes, § You don’t pay for downtime § Services only running when they are actually needed § We realized 45% savings, but YMMV