I made it through to the end of the book! Hurrah I hear you all cry, no more stupid pictures of John holding up a copy of his DevOps book! Yes this is the last one!
So…….. yet another day of work blending into learning into family time! Its just gone 9pm on a Wednesday evening, the kids are spread around the local area……. one sleeping over a friends, one glued to his Xbox and one on her way home with her friend to sleep over all trying to squeeze the last bit of enjoyment out of the time they have had off before the impending ‘return to school!’ Tesco delivery done, packed away, just some time to finish off my read and write it up!
DevOps for Dummies (Emily Freeman) – Section 5 – Tooling your DevOps Practice and Section 6 – The Part of Tens Chapters 19-23.
What have I learned?
Chapter 19 – Adopting New Tools
What does it take to tool up a DevOps practice, Open Source is a cheap and potentially free way of tooling up your practice. This Chapter goes into some of the ideas behind such tooling.
- Integrating with Open Source Software (OSS)
- Opening Community Innovation – Open Standards, Open Architecture, Open Source
- Licencing Open Source Software (Use Study Share Improve)
- Deciding on Open Source Software
- Benefits; Low Upfront Costs, Quick Acquisition, High Quality Engineering
- Drawbacks; Lack of Support, Integration Challenges, Maintenance
- Transitioning to New Languages
- Compiling and Interpreting Languages – Know the difference!
- Parellelizing and Multithreading – Know when its needed!
- Programming functionality – High Order Functions, Pure Functions, Recursion
- Memory management – Garbage Collection or manual management
- Choose a language wisely – What is the quality of the language community? How many developers know the language? What Frameworks and Libraries are available? What are the specific project requirements? What is the comfort and knowledge of the team?
Chapter 20 – Managing Distributed Systems
- Working with Monoliths and Microservices
- Choose a monolithic architecture first
- Evolve to Microservices
- Designing Great API’s
- What is an API – Application Programming Interface (RESTful is modern day SOAP)
- Focus on consistent design
- Use Nouns (Make sure it makes sense when read with its verb) i.e. ‘GET users’ not ‘GET getAllUsers’
- Use Verbs (GET SET POST DELETE)
- Pluralise endpoints
- Add parameters to string i.e. GET users?name=’john’
- Respond with codes – 200, 404, etc
- Version your API
- Paginating responses
- Formatting Data
- Communicate errors
- Containers – Much More than Virtual Machines
- Understand containers and images
- Deploy microservices to containers
- Compare orchestrators – Harmonise the Hive!
- Kubernetes (The popular one!)
- AKS (Azure Kubernetes Services)
- Openshift – RedHat Linux
- Docker Swarm – More than a Hive
- Amazon ECS
- Configure containers
- Monitor containers – Keep them alive until you kill them
- Embrace increased complexity
- Container Lifecycle
- Securing containers: These boxes need a lock!
- Securing secrets
- Potential vulnerabilities
Chapter 21 – Migrating to the cloud
- Automating DevOps in the cloud
- Taking your DevOps Culture to the cloud (doesn’t have to be done all in one!)
- Learn through adoption
- Benefit from Cloud Services
- Types of Cloud
- Cloud As A Service (aaS)
- IaaS – Infrastructure
- PaaS – Platform
- SaaS – Software
- Choosing the Best Provider
- Solid Track record
- Compliance and risk management
- Positive reputation
- Metrics and monitoring
- AWS, Azure of GCP – The big question! No simple answer!
- Comparative features in the cloud!
- Each cloud provider does cover Storage, Compute and networking well, serverless is becoming more compelling.
- SaaS is an attempt at NoOps!
Chapter 22 – Top 10+ reasons that DevOps Matters
- Accept Constant Change
- Embrace the Cloud
- Hire the Best
- Stay Competitive
- Solve Human Problems
- Challenge Employees
- Bridge Gaps
- Fail Well
- Continuously Improve
- Automate Toil
- Accelerate Delivery
Chapter 23 – Top 10 DevOps Pitfalls
- Don’t Deprioritise Culture
- Don’t Leave Others Behind
- Don’t Forget to Align Incentives
- Don’t Keep Quiet
- Don’t Forget to Measure
- Don’t Micromanage
- Don’t Change too much, too fast
- Don’t Choose Tools Poorly
- Don’t Fear Failure
- Don’t Be too rigid
JOIN THE DEVOPS REVOLUTION!!
So there we have it, I do hope you have enjoyed keeping up with me on my journey through the theories behind the DevOps movement, I have thoroughly enjoyed picking the parts that I know about already and marrying them up with new concepts that I have learned. This book has helped me Demystify the elements of DevOps and I feel more comfortable describing the components.
All thats left to do, it to keep changing, and quickly! I wont get it right first time, but I will learn from it!! Has it sunk in already!!! 🙂
My Main ReadMe Page is all set up with a bit about me!
The guys at 100DaysofCloud have set up the GitHub repo to be cloned and also have a great repo containing ideas and areas to collaborate on: https://github.com/100DaysOfCloud/100DaysOfCloudIdeas
My Github Journey tracker can be found here: https://github.com/jonnychipz/100DaysOfCloud
Please Watch/Star my repo and feel free to comment of contribute to anything I push! I really look forward to hearing from anyone who is going to jump on the journey around the same time as me! Lets see where I get to in 100 days!
I would encourage others to jump on this journey, I’m not sure that I will be able to commit every day for 100 days, but as long as I can complete 100 days that will be great!