In our blog series Building A Cloud Aware Enterprise, we detailed NetApp IT’s path to a software-defined, cloud-based data center with end-to-end DevOps workflow automation. We call this our Next Generation Data Center (NGDC). As the senior director for technology, strategy, and innovation within the infrastructure team, my role is to build and run the technology platform to allow our software developers to use DevOps.
Our NGDC includes three major environments: developer tools, platform software, and Infrastructure-as-a-Service. The DevOps workflows are automated across all three environments. This allows software developers to push and pull source code, choose application stacks, run CI/CD workflows, and rapidly produce business results. Ultimately, developers are expected to create cloud-aware applications on NGDC, which uses microservices architectures, running in containers, in infrastructure-agnostic designs so they are cloud-portable between public cloud providers and private cloud. Inside NGDC, we can route application workloads to whatever cloud we want to use.
DevOps Maturity Model
We find the DevOps Maturity model posted by Sumardi Fu closely aligns to our experience. Level 1 is ad hoc—meaning no DevOps other than saying the word, to a Level 5 similar to what Netflix and Facebook do: constant updates with no noticeable downtime. With our NGDC, NetApp IT meets Level-3 classification, i.e. we have real, automated DevOps which can create, deploy and support real applications. And yet, our capabilities, experiences, and speeds are still immature. Reaching Level 5 will require a multi-year journey to improve our NGDC features, capabilities and human skillset.
DevOps Implementation Lessons
We learned three valuable lessons when addressing DevOps implementation challenges.
- Getting the base NGDC environment built and ready.This has been a year-long effort from initial vision to first release. We realized early on that it takes time because of the complexity to get DevOps workflows automated across developer tools, platform software, and IaaS.
- Making sure we don’t build an NGDC ghost town because our app development teams will not use.Concurrently with the base NGDC build, we’ve been educating the app development teams on cloud-aware apps and DevOps. By taking the time to provide an education focus, we were able to establish a more trusted working relationship between the infrastructure and business apps teams to create a pipeline of new and existing apps to build or migrate to NGDC.
- Keeping key engineers focused. My new favorite analogy of NGDC is it is like a train which rolls down a never-ending track, taking on new cars (or features) and passengers (applications) with no end in sight. NGDC is a service which will go on for years, so the engineers who have participated in the initial NGDC build need to stay engaged throughout. We are creating an NGDC operating model using agile practices and frequent releases to maintain engagement.
Role of NetApp technology
As Customer-1, our goal is to use NetApp products, services, and reference designs early and as much as possible. We also spend a significant amount of time speaking to the NetApp product teams, giving our feedback on products, sharing good and bad implementation results, and influencing new features and roadmaps—ensuring we contribute to improving NetApp’s customer experience and satisfaction.
In our next gen data center, we are using NetApp ONTAP Ansible playbooks for infrastructure automation and the NetApp Trident plug-in for volume creation in OpenShift. For our private cloud we are using these NetApp technologies:
- Hyper Converged Infrastructure (HCI) to provide compute, memory and (local) storage for containerized application components
- All Flash FAS (AFF) for the stateful (NFS, iSCSI) storage platform for databases and high-performance workloads
- StorageGRID as the repository for heavy object storage usage given cloud-aware apps are inherently stateless and should use a stateless storage mechanism.
These cloud-friendly technologies are tangential to our existing install-base products and are particularly important to our cloud journey. Ultimately, all DevOps tools, software, and applications created by DevOps workflows need infrastructure. Taking an infrastructure product, simplifying it, and making it software-defined has allowed us to plug into DevOps environments like our NGDC. That’s the future of IT—inserting good products into existing DevOps environments through APIs and automation.
The NetApp-on-NetApp blog seriesfeatures advice from subject matter experts from NetApp IT who share their real-world experiences using NetApp’s industry-leading data management solutions to support business goals. Want to learn more about the program? Visit www.NetAppIT.com.