by Jeremy Likness
DevOps, Microservices, and IoT
DevOps, Microservices, and the Internet of Things (IoT) are the hottest topics in technology today. DevOps is commonly defined as a practice that employs the collaboration and communication of both software developers and other IT professionals while automating the process of software delivery and infrastructure changes. But what does that mean for your business? In a recent webinar, I covered what I believe are very important ideas that relate to all three areas.
I explained some of the pain points behind traditional waterfall approaches and how agile adoption has helped address these. Agile adoption by itself, however, is just the beginning. If your company only focuses on agile, you risk getting stuck in the “fence mindset”:
Everything works great until you are ready to deploy software, then you “throw it over the fence” to the operations team. DevOps addresses this by focusing on processes and tools that help bring developers and operations staff together for a comprehensive, integrated and collaboration approach to delivery software. Done successfully, DevOps will:
- Increase deployment frequency
- Respond to changes more quickly
- React faster to changing business needs and keep pace with technology
- Reduce defect rates
- Reduce time it takes to detect issues
- Reduce time it takes to repair defects
Of course, a number of tools exist to help realize these gains and I cover them in the webinar. I also elaborated on an important DevOps case study.
One way to simplify the burden of DevOps is to leverage the power of modern cloud technologies. There are myriad choices ranging from:
- Infrastructure as a Service (IaaS) – virtual Machines in the cloud
- Platform as a Service (PaaS) – you don’t have to focus on maintaining the operating system or runtime and just focus on your application itself
- Software as a Service (SaaS) – now you don’t even concern yourself with the application, but instead focus on integration to service end points
- Microservices – this is a popular, hyped term today but refers to a very specific implementation of SaaS
- Containers – focus on deploying images and not code
I discuss how decades-old concepts like the SOLID principles should influence your approach to building services today.
In the last part of the webinar I discuss the Internet of Things and share some details from an extremely successful IoT project we recently completed for a customer.
My focus isn’t how to integrate equipment or sensors into your architecture, but instead how dealing with IoT has created a set of patterns and practices that apply to most enterprise applications, even when devices aren’t part of the equation. I propose that IoT is really IoE – the Internet of Endpoints – and that lessons learned from this paradigm are applicable to anyone who is building a distributed, cloud-based application and especially important for successful implementation of DevOps.
This is just a high level overview of what I covered in an hour during the webinar. Be sure to watch the full video so that you don’t miss any important details.
When you’re done, leave me a comment and let me know your thoughts. Are you already adopting DevOps? Is it something your organization plans to do in the future? Did anything I shared surprise you or change your mind (either for or against) DevOps and/or microservices? I will monitor comments and answer questions, and you are always welcome to reach out directly via the email I shared at the end of the video.