Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Awash with Tech

Awash with Tech

In this presentation Doug Corbett discusses five emerging technology shifts and gives some strategies in coping with the sheer magnitude of the changes occurring today.

E710a7268891ac8c9c13756fcd28fa5f?s=128

Doug Corbett

November 28, 2016
Tweet

Transcript

  1. Awash with Tech How to Keep Sane in an Ever-expanding

    World of Tech Lunch & Learn Monday November 28. 2016 Woodward Hall 130 12:30-1:45 Brought to by your friends at:
  2. Doug Corbett Senior Application Architect PMMC Doug.Corbett@pmmconline.com

  3. Agenda A Little History

  4. Agenda A Little History Getting Our Bearings At PMMC

  5. Agenda A Little History Getting Our Bearings At PMMC Agile

    CI, CD and CD NoSQL Containers Cloud
  6. Agenda A Little History Getting Our Bearings At PMMC Agile

    CI, CD and CD NoSQL Containers Parting Words Cloud
  7. A Little History I PROMISE TO KEEP IT SHORT

  8. Early 1990’s

  9. Late 1990’s JSP ASP COBOL Java Oracle Visual Basic SQL

    Server DB2 JavaScript CSS HTML
  10. JSP ASP.NET COBOL Java Oracle .NET SQL Server DB2 JavaScript

    CSS HTML Early 2000’s
  11. Late 2000’s ASP.NET JSP ASP.NET MVC PHP Java Oracle .NET

    SQL Server JavaScript CSS HTML Ruby on Rails MySQL jQuery
  12. Today WCF ASP.NET WebAPI ASP.NET JSP ASP.NET MVC PHP Java

    Oracle .NET SQL Server JavaScript CSS HTML Ruby on Rails MySQL jQuery MongoDB NodeJS Express KnockOut Angular Durandal Handlebars Aurelia Ember React SASS/SCSS Meteor RavenDB Underscore Lodash
  13. A Little About My Work at PMMC WHERE WE WERE

    AND WHERE WE WANT TO GO.
  14. Survey Results (Part 1/3)

  15. Survey Results (Part 2/3)

  16. Survey Results (Part 3/3)

  17. #1 Agile Methodology SOME SAY THIS WILL BE SYNONYMOUS WITH

    SOFTWARE DEVELOPMENT IN THE FUTURE
  18. Waterfall Requirements Analysis Design Development Testing Acceptance

  19. http://agilemanifesto.org/

  20. Notable Agile Variants LEAN - 1990 • Kaizen – continuous

    improvement • Kanban boards Extreme Programming (XP) – 1999 • Refactoring • Pair Programming • Small Releases • Testing • Continuous Builds Scrum - 2001 • Borrowed from LEAN and XP • Formalized the process with Stand-ups
  21. Agile – Scrum Variant 2-4 week sprint Build Product Backlog

    Determine sprint backlog Analysis Development Testing Acceptance Design Release Daily Stand-ups Retro- spectives Stake- holder Demo
  22. Agile – User Story Considerations • Business value • Development

    effort • Complexity • Known unknowns
  23. Agile – Observation People are bad at estimating, but are

    good at comparing.
  24. Agile – Story Priority Example 7 bv / 1 sp

    = 7 7 bv / 144 sp = 0.049 58 bv / 12 sp = 4.83 Business Value / Story Points (aka Development Effort) = Story Priority
  25. #2 NoSQL Databases REMOVES A LOT OF FRICTION POINTS DURING

    DEVELOPMENT AND PROVIDES MORE FLEXIBILITY
  26. What is a NoSQL Database?

  27. What is a NoSQL Database? Access SQL Server Oracle Ingress

    Postgress MySQL DocumentDB CouchDB MongoDB Hadoop RavenDB Graph Databases Document Databases Object Databases Neo4j ObjectDB Key-Value Databases Redis RDBMS
  28. Customer Invoices – RDBMS Style

  29. Customer Invoices – Mongo Style

  30. Benefits • Easy to refactor • Performant • Horizontal scalability

    by design • Reduced complexity • No DBA required • No need for Object Relationship Mappers (ORM) • Data is more readable "Creative Commons Fireworks" by nuic is licensed under CC BY 2.0
  31. When would I prefer a RDBMS over a document database?

  32. #3 CI, CD and the other CD IF SOMETHING IS

    HARD AND ERROR-PRONE, DO IT MORE OFTEN
  33. Continuous Integration The practice of compiling code found within a

    repository frequently.
  34. Continuous Deployment The practice of deploying a compiled solution in

    its entirety to a host or set of hosts, typically to be tested by an automated testing framework.
  35. Continuous Delivery The practice of deploying a compiled solution in

    its entirety to production servers.
  36. Automated Testing Let’s let the computers run tests instead of

    humans. Computers are more thorough, more reliable and lot quicker.
  37. #4 Containers REDUCES DEVELOPMENT FRICTION AND IMPROVES HARDWARE UTILIZATION

  38. Containerization The abstraction of software packages from the operating system

    in such a way that the software packages are logically separated from each other and the operating system.
  39. “Classic” Multiple Servers CMS Mail Server Source Control Web Server

    RDBMS Document Database Hardware OS OS OS Hardware Hardware
  40. “Classic” Resource Utilization 3 machines 1-3% CPU utilization 1GB RAM

  41. Server Usage with Virtualization Virtualization Software Hardware OS Mail Server

    Source Control web server RDBMS OS OS OS CMS Document Database
  42. Virtualization Resource Utilization 1 machine 4-12% CPU utilization 4GB RAM

  43. Server Usage with Containers SharePoint Exchange TFS IIS SQL Server

    Mongo Containerization Software Hardware OS
  44. Container-based Resource Utilization 1 machine 1-3% CPU utilization 1GB RAM

  45. Side-by-side Comparison Container based 1 machine 1-3% CPU utilization 1GB

    RAM VM based 1 machine 4-12% CPU utilization 4GB RAM “Classic” 3 machines 1-3% CPU utilization 1GB RAM
  46. Other Benefits

  47. Other Benefits 1. Spin up times are seconds, not minutes

  48. Other Benefits 1. Spin up times are seconds, not minutes

    2. Easier onboarding of new developers
  49. Other Benefits 1. Spin up times are seconds, not minutes

    2. Easier onboarding of new developers 3. Can more easily develop on local containers that match production exactly
  50. Other Benefits 1. Spin up times are seconds, not minutes

    2. Easier onboarding of new developers 3. Can more easily develop on local containers that match production exactly 4. No more “It works on my machine”
  51. Other Benefits 1. Spin up times are seconds, not minutes

    2. Easier onboarding of new developers 3. Can more easily develop on local containers that match production exactly 4. No more “It works on my machine” 5. Container removal is a total removal
  52. #5 Cloud MORE THAN JUST MARKETING HYPE … SO MUCH

    MORE.
  53. What is the Cloud? 1. Pay for what you use.

    2. Self-serve.
  54. Types of Cloud Services SaaS – Software as a service

  55. Types of Cloud Services SaaS – Software as a service

    IaaS - Infrastructure as a service
  56. Types of Cloud Services SaaS – Software as a service

    IaaS - Infrastructure as a service PaaS - Platform as a service
  57. Types of Cloud Services SaaS – Software as a service

    IaaS - Infrastructure as a service PaaS - Platform as a service CaaS - Container as a service
  58. Ways we Leverage Cloud at PMMC Team Services – PaaS

    Agile Process Management Source Code Control CI, CD Release Management Azure App Service and API Service - PaaS supporting 3 environments Dev/Test environment – IaaS Can manage startup and shutdown times Allows developers to spin up servers as needed Windows 2012 RS Server VM with Mongo – IaaS
  59. Parting Words .

  60. Trite Aphorisms Stay Curious! Apply yourself! Don’t get comfortable.

  61. Less-Trite Aphorisms With Some Teeth Your first job sets the

    tone for the rest of your career.
  62. Less-Trite Aphorisms With Some Teeth Your first job sets the

    tone for the rest of your career. Master something you are interested in and get a project doing that. Rinse and repeat.
  63. Less-Trite Aphorisms With Some Teeth Your first job sets the

    tone for the rest of your career. Master something you are interested in and get a project doing that. Rinse and repeat. Embrace contracting or consulting. Job security is based more on your technical skills and people skills than seniority.
  64. Less-Trite Aphorisms With Some Teeth Your first job sets the

    tone for the rest of your career. Master something you are interested in and get a project doing that. Rinse and repeat. Embrace contracting or consulting. Job security is based more on your technical skills and people skills than seniority. Read, listen to podcasts and find mentors.
  65. Thank you! Doug Corbett Senior Application Architect PMMC Doug.Corbett@pmmconline.com