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

Introduction to Cloud Native Development

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Introduction to Cloud Native Development

First Meetup of the Cloud Native Development Group in Dortmund

The presentation gives a brief introduction to the challenges of Cloud Native Development – technology and culture wise. It targets a wide audience from developer to managers who are interested into Cloud Native technology and lessons learned from other teams.

https://www.meetup.com/de-DE/Cloud-Foundry-und-Cloud-Native-Dortmund/

Avatar for Christopher Klewes

Christopher Klewes

April 25, 2019

Other Decks in Programming

Transcript

  1. 2 Registrierung, Ankommen, erster Austausch Begrüßung, Vorstellung der Gruppe und

    Teilnehmer Einführung in das Thema Cloud-Native Diskussion & Fragen Ausblick und Zusammenfassung, Ende des offiziellen Teils Networking und Austausch Introduction to Cloud Native Development #1 17:45 Uhr 18:00 Uhr 18:15 Uhr 19:00 Uhr 19:15 Uhr 19:30 Uhr
  2. • Cloud is a competitive advantage • Flexibility • Let

    developers do their best work • Align operations with the business Why Cloud-Native Applications Matter
  3. A late change in requirements is a
 competitive advantage! Mary

    Poppendieck Author of Lean Software Development
  4. MVP – If you're not embarrassed of your first release,

    you're doing it wrong! Reid Hoffman LinkedIn co-founder and former PayPal COO
  5. { Show a cattle (maybe hundreds of sheeps) } Treat

    your servers like cattle, not pets. https://medium.com/@Joachim8675309/devops-concepts-pets-vs-cattle-2380b5aab313
  6. 18 The dark side of the cloud Failures & Outtakes

    Lost data & Not so great scaling
  7. Because you brought your knowledge of building traditional applications to

    the cloud. You didn’t unlearn. Your app is not a native citizen of the cloud.
  8. { Show pebble stone } By Sean the Spook at

    English Wikipedia, CC BY-SA 3.0
  9. Don’t even consider microservices unless you have a system that’s

    too complex to manage as a monolith. Martin Fowler
 Speaker and Author for Enterprise Software Design
  10. 1. Codebase: One codebase tracked in revision control, many deploys

    2. Dependencies: Explicitly declare and isolate dependencies 3. Configuration: Store configuration in the environment 4. Backing Services: Treat backing services as attached resources 5. Build, release, run: Strictly separate build and run stages 6. Processes: Execute the app as one or more stateless processes 7. Port binding: Export services via port binding 8. Concurrency: Scale out via the process model 9. Disposability: Maximize robustness with fast startup and graceful shutdown 10. Dev/prod parity: Keep development, staging, and production as similar as possible 11. Logs: Treat logs as event streams 12. Admin processes: Run admin/management tasks as one-off processes 12 Factor App https://12factor.net/
  11. 1. One codebase, one application 2. API first 3. Dependency

    management 4. Design, build, release, and run 5. Configuration, credentials, and code 6. Logs 7. Disposability 8. Backing services 9. Environment parity 10. Administrative processes 11. Port binding 12. Stateless processes 13. Concurrency 14. Telemetry 15. Authentication and authorization https://www.cdta.org/sites/default/files/awards/beyond_the_12-factor_app_pivotal.pdf
  12. The cultural change is evenly important We see teams …

    • with fixed deployment plans forced on them (once every 6, 8 or even 10 weeks) • suffering from the broken window theory 
 (Meh, the build is broken again, let's just bypass the tests) • still pushing their quality check until a big UAT phase in the end • not having a product owner / operations guy / designer at their team • …
  13. One idea for cultural change: eXtreme Programming Increase Speed •

    Small Batch Thinking • Continuous Pair-Programming • Test Driven Development • Change from Project to Product Mindset Reduce risk to develop something that isn't used • Agile helps you to build the product right • User Centered Design helps you to build the right product
  14. 37 Registrierung, Ankommen, erster Austausch Begrüßung, Vorstellung der Gruppe und

    Teilnehmer Einführung in das Thema Cloud-Native Diskussion & Fragen Ausblick und Zusammenfassung, Ende des offiziellen Teils Networking und Austausch Cloud Foundry & Cloud- Native Dortmund. #1 17:45 Uhr 18:00 Uhr 18:15 Uhr 19:00 Uhr 19:15 Uhr 19:30 Uhr