Are you ready for application delivery at the speed of light?
EMC IT is making giant strides to deliver the capabilities its business customers need, faster and less expensive than ever before through the use of a Platform as a Service (PaaS) solution along with an innovative development methodology.
In June, EMC IT launched EMC Pivotal Cloud Foundry (ECF) PaaS, the on-demand delivery of an automated IT platform which includes compute, network, storage, data protection, security, operations, and monitoring for application development. Our ECF runs on vSphere infrastructure which enables developers and cloud administrators to provision development environments on demand.
Developers’ need for this service is clear: They want an environment as soon as they ask for it. They don’t want to know what server is being used. They don’t want to deal with infrastructure dependencies. They just need an environment to develop and deploy the latest application, and they want full control over that environment so they don’t need to depend on the infrastructure deployment team. More importantly, they want to eliminate handoffs. Their needs are all about reducing the time to delivery for applications.
After all, according to Gene Kim, “Software is only valuable if it is in production.” (The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win, January 2013.)
The Speed Problem
Up until ECF, developers also faced a number of other constraints beyond environment provisioning that hampered their ability to deliver applications more quickly. For example, our Data Visualization Services (DVS), an application team supporting EMC’s Global Services business unit, was using a quarterly release model for development deployments. This stemmed in part from the dated approach developers used to develop new applications, including building the code and business logic for new applications as one large complex solution. That meant that during deployments IT had to take an entire site down in order to implement code changes for new applications or features. This massive orchestration effort made maintaining code for quarterly releases very complicated.
What’s more, as developers deployed new applications, they had to deploy the latest code every four hours, resulting in an hour of development downtime each time.
The cloud native development approach to development under ECF, however, allows developers to create an application using micro services—smaller chunks of development code built separately and able to be deployed and changed in a much more agile process. The new approach is further streamlined with an ECF software framework that eliminates much of the boilerplate code needed to create a new service.
The bottom line is that applications are developed using smaller releases that can be deployed any time, resulting in more manageable testing and change processes and eliminating previous downtime periods.
A PaaS Use Case
We recently tackled a use case which demonstrates just how much of a difference PaaS and the accompanying tools and development approach can make.
Several months ago, EMC’s Global Services (GS) business sought a faster way to deliver data visualization reports of customer assets through our Online Support (OLS) web application. The reports were a new OLS feature visually showing customers the status of their EMC equipment and services. The GS wanted to be able to build new workbooks and publish such visualization reports to a Tableau server without being restricted by the once-a-quarter release model long used by Online Support.
Traditionally, DVS would have had to wait three to six months to get an IT environment in which it could develop the requested application to meet GS’s more frequent reporting needs. However, the team was able to instantly provision a development environment using ECF’s prebuilt and pre-sized development spaces without having to request that IT build a specific application infrastructure.
DVS was also able to take advantage of the new methodology and tooling available with the new PaaS platform, including continuous development enabled by extensive automation of Cloud Foundry software. Since everything is automated, they could deploy smaller segments of code without the downtime that previously slowed productivity. They were no longer constrained by the quarterly release model.
Finally, the team used both Scrum and Dev-Ops processes to maximize PaaS. Scrum was adapted to the maximum extent possible with one hundred percent dedication of resources and with team members empowered to make decisions. In accordance with Scrum, the team of five developed the application in shorter batches, or sprints, that could more easily respond to needs and changes from the business customer.
Dev-ops culture focuses on collective responsibility, automation and handoff elimination. By adopting the Dev-Ops culture for the project, the team eliminated dependencies on external teams and automated as many repeatable actions as possible. The developers worked with the operators, in this case data base administrators, to come up with a design to reduce the amount of data base changes, thereby eliminating handoffs.
By combining all of these pieces together, DVS was able to deliver a customer reporting application to Global Services for its customers within four months, a substantial improvement over previous methods.