aws meetup 062315

Click here to load reader

Upload: robb-thompson

Post on 14-Aug-2015

89 views

Category:

Documents


3 download

TRANSCRIPT

  1. 1. AWS Meetup Agile Development on AWS
  2. 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. 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. 4. Whats Changed? Whats changed to empower teams in new ways? New Processes New Tools New Infrastructure
  5. 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. 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. 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. 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. 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. 10. Demo
  11. 11. Demo
  12. 12. Demo (cont.) AWS Show separate environments in console Show Elastic Beanstalk console Creation of a new EB instance
  13. 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. 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. 15. Questions/Discussion IdM/Security Need as a service or a replicatable model [email protected] 916.799.9115