Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ......
Transcript of Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ......
![Page 1: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/1.jpg)
Cloud First Application DevelopmentLunchtime LearningDecember 8, 2016
![Page 2: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/2.jpg)
2ISC’s Cloud First Program
Core TeamApplication Design & Tools
Architecture, Infrastructure, &
MigrationIntegration
Communications & Engagement
Org Transformation
Contracts & Procurement
Security
IAM
Funding & Finance
Client Engagement
![Page 3: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/3.jpg)
3Integration: What (review)
Two primary flavors Authentication and authorization
• PennKey/SAML• PennGroups• Penn Community
Application-specific data• Data into applications (think student enrollment data into Canvas, or
employee job data into KnowledgeLink)• Data out of applications, to other applications or to reporting and
analytics environments like the Data Warehouse
![Page 4: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/4.jpg)
4Integration: Current State Primarily point-to-point integration between
SaaS, hosted, on-prem solutions and/or data warehouse
Variety of technical approaches PL/SQL / Oracle tool approaches Java / FAST / other development environments Mule / ESB Penn Community APIs
In most cases, dependent on highly-skilled developers
![Page 5: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/5.jpg)
5Integration: Goals Toolset that will accommodate Use by business analysts / non-programmers Support Warehouse needs Support SaaS implementations with support for data to/from
on-prem sources Support Penn-developed applications Support intra-application integrations (B2B / SaaS-to-SaaS)
Processes and documentation on standard usage for the tools we acquire
Integration Service supporting needs across ISC and the University’s schools and centers
![Page 6: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/6.jpg)
6Integration: work to date Lessons learned (nothing surprising) Most vendors of SaaS solutions we use don’t have great API/web
service platforms RFI/RFP content for Penn-wide consumption ETL tool acquisition effort in progress Currently working on live proof-of-concept use cases with two
vendors Both vendor solutions meet multiple needs which may provide
integration solution(s) for cloud-based services Research into other integration directions iPaaS, mPaaS, xXaas . . . This is a rapidly evolving product space; evaluation pending
available expertise/resources
![Page 7: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/7.jpg)
7Today
Why change so much? What’s our project? Updates and demos Technology Stack: Matt Schleindl Behavior and Test Driven Development: Sam Donnelly Agile Development: Lisa McBriar
![Page 8: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/8.jpg)
8What goes into an app
A user interfaceWhat people see
![Page 9: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/9.jpg)
9But there’s a lot more lurking…
…Technical Debt
![Page 10: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/10.jpg)
10What goes into an app
Business logicActual value
![Page 11: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/11.jpg)
11What goes into an app
AuthN and AuthZSecurity
![Page 12: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/12.jpg)
12What goes into an app
Persistence and data storesMaking it all matter
![Page 13: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/13.jpg)
13What goes into an app
Integration pointsPlaying well with others
![Page 14: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/14.jpg)
14What goes into an app
TestingProof it’s doing what it should be
![Page 15: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/15.jpg)
15What goes into an app
A source repositoryStorage for code and config
![Page 16: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/16.jpg)
16What goes into an app
Deployment pipelineGetting built and available
![Page 17: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/17.jpg)
17What goes into an app
A platformSomewhere to run and scale
![Page 18: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/18.jpg)
18That’s a lot of stuff
User interface Business logic Authentication and security Persistence and data stores Integration points Testing Source repository Deployment pipeline Platform
![Page 19: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/19.jpg)
19Until now…
We’ve built these ourselves And VERY successfully so! Like many, many others With full control Minimal short-term risk One language Unique ISC terminology
As 3-tier monolithic appsFAST framework and LCF
![Page 20: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/20.jpg)
20And for each one of those pieces…We have to:
Provide help, support, and examples Train and gain mindshare Build components and modules Maintain security Incorporate new technologies Innovate and revamp React to industry changes Test and roll out
![Page 21: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/21.jpg)
21We can’t keep up
A handful of architects…
… as only a part of their responsibilities
![Page 22: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/22.jpg)
22
>
![Page 23: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/23.jpg)
23Modern applications are… No longer self-
contained Think service areas Finance Student systems HR Research
Composed of small pieces Reusable Built that way Deployed that way
Looser Coupling, More Flexible/Portable, More Complex Outer Architecture
Tighter Coupling, Less Flexible/Portable, Less Complex Outer Architecture
Monolithic App
Data Store
WAR/EAR
App Server
MicroservicesService A
Runtime
Data Store
Service B
Runtime
Data Store
Service C
Runtime
Data Store
Service D
Runtime
Data Store
Service E
Runtime
Data Store
Coarse-Grained Services
Data Store
App Server
ServiceDomain
ServiceDomain
DataStore
ServiceDomain
Runtime
![Page 24: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/24.jpg)
24And each one is… Broken down even
more An assembly of others’
work Open source Vendor products PaaS, SaaS, modules
Small, disposable pieces
Automation
DevOps
Cloud-Ready/Cloud-Native PlatformAPI
Platform API
PolicyManagement
ConsumerIdentityProvider
API Gateway
BuildAutomation
PlatformAutomation
DeploymentAutomation
AdaptiveUI
ModularizedUI Components
ModularizedClient ApplicationLogic
JSJS
JSJS
Web Client
Persistence Services
Logging andDiagnostics
Monitoring and Alerting
Security
RuntimeManagement
ElasticScaling
?
Loosely CoupledServices/Microservices Platform Capabilities
Service A
Instance 1
Instance n
Instance 1
Instance n
Service B
LoadBalancing
![Page 25: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/25.jpg)
25The result is a conscious choice We built these ourselves And VERY successfully so! Like many, many others Full control Minimal short term risk One language Unique ISC terminology
Someone else built it And VERY successfully so! Like many, many others Less control More short-term risk More languages Common terminology More time spent on the parts
people see, not frameworks!!!
![Page 26: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/26.jpg)
26Working this way also means… New processes Agile development Automated testing Service-oriented delivery model Microservices DevOps Architecture lifecycle management Open source engagement
![Page 27: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/27.jpg)
27
So what is this project?
![Page 28: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/28.jpg)
28First of all… who:
Tim Bouffard, Application Architect Sam Donnelly, Sr. Application Developer Bryan Hopkins, Sr. IT Project Leader Anome Mammes, Sr. Application Developer Lisa McBriar, Sr. Business Systems Analyst Matt Schleindl, Application Architect
![Page 29: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/29.jpg)
29So… what is this project? Agile development Automated testing Service-oriented
architecture Microservices DevOps Architecture lifecycle
management Open source engagement
User interface Business logic Authentication and security Persistence API platform Testing Source repository Deployment pipeline Platform and scaling
![Page 30: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/30.jpg)
30So… what is this project?
![Page 31: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/31.jpg)
31Work iteratively
Pull from Backlog
• Based on ISC priorities
Define Criteria
• Identify methodology
• Identify technologies
Build and Evaluate
• Hands-on experience
• Assign scores
Pilot(s)
• Best-of-breed implementation
• Test assumptions
![Page 32: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/32.jpg)
32
Yeah but where are we now?
![Page 33: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/33.jpg)
33Yeah but where are we now?
https://www.isc.upenn.edu/cloud-first-application-delivery-refresh
![Page 34: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/34.jpg)
34Results – UI Framework
0.00%
20.00%
40.00%
60.00%
80.00%
100.00%Accessibility
Community andModules
Cost
Design for Cloud
DevelopmentProcess and toolsKey Capabilities
Operations
Resource Pool
Stability/Viability
AngularJS + Bootstrap + YeomangeneratorPossible Points
ReactJS + Bootstrap + Webpack +Yeoman generator + Redux
![Page 35: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/35.jpg)
35Results – Server Framework
0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
60.00%
70.00%
80.00%
90.00%
100.00%Community and Modules
Cost
Data StoreCompatibility/Security
Design for Cloud
DevelopmentProcess andTools
IAM
Integration
Operations
Resource pool
Stability/Viability
Python + Django
Possible Points
NodeJS + ExpressJS
![Page 36: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/36.jpg)
36Results – Local Data Store
0.00%10.00%20.00%30.00%40.00%50.00%60.00%70.00%80.00%90.00%
100.00%Community and Modules
Cost
Design for Cloud
File Management
Key Capabilities
Operations
Resource pool
Stability/Viability
PostgreSQLPossible PointsMongoDB
![Page 37: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/37.jpg)
37Details! Decisions…
User interface: AngularJS + Bootstrap + Webpack
Business logic: Django REST Framework + Zappa
AuthN and security: NodeJS + ExpressJS + Passport-SAML
Persistence: PostgreSQL
![Page 38: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/38.jpg)
38Details! Placeholders…
API platform: AWS API Gateway Backend testing: Django TestCase + Mocha + Chai UI testing: Selenium + Karma + Gherkin Source repository: Gitlab Deployment pipeline: Jenkins Testing automation: Jenkins Platform and scaling: AWS ECS + AWS Lambda Agile development: JIRA Agile Plugin + Kanban
![Page 39: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/39.jpg)
39Not even started…
Service-oriented architecture Microservices DevOps Architecture lifecycle management Open source engagement More…
![Page 40: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/40.jpg)
40
No more slides. Demos!Technology Stack: Matt Schleindl
Behavior and Test Driven Development: Sam DonnellyAgile Development: Lisa McBriar
![Page 41: Cloud First Application Development - UPenn ISC First Application Development Lunchtime Learning ... SaaS, hosted, on-prem solutions ... •Hands-on experience •Assign scores](https://reader034.fdocuments.in/reader034/viewer/2022051801/5ae3a3f57f8b9a7b218d566d/html5/thumbnails/41.jpg)
41Comments/Questions
Questions? Website: https://www.isc.upenn.edu/cloud-first Comments and suggestions for future topics can
be sent to:[email protected]