5 (or maybe 6) things you should touch before going ZeroTouch José Bonnet, AlticeLabs, 22 nd March, 2018, Madrid
‘Sponsored by’ http://sonata-nfv.eu http://5gtango.eu https://github.com/sonata-nfv 2 .
3
Technologies, processes & tools 4
Complex! http://cdn.wonderfulengineering.com/wp-content/uploads/2014/06/gear-wallpaper-6.jpg
Processes… • Source Code • Configuration/Provisioning Management/Version Control • Release Management Systems • Logging • Continuous Integration • Build • Deployment • Testing • Cloud/IaaS/PasS • Containerization • BI/Monitoring • Collaboration • Database Management • Security • Repository Management 6 .
Frightening, isn’t it? 7 .
5GTANGO adopted tools • Configuration/Provisioning: Ansible • Source Code Management/Version Control Systems: Git/GitHub • Release Management: GitHub / Manual • Continuous Integration: Jenkins • Logging: Graylog • Deployment: Jenkins • Build: Jenkins / Docker • Cloud/IaaS/PasS: OpenStack • Testing: depends on PL/shell • BI/Monitoring: internal tool • Containerization: Docker / Kubernetes • Database Management: - • Collaboration: Gitter / GitLab’s issues • Security: Snort • Repository Management: DockerHub 8 .
5GTANGO DevOps flow 9 .
Scrum http://highlanderrugby.com/wp-content/uploads/2016/10/womenclevelandscrum.jpg?x65310 10 .
Kanban/Lean https://static01.nyt.com/images/2013/09/18/business/TOYODA-obit-web/TOYODA-obit-web-master1050.jpg 11 .
Whatever the methodology… • …it should work for you, and not the other way around! • ...there is always a cost in adopting it: • Developer’s training; • Tools integration/adaptation; • Habits/culture changing 12 .
Start by: • Defining your objectives… • ...per sprint, version, month, customer... • ...but not too many: don’t build a ‘team to measure the objectives’ • ...and measuring them often: • Caveat: a team can quickly adapt its dynamics and start working ‘for the objective(s)’ only! • Adapting ‘methodologies’ to your own reality • Focusing on: • speed of delivery: gives you many competitive advantages; • continuous delivery: breaks your problem into valuable/working pieces – more on this later • Embracing diversity: • costs are higher at the beginning, but will make your environment(s) more plastic • Offering everyone in your team a copy of Betsy Beyer’s et al (editors) ‘Site Reliability Engineering’ 13
14
Product Management 15
…but I’m not a product oriented shop! • I know, most of us aren’t… • ... But going after ‘zero-touch’ will make your: • …teams more efficient • …processes leaner and more flexible • And… maybe we all should be a product-oriented shop: • Deciding on a ‘per customer’ base looks easier, isn’t it? 16
What is the Product Manager? • The Product Manager is not… • ... the Product ‘Marketeer’ • ... the Project Manager • ... the Product Designer • ... the Product Engineer • The Product Manager is the one who... • … best knows his/her potential customers/market • …assesses product opportunities • …defines the product to be built • But the key characteristic of a Product Manager is… 17
18 …to know how to cut the product into meaningful slices . https://d1cvtajkxcatn5.cloudfront.net/cache-buster- 1407145440/com/key_visuals/600x400px/construction_timber__new_ 600x400.png
Start by: • Letting you Product Managers master their product’s market and customers • Offering Product Manager of your team a copy of Martin Cagan’s ‘Inspired’ book… • ...and making sure they read it! • Empowering your Product Managers, make them accountable • Encouraging failure… if numbers are not bright • Remembering that you are not your customer! 19
20
Infrastructure (as code) 21
Stop treating your infrastructure as pets… http://animalercare.com/clients/19508/images/Group_cats_and_dogs.jpg 22
…treat them as as cattle! http://michaelseebeck.com/wp-content/uploads/2013/11/tablelands-cattle-haqt0086.jpg 23 .
Have scripts installing machines… • …not humans: • Save humans for non-repetitive tasks, they will thank you (more on this later) • Version controll every script • Mind that: • not all customers will allow you access to their infrastructure • Installed machines start diverging from the moment they’re installed! 24
Start by: • Having a centralized inventory of your computing and network resources • Allowing teams to request resources, but make them accountable for those that are granted: • Every requested resources have costs, even though they are a small fraction of ones we used to have (with bare metal) • Offering everyone in your team a copy of Kief Morris’ ‘Infrastructure as Code’ book! 25 .
26
Software development 27
Software is eating the world ‘ Why Software Is Eating The World’ , Marc Andreessen, Aug, 20 th , 2011 28
Different activities in software development Breakdown of Effort Cost - Software Cost Estimation by Capers Jones 29 .
Open-source 30 .
12 factors App https://12factor.net/ 31 .
Descriptors • Describe your software (‘network services’ composed of inter- connected ‘network functions’) 32 .
Descriptors • Virtual Network Functions are implemented by one or more Virtual Deployment Units (VDUs – VMs or Containers) 33 .
SONATA’s examples • Basic/initial: • https://github.com/sonata-nfv/son-examples/blob/master/service-projects/sonata- fw-vtc-service-update-sp/sources/nsd/sonata-demo.yml • https://github.com/sonata-nfv/son-examples/blob/master/service-projects/sonata- fw-vtc-service-update-sp/sources/vnf/fw-vnf/fw-vnf-vnfd.yml • https://github.com/sonata-nfv/son-examples/blob/master/service-projects/sonata- fw-vtc-service-update-sp/sources/vnf/vtc-vnf/vtc-vnf-vnfd.yml • More complete/recent (vCDN pilot): • https://github.com/sonata-nfv/son-vcdn-pilot/blob/master/NSD/sonata-vcdn.yaml • https://github.com/sonata-nfv/son-vcdn- pilot/blob/master/VNFs/vCC/Descriptor/vCC-vnfd.yml • https://github.com/sonata-nfv/son-vcdn- pilot/blob/master/VNFs/vTC/Descriptor/vtc-nfd.yml • https://github.com/sonata-nfv/son-vcdn- pilot/blob/master/VNFs/vTU/Descriptor/vtu-nfd.yml 34 .
That is… The way you deploy your software is changing! 35 .
Serverless: are you ready? 36 .
Start by: • Knowing that software development is not just writing code: • Project management • Tests (several kinds of) • Documentation (several kinds of) • Reviews • … • Using more and more open-source, and giving back! • Offering each one of your developers a copy of Robert Martin’s ‘Clean Code’ book! 37
38
Automate everything 39
Automation vs. speed (of delivery) https://builttoadapt.io/why-tdd-489fdcdda05e 40 .
Continuous delivery: still a lot to gain! http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment 41 .
Automated tests: most of them Slower, ran less often Faster, ran often 42 .
Even chaos can be automated! Netflix’s Chaos Monkeys https://medium.com/netflix-techblog/the-netflix-simian-army-16e57fbab116 https://github.com/netflix/chaosmonkey 43
Start by: • Looking for repetitive tasks being executed manually: • Assess them thoroughly: how often have they been executed today/last week/last month? • How many people do you need to execute them? How much does it costs? • Investing the equivalent of the recent cost of executing them manually in automating them: • Legacy products: cost/benefit depends on life expectancy • Offering everyone in your team a copy of Humble & Farley’s ‘Continuous Delivery’ book 44 .
45
46 Find the best! People! . http://www.todayifoundout.com/wp- content/uploads/2014/11/crowd.jpg
…and let them be software engineers! 47 .
48 AI for software development? . http://setuix.com/is-artificial-intelligence-dangerous/
Heroes… https://cdn-mf0.heartyhosting.com/sites/mensfitness.com/files/styles/gallery_details_image/public/cristiano-ronaldo-real- madrid-gallery-3_1.jpg?itok=BCBYasj9 49 .
…piano carriers are also needed! http://pianomoversguide.com/wp-content/uploads/2014/07/speciality-piano-mover.jpg 50
People are very seldom inter-changeable! https://pcdn.disabilityscoop.com/wp-content/uploads/2017/08/ds170829_puzzle.jpg 51 .
Differences have costs http://smallville.com.au/wp-content/uploads/2016/11/rsz_ac60848379920435bf42afa1daa68575-1.jpg 52
If you pay in peanuts… hefabweb.com/wp-content/uploads/2012/09/20Tc2.jpg 53 .
Start by: • Attracting the promising… • ...and retaining the best… • Accepting that the best ones may not be with you forever: • They can’t be at 100% performance 100% of the time; • Someone better than you will attract them; • Avoiding pre-conceptions: the best can be anywhere, working from anywhere; • Not paying in peanuts, or you will only attract those that you competitors have found to be… unattractive!
Key takeaways 55
Recommend
More recommend