2. Background This talk is geared for State IT/App Dev
Managers. Many of these ideas apply to all. Who am I? IT Consulting
on state app dev projects for past 10 years Private IT Application
Development for 13 years before that.
3. Background Why this talk? Difficult to replace legacy
applications in the State Massive RFP costs High risk, in a
risk-averse environment Difficult to field new self-service
applications Technology Complexity Security Infrastructure
cost/commitment New options in Application Development to empower
teams New Processes New Tools New Infrastructure
4. Whats Changed? Whats changed to empower teams in new ways?
New Processes New Tools New Infrastructure
5. New Processes Agile development principles Agile -- Fixed
scope over short development cycles Team ownership Favors working
product over documentation Rapid feedback loop accelerates team
learning (Get the rhythm faster) Expose problem areas earlier and
reduce risk faster (Many good books: see Agile Project Management
with Scrum by Ken Schwaber) Continuous integration Frequent (daily
or more) builds Automated testing Goal is to reduce amount of
backward steps, and do it quickly
6. New Processes New Tools Open Source for frictionless
evaluation/learning Application Development Frameworks Enterprise
Grade Platform neutral (both Java and .NET) Include transaction
support, logging, security, etc. Automates tedious tasks (e.g. CRUD
creation, REST setup) Build & Delivery Tools Automated
Testing
7. New Processes New Tools (cont.) Git and Github -- source
code management (scm) and distributed sharing Git: git-scm.com
Eclipse, Maven -- IDE and dependency management / build management
Jenkins, and Chef for continuous integration and devOps Maven for
Eclipse: http://www.eclipse.org/m2e/ More build/deployment
management (just info, not using here) Jenkins:
https://jenkins-ci.org/ Chef: https://www.chef.io/ Spring Boot MVC
framework An opinionated view gives you what they think you need,
and makes assumptions. Spring Boot:
http://projects.spring.io/spring-boot/ (Whats up with all the
names? ElasticSearch, Gemfire, Undertow, HornetQ, Atomikos) Junit,
Protractor -- unit and e2e testing Angular.js presentation layer
Angular: www.Angularjs.org (includes protractor e2e testing) No
question: theres a learning curve to all these tools
8. New Processes New Tools New Infrastructure AWS hosting
enables: Instantaneous build up and tear down Scalability Testing
Flexibility Setup/tear down testing environments Daily! Hourly!
Unplanned! Low cost Did I mention scalability? Less complex
planning required State rules for hosting are relaxing
9. Demo Angular Spring Boot Web Archive (WAR) Spring Controller
and Class files Aurora AWS Elastic Beanstal k AWS RDS
JavaScript-based presentation framework on browser
10. Demo
11. Demo
12. Demo (cont.) AWS Show separate environments in console Show
Elastic Beanstalk console Creation of a new EB instance
13. Demo (cont.) Show the current in AWS
http://cws-env.elasticbeanstalk.com Show services. Standalone
testing! Go to URLs
http://cws-env.elasticbeanstalk.com/app/index.html Show REST
endpoints from code http://cws-env.elasticbeanstalk.com/statuses --
Spring created http://cws-env.elasticbeanstalk.com/child/10 --
custom created Angular Complex, but dependency-injection is
powerful, and MVC-like Separation of development/testing concerns
(from core application)
14. Summary Enterprise-Grade Solutions, not just prototypes
Proven Processes Proven Frameworks/Tools Proven Infrastructure
Combination of the 3 Offer New Options Re-focus resources on
learning & implementing business needs (not procurements) 5-10X
development payback? 2yr RFP and Development at $30M+ vs. 1yr
in-house for $4-6M Faster to business value with no long
procurements (and cheaper) Specific Highlights Leverage Legacy Data
Model Testing Quickly setting up/tearing down testing environments
Separation of business rules from presentation via services/API and
front-end Reduce risk around capacity planning with dynamically
scaling up/down
15. Questions/Discussion IdM/Security Need as a service or a
replicatable model [email protected] 916.799.9115