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.

Doug Corbett

November 28, 2016
Tweet

More Decks by Doug Corbett

Other Decks in Programming

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. Agenda A Little History Getting Our Bearings At PMMC Agile

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

    CI, CD and CD NoSQL Containers Parting Words Cloud
  4. Late 2000’s ASP.NET JSP ASP.NET MVC PHP Java Oracle .NET

    SQL Server JavaScript CSS HTML Ruby on Rails MySQL jQuery
  5. 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
  6. 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
  7. 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
  8. 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
  9. #2 NoSQL Databases REMOVES A LOT OF FRICTION POINTS DURING

    DEVELOPMENT AND PROVIDES MORE FLEXIBILITY
  10. 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
  11. 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
  12. #3 CI, CD and the other CD IF SOMETHING IS

    HARD AND ERROR-PRONE, DO IT MORE OFTEN
  13. 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.
  14. Automated Testing Let’s let the computers run tests instead of

    humans. Computers are more thorough, more reliable and lot quicker.
  15. 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.
  16. “Classic” Multiple Servers CMS Mail Server Source Control Web Server

    RDBMS Document Database Hardware OS OS OS Hardware Hardware
  17. Server Usage with Virtualization Virtualization Software Hardware OS Mail Server

    Source Control web server RDBMS OS OS OS CMS Document Database
  18. Server Usage with Containers SharePoint Exchange TFS IIS SQL Server

    Mongo Containerization Software Hardware OS
  19. 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
  20. Other Benefits 1. Spin up times are seconds, not minutes

    2. Easier onboarding of new developers
  21. 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
  22. 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”
  23. 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
  24. Types of Cloud Services SaaS – Software as a service

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

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

    IaaS - Infrastructure as a service PaaS - Platform as a service CaaS - Container as a service
  27. 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
  28. 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.
  29. 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.
  30. 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.