A discussion of why we write software in the first place, how we need to think about our users (more), how this related to Devops and Continuous Delivery, and what that means for today's "hot tech topic": containers and microservices
2. 2 Copyright 2014.
Agenda
▪ Why do we write software?
▪ Devops, Continuous Delivery and the Empty Chair
▪ Improve now, innovate for tomorrow
▪ “Case study:” Containers, Microservices, Docker & more
▪ Q&A
3. 3 Copyright 2014.
Why do we write software?
Why are we writing software in the first place?
4. 4 Copyright 2014.
Why do we write software?
▪ From a company perspective, to gain and retain users and customers
▪ From our perspective:
5. 5 Copyright 2014.
Why do we write software?
▪ From a company perspective, to gain and retain users and customers
▪ From our perspective:
− To support ourselves and our families?
6. 6 Copyright 2014.
Why do we write software?
▪ From a company perspective, to gain and retain users and customers
▪ From our perspective:
− To support ourselves and our families?
− To have fun?
7. 7 Copyright 2014.
Why do we write software?
▪ From a company perspective, to gain and retain users and customers
▪ From our perspective:
− To support ourselves and our families?
− To have fun?
− To learn?
8. 8 Copyright 2014.
Why do we write software?
▪ From a company perspective, to gain and retain users and customers
▪ From our perspective:
− To support ourselves and our families?
− To have fun?
− To learn?
− To grow?
9. 9 Copyright 2014.
Why do we write software?
▪ From a company perspective, to gain and retain users and customers
▪ From our perspective:
− To support ourselves and our families?
− To have fun?
− To learn?
− To grow?
− All of the above?
10. 10 Copyright 2014.
Why do we write software?
▪ From a company perspective, to gain and retain users and customers
▪ From our perspective:
− To support ourselves and our families?
− To have fun?
− To learn?
− To grow?
− All of the above?
Hopefully also, to help people.
11. 11 Copyright 2014.
Why do we write software?
▪ We care/should try to care (more) about our users.
▪ We know what a good and a bad consumer experience feels like.
▪ And, by and large, the consumer experience of software is…well…
12. 12 Copyright 2014.
Devops, Continuous Delivery and the Empty Chair
▪ What does this have to do with Devops & Continuous Delivery?
▪ Ostensibly, Devops and Continuous Delivery are about figuring out ways to
allow us to focus on the end-to-end problem of actually getting useful code to
our users
▪ This needs to start with the shared mindset that this is the problem we are trying
to solve
14. 14 Copyright 2014.
Improve now, innovate for tomorrow
▪ Dan McKinley, longtime Principal Engineer at Etsy:
“Your function in a nutshell is to map business problems onto a
solution space that involves choices of software.”
“Mindful choice of technology gives engineering minds real
freedom: the freedom to contemplate bigger questions.
Technology for its own sake is snake oil.”
Source: http://mcfunley.com/choose-boring-technology
15. 15 Copyright 2014.
Devops, Continuous Delivery and the Empty Chair
▪ Focus here is not a building stacks, but on delivering functionality
▪ Let’s think about this from the consumer’s perspective
▪ What kind of consumer experience do we expect in our daily lives?
19. 19 Copyright 2014.
Devops, Continuous Delivery and the Empty Chair
“Whether you are an individual contributor or the manager of a large team...
Customer Obsession
Leaders start with the customer and work backwards. They work vigorously to
earn and keep customer trust. Although leaders pay attention to competitors,
they obsess over customers.”
Source: http://www.amazon.com/Values-Careers-Homepage/b?node=239365011
21. 21 Copyright 2014.
Devops, Continuous Delivery and the Empty Chair
Continuous Delivery is about
making software delivery a modern experience
…the kind of experience we would want to use.
22. 22 Copyright 2014.
Improve now, innovate for tomorrow
▪ Agile/Devops/Continuous Delivery with a user-focused mindset ►incremental
improvement
“It is basically always the case that the long-term costs of keeping a system
working reliably vastly exceed any inconveniences you encounter while building
it. Mature and productive developers understand this.”
23. 23 Copyright 2014.
Improve now, innovate for tomorrow
▪ What about step changes in technology?
▪ Understanding new tech is critical to giving you a bigger, up-to-date spectrum
of possible approaches to problems
24. 24 Copyright 2014.
Improve now, innovate for tomorrow
“[Of course, you] need some means to add things to your toolbox.”
“[Consider] how you would solve your immediate problem without adding anything
new. First, posing this question should detect the situation where the "problem"
is that someone really wants to use the technology.”
“If you think you can't accomplish your goals with what you've got now, you are
probably just not thinking creatively enough. [Write] down exactly what it is about
the current stack that makes solving the problem prohibitively expensive and
difficult.”
25. 25 Copyright 2014.
Improve now, innovate for tomorrow
▪ This is an R&D activity. And Prod is not the place to be doing R&D
▪ Need scope for research within teams and organizations
27. 27 Copyright 2014.
Containers, Microservices, Docker & more
▪ Or Mesos?
▪ Or appc?
▪ On CoreOS
▪ Or RHEL?
▪ Or Docker Machine?
▪ Or RancherOS?
▪ Or ..?
▪ Under Kubernetes?
▪ Or Helios?
▪ Or Marathon?
28. 28 Copyright 2014.
Containers, Microservices, Docker & more
Nobody knows!
(or rather, those that do aren’t really telling)
29. 29 Copyright 2014.
Containers, Microservices, Docker & more
▪ Containers and microservices/mobile/IoT are really exciting
technologies
▪ …again ;-)
▪ Containers != microservices
30. 30 Copyright 2014.
Containers, Microservices, Docker & more
▪ Research? Absolutely!
▪ If you’re looking to adopting them: what is the problem you are trying to solve?
▪ Very immature and fast-moving space: Adoption only makes sense if you have a
clear problem that is really not addressable otherwise.
31. 31 Copyright 2014.
Containers, Microservices, Docker & more
Some research agenda items:
1. Storage
2. Failover
3. Delivery model
4. Release strategy
5. Ownership
6. Patching
7. Support
8. Licensing
32. 32 Copyright 2014.
More Stuff
▪ Bret Victor: “Inventing on Principle”
− https://vimeo.com/36579366
▪ Dan McKinley: “Choose Boring Technology”
− http://mcfunley.com/choose-boring-technology
▪ GE Capital CIO Snehal Antani
− https://www.youtube.com/watch?v=sR6EycJ60CE
▪ “Can we make ordering features like ordering pizza?”
− http://www.slideshare.net/xebialabs/ordering-featuresorderingpizza
▪ Amazon’s Leadership Principles:
− http://www.amazon.com/Values-Careers-Homepage/b?node=239365011
▪ Adrian Cockcroft: “Fast Delivery”
− http://www.slideshare.net/adriancockcroft/monktoberfest-fast-delivery
▪ “8 questions you need to ask about microservices & containers”
− http://blog.xebialabs.com/2014/12/31/8-questions-need-ask-microservices-containers-docker-2015/
▪ Gene Kim, Randy Shoup, Gary Gruver, Andrew Phillips: “Exploring the Uncharted Territory of Microservices “
− https://www.youtube.com/watch?v=MRa21icSIQk