The Emergence of DevOps-as-a-Service
DevOps as a Service is an emerging philosophy that aims to assist application development by further expanding upon automation practices.
- devops
- devops as a service
In this article, I will discuss the benefits of using DevOps-as-a-Service (DaaS) over traditional DevOps practices, as seen from our experience at Lexis Solutions. We have had positive and negative experiences when choosing the right cloud infrastructure for our clients, and I will elaborate on that aspect.
(source: AWS)
To quote AWS's Model definition directly, it is the combination of practices and tools that increase an organization's ability to deliver applications and services at high velocity: evolving and improving products faster than companies using traditional software development and infrastructure management. This speed enables organizations to serve customers better and compete more effectively in the market.
DevOps vs. DaaS
In that regard, the traditional DevOps Model applies to mostly in-house infrastructure management. This means hiring and managing a dedicated team, purchasing and setting up servers, and configuring everything from the ground up to meet one's business needs.
On the other side, DaaS is mainly cloud-based, with many possible layers of functionality, abstraction, and "ease of use" focus.
It integrates selected elements of DevOps tools into one comprehensive system to enhance collaboration, monitoring, management, and reporting. This service model contrasts with the in-house toolchain approach, where the DevOps team employs a disjointed set of individual tools.
DaaS is an attractive solution for businesses lacking in-house DevOps knowledge or the financial resources to train employees in these skills. It streamlines the intricate process of managing data and information flows throughout the chain. With this method, various members and teams participating in the process can use user-friendly interfaces to access necessary tools without the need for a complete understanding of the whole toolchain. For instance, using the same DevOps as a Service system, a developer can utilize source code management tools, a tester can access application performance management tools, and the IT operations team can implement changes using more top-level configuration management settings. This setup enables team-wide monitoring and reporting on activities.
Unlike traditional DevOps, DaaS focuses more on the end result and the complete process, from code compilation to production deployment.
Popular DevOps service providers
Amazon Web Services (AWS)
Amazon Web Services (AWS) has carved out a substantial space in this domain, building a robust global network for virtually hosting some of the world's most complex IT environments. Key to their suite are AWS CodeBuild, AWS CodePipeline, and AWS CodeDeploy - a trinity of services designed to manage continuous cloud delivery. These services offer accessible solutions that enable a secure, scalable, continuous delivery model in the cloud, making migration to the cloud a worthwhile consideration for many organizations.
Even more, many platforms competing for a slice of this market choose to integrate some AWS tools to offer their own packaged DevOps solutions.
Google Cloud Platform (GCP)
Google Cloud Platform (GCP) also boasts a global network and an ever-growing list of capabilities. The StackDriver suite of development tools, GCP Deployment Manager, and GCP Cloud Console constitute a robust set of offerings to manage the cloud-based continuous delivery cycle. These tools and the platform's ability to support complete cloud development solutions for various platforms make GCP a strong contender in the DevOps sphere.
Microsoft Azure
Microsoft's Azure enters the scene with various interoperable tools to manage the cloud environment. As a cloud management platform, Azure offers a complete set of tools such as Azure App Service, Azure DevTest Labs, and Azure Stack. With a long-standing presence in the IT industry, Azure may offer the most seamless transition to hybrid or full cloud environments for organizations already using Microsoft products and services.
Digital Ocean
Digital Ocean is another platform that we at Lexis Solutions use quite often. They offer a more "lean" approach with configurable and optimized out-of-the-box tools for quick time-to-market needs. Their App Platform is convenient for deploying web services from a GitHub repository while offering scalability and load-balancing solutions. Their ecosystem has grown continuously in the last few years while offering competitive pricing, a combination ideal for start-up caliber projects.
Since July this year, we have also officially partnered with Digital Ocean, which grants our clients $200 credit for usage.
Different varieties of DaaS
One thing to note is that DaaS may refer to a broader range of possible services. On the one hand, there are platforms like the ones described in the previous section. On the other - IT teams that offer DevOps services and know-how, including in-house integrations. Teams may even partner with a platform for more complete and flexible solutions.
As mentioned earlier, we have an established partnership with Digital Ocean at Lexis Solutions and have successfully set up environments for multiple clients there. Although we are not letting ourselves be limited to a single provider.
For example, there have been client specifications that required us to integrate with specific third-party APIs. The App Platform that Digital Ocean offers makes it relatively easy to deploy production-ready software on quick notice. The main drawback there, however, is a lack of a static IP address of the environment due to how the continuous delivery is implemented on their side. This limitation meant that the third party's API couldn't whitelist our setup for authorization, so we had to consider other options.
Examples such as these illustrate limitations that some packaged solutions may have, but also how turning to a team might save extra effort and costs by tailoring for the specific case.
DaaS considerations
The general speed from software implementation to production deployment is the main benefit and potential cost-saving from not relying on an internal DevOps team. This is, of course, of significant importance to emerging businesses and startups. However, one may also encounter challenges later down the road.
First, there might be security risks if the DaaS provider fails to adhere to security protocols. Next to consider is the limited control over one's setup - platforms may encapsulate their services, allowing for partial control only.
In conclusion, a mixed approach between an automated cloud setup and hiring an IT team for consulting is the best of both worlds. Either part-time or for an extended period, an external team could guide you and help with unforeseen challenges later down the road of your business growth.