The integration of DevOps practices has become a key factor in accelerating development cycles and ensuring efficient operations. In this discussion, Chris McHale, CEO of SPK and Associates, is joined by Mike Solinap, the company’s Director of DevOps and Cloud Operations, to share lessons learned from working with other startups adopting DevOps. You can watch the video above, or see a summary of the Vlog below.
Chris McHale – Co-founder and CEO of SPK and Associates
Mike Solinap – Director of DevOps and Cloud Operations, SPK and Associates
The DevOps Potential for Startups
Chris: Mike, you have substantial experience in the challenging world of hard KNX. You’ve implemented DevOps in startups from start to finish, correct?
Mike: Correct. Starting on the DevOps journey might seem tough for startups, but it can be smooth sailing with the right tools and approach. Despite each client having unique needs, there are common processes we’ve noticed. For example, take the Atlassian suite – it’s been a game-changer for teams, offering a quick start without the hassle of installations. Basically, teams can easily sign up and get going with minimal effort. As we move forward, we fine-tune the suite to match their specific processes, ensuring a customized toolset for each client.
DevOps For Startups: The Need For Skill Set Expansion
Chris: In a startup’s early software development phase, having in-house developers and a dedicated designer with specific skill sets is crucial. However, transitioning to the DevOps side introduces a broader skill set requirement for establishing the entire software factory lifecycle. So, managing this complexity through a DevOps managed service offers significant advantages for startups. Do you share this perspective based on your observations?
Mike: Absolutely. When it comes to startups diving into software development, having in-house developers and a dedicated designer is a big plus. These roles are tailor-made for the startup’s coding needs. But, stepping into the DevOps for startups world introduces a mix of skills needed to set up what we call the “software factory” – managing the entire lifecycle with the right tools. Therefore, going for a managed service approach, especially for startups, can be a smart move. For example, starting as a startup demands taking on various roles and wearing multiple hats. But, when collaborating with a managed service provider, like SPK, we bring the expertise ready-to-go. With experience in various roles, we facilitate a quick start for teams, efficiently donning the necessary hats to get them up and running swiftly.
Tools Enabling Collaboration
Chris: Aside from Jira and Atlassian, what other tools within this platform do we leverage for optimal collaboration and efficiency?
Mike: Certainly. Besides Jira and Atlassian, our toolset includes Confluence for documentation and, in DevOps, we heavily utilize Bitbucket for source code management. Bitbucket pipelines streamline our build release process without the need for server management, ensuring quick and efficient operations.
Tools For Infrastructure as Code
Chris: And what about on the infrastructure as code side? What are some of the tools and things that you’re using there?
Mike: We’re well-versed in Terraform for infrastructure as code. It’s our preferred tool due to its agnostic nature, ease of use, and extensibility. Unlike CloudFormation, Terraform offers versatility and avoids vendor lock-in, making it a reliable choice.
The DevOps Philosophy For Startups
Chris: In the broader context, how does our team work to seamlessly integrate and collaborate with the startup’s development and design teams? Does it feel like distinct teams, potentially conflicting with the DevOps philosophy?
Mike: We focus on fully integrating our own staff into the startup’s process. Our team actively participates in Agile Scrum meetings, stand-ups, and every aspect of the development workflow. Whether tackling technical tasks within the development team or handling operational aspects, our collaboration ensures a smooth handoff, understanding requirements thoroughly to deliver effectively.
The Pseudo-code Model
Chris: How does our startup approach balance incremental automation and process enhancement to navigate initial challenges, ensuring efficient and tailored solutions for clients?
Mike: In our approach to process, we mirror the pseudo-code model, initially performing manual tasks to identify priority areas for automation and streamline efficiency. Avoiding premature automation, we focus on incremental improvements tailored to specific project needs and team dynamics. Recognizing the diversity in software development, we acknowledge that a one-size-fits-all approach doesn’t suffice, emphasizing the need for adaptability and customization. The pivotal decision of what to automate serves as a strategic element, ensuring valuable time and resources are invested wisely, steering clear of unproductive detours in the development cycle.
DevOps For Startups Success Story
Chris: Can you share a specific client challenge or obstacle story that highlights the impact of our work and illustrates the solutions we provide?
Mike: Certainly! Recently within a build release process, we faced a notable challenge with a client. Initially, they opted for Jenkins, a versatile open-source tool, to manage builds and releases. However, configuring Jenkins proved time-consuming, deterring them from basic Java builds and AWS deployments. Recognizing the need for a more streamlined approach, we transitioned them to Bitbucket pipelines. This shift eliminated excessive configuration hassles, offering parallel builds and simplified pipeline modifications accessible to any developer. Over the past year and a half, they’ve experienced efficient builds without server management burdens. This is a good example emphasizing the importance of pragmatism in tool selection, particularly for startups prioritizing rapid code deployment. Essentially, choosing tools aligned with immediate needs, like Bitbucket pipelines, facilitates swift operations. While tools may evolve based on complexity, the focus remains on getting code into production quickly without being hindered by overly customized solutions. It’s a testament to adapting tools to the current phase of development and continuously refining the approach as requirements evolve.
How to Scale DevOps In Startups
Chris: What insights can be shared regarding scaling with a DevOps managed services company? How does this process unfold, and what thoughts and considerations should be taken into account?
Mike: Addressing scalability presents a significant challenge. Particularly for quick-starting startups. So, embracing a pragmatic approach involves maximizing the potential of a monolithic, single-node environment initially. This simplicity aids in avoiding unnecessary complexity at the outset, allowing the focus to remain on delivering value to customers. And, as the customer base grows, considerations for scaling become more critical. Therefore, exploring areas such as database scalability becomes imperative, transitioning from a potential single point of failure to a more resilient and highly available (HA) structure. However, this evolution introduces challenges, including technical considerations around data consistency. The key is a pragmatic approach, strategically timing the introduction of features and enhancements to support scaling for a burgeoning customer base.
What Are The Future Trends Startups Should Consider?
Chris: Considering the impact of AI on DevOps and software development, including tools like co-pilot and design-to-code platforms, how do you foresee the future? How should we prepare for the evolving landscape?
Mike: Resistance to AI platforms in startups is due to trust issues, but adapting is crucial for accelerated productivity. New frameworks or languages demand quick adoption, and AI platforms aid faster coding without extensive learning. Developers must treat AI as a tool, utilizing co-pilots or design-to-code tools for efficiency. Despite imperfections, the analogy to writing drafts in school illustrates the benefits of AI assistance in software development. Integrating AI into DevOps tools, like Confluence and Terraform, is inevitable for enhanced capabilities. Embracing experimentation becomes vital in navigating this evolving landscape.
Want more tips and insights to accelerate your business?