Share this post:
As traditional IT enterprises embrace the cloud to handle continuous delivery, they face challenges posed by their existing legacy systems handling complex applications and environments. For example, mainframe-based systems (typically located within the firewall) often have tighter restrictions on security and data management, which can lead to slower iteration cycles.
According to a recent ADT Mag survey of IT executives, nearly two-thirds of respondents are integrating legacy applications with new mobile or front-end applications. Not surprisingly, managing complex environments was the top challenge when deploying applications that touch both legacy and new systems.
Check out this summary video of the main findings.
As these companies look at adopting some of the benefits offered by the cloud, they might want to start slowly to help address the differences in speeds between different environments. This is otherwise referred to as “multi-speed IT,” where user-facing (mobile, web) development is often executed at a greater velocity than traditional development on mainframe and database systems. This might be an impediment to some, but for those who embrace hybrid cloud, it’s a challenge easily overcome.
When it comes to continuous deployment, companies can achieve the most success in the early stages of adopting the cloud by moving some development and test efforts to the cloud. There, they can get early feedback on an application in a cloud environment that can be easily created and torn down. This can prevent the common backlog in which development teams need operations teams to create or customize an environment to address a new development feature.
During the later stages of delivery — whether it’s Q/A, staging or production — companies can still rely on traditional IT resources or more secure hybrid or on-premises cloud solutions. One downside to this approach can be maintaining consistency in the infrastructure as the app delivery progresses to different stages in the development cycle, no matter whether you are using cloud or different virtualization environments.
One of the newest solutions to the problem of handling cloud complexity is the UrbanCode Deploy Blueprint Designer. A cloud blueprint is a document that describes the full stack of both the application content and the infrastructure as a service (IaaS) environment required to provision the application. Check out this article on the developerWorks blog about Blueprint Designer to find out more.
Many of our enterprise customers are using blueprints to develop their infrastructure and application layers across different cloud environments. They can quickly use a blueprint to deploy, test and destroy environments as needed. UrbanCode Deploy Blueprint Designer is especially useful for customers who want to get early feedback in their development process on their latest application updates, leveraging the notion of “infrastructure as code” provided through the blueprint designer to create, provision, and manage cloud environments for their applications.
Consider this use case from one of our enterprise customers: User error resulted in the inadvertent deletion of a large portion of the customer’s data center – around 250 configured virtual machines. Fortunately, since this infrastructure had been initially created with cloud blueprints, the customer was able to simply re-provision the blueprints to rebuild its data center, and all its VMs were back online within a day.
The benefits of the UrbanCode Deploy Blueprint Designer include:
- Portability, in that the same blueprint can be created once and provisioned with minor configuration changes across different clouds. Today, supported cloud providers include OpenStack (included IBM BlueBox), IBM Softlayer, VMware vCenter, Microsoft Azure and Amazon Web Services.
- Optimization for OpenStack using the Heat (HOT) language, an open-source, industry-standard format for orchestrating infrastructure and applications.
- Support of “infrastructure as code” through blueprint versioning via built-in integration with Git.
- Support for multiple software deployment tools, including UCD and Chef, or use of existing automation scripts in a blueprint.
- A rich graphical editor with drag-and-drop infrastructure components such as virtual machines, storage volumes, networks, drop in app components and build a blueprint in an easy-to-use user interface
- Composite blueprints that enable the separation of roles within an organization by allowing different teams to create blueprints for their area of specialty (compute, networking, application), and combine them into a single, deployable blueprint.
While complexity is still the biggest challenge facing enterprises today, a cloud blueprint from UrbanCode Deploy can help organizations with legacy applications take those first steps toward the cloud.
Check out my interview for the IBM Dojo podcast.