If you haven’t yet climbed aboard the DevOps train, chances are you will soon. This agile development methodology has taken the IT world by storm; more than two-thirds of development groups have either fully implemented DevOps or plan to adopt it, according to IT automation software company Puppet.
Among the benefits of DevOps are faster and more frequent code deployments, shorter lead times, and significantly lower failure rates. With its emphasis on modular development, frequent code releases, and a constant feedback loop, DevOps is in line with the services-based architecture that most organizations are now adopting for new applications. One of the key differences between DevOps and traditional “waterfall” development is that DevOps gives developers control over the full development environment, including tools, databases, middleware, runtime libraries, and supporting infrastructure. That means they can define the perfect combination of application code in the environment in which to run it.
But granting this level of control can be a challenge for IT organizations that place a premium on centralized administration. Developers may wait days or even weeks for new infrastructure to be provisioned, and software installation and testing only adds to the waiting time. For those organizations, a cloud platform-as-a-service (PaaS) may be just the ticket.
PaaS includes all the elements of infrastructure-as-a-service – networking, storage, servers and virtualization – but also bundles in a full suite of software configured and tested to meet the needs of the individual developer. PaaS users need only worry about managing their own applications, data, and user access; everything else is provided as a service, usually with high levels of automation. Like cloud infrastructure, PaaS can be spun up instantaneously.
Every major cloud operator offers PaaS options, but developers should shop around to find the right combination of services and features. There are dozens of different elements that may be part of an offering, covering such functions as continuous integration, testing, analytics, collaboration, and monitoring. PaaS providers pick and choose their favorites, so each platform is a little different. For example, some commercial offerings are stronger in areas like automation and security than others, or they may be optimized for a particular runtime platform such as Microsoft Windows or Linux. Start with the tools that your developers favor and look for providers that support them.
One important factor to consider when choosing a PaaS solution is the degree of openness you require. There are several open source PaaS options available both as cloud services and for on-premises deployment, but they generally trade off some functionality for portability. Proprietary suites typically have a richer feature set, but they may bind you to a particular cloud platform and require you to replicate that platform if you want to move applications to your own infrastructure.
Container technology can give you the best of both worlds. A PaaS environment that’s packaged as a container can be easily shifted between the cloud and on-premises infrastructure. There’s been some debate over whether containers make PaaS obsolete, but cloud providers have stayed ahead of the curve on the issue, adopting containers as one of several delivery vehicles for applications built by their customers.
Developers love the flexibility and freedom that DevOps provides, and their employers benefit from improved speed and agility. With so many PaaS options now available as cloud services, there’s no reason not to get on board the DevOps express.
To learn more about hybrid clouds built on Intel® Xeon® Scalable processors, go here.