How quickly can we convert our ideas to working software applications? This is a question that every organization needs to address soon. Many organizations are still stuck with old and outdated application development processes and are looking for a change. They are too slow in transforming their innovative ideas to actual software applications. Therefore, there is a critical need for organizations to setup environments where they can do rapid software application development. Quickly innovating with new software applications helps organizations serve their customers better and stay more competitive in today’s quickly changing world.
To solve this problem many large organizations are looking at hosting their own private Platform as a Service cloud (PaaS). PaaS enables development teams to quickly and easily, develop, run and manage (web) applications without the complexity of building and maintaining the infrastructure, underlying frameworks and technologies. Large organizations like Intel, Cern, and PayPal with thousands of developers are already offering a similar internal platform to their development teams.
In this post we will discuss how you can build your own appliance for rapid application development on NetApp technology.
To build this appliance, not only do we need the right PaaS platform software but also a suitable hardware and management Infrastructure.
Selecting the right PaaS platform
Selecting the right PaaS platform to do rapid application development is a crucial step in defining the whole architecture. Over the past few years, many different PaaS platforms have been released to the market. In this post, we will focus on Red Hat’s OpenShift platform. Unlike others, this platform promotes openness, and has matured over many releases. In its latest release, it also supports containers.
With OpenShift you can streamline and accelerate your application development, delivery and deployment. OpenShift provides a self-service portal for developers and operators and has multi language, framework and database support.
The goal of using such a PaaS platform is to let the developers to just focus on development and creativity and not worry about provisioning, management, deployment and scaling.
For example, developers can use this platform to quickly create new applications in their preferred language, automatically configure a GIT repository, attach a database service to the application and add Jenkins integration, all with a few clicks and start build, test and deploy cycle by just issuing a 'git push' command.
Selecting the right Infrastructure platform
Selecting the right Infrastructure platform which is flexible, maintainable and expandable is very important. You can of course buy servers, storage and networking solutions separately but to build an appliance, a converged infrastructure solution like NetApp FlexPod fits the bill. The reason for that is that you get storage, servers and networking which are pre validated for your solution and you get a single point of contact for support. Because FlexPod components are integrated and standardized there are design and implementation guides available which help do repeatable deployments and save time. FlexPod is enterprise class hardware; it is flexible, low risk and gives maximum up time. FlexPod solutions are available for many applications e.g. SAP, Oracle, Hadoop and OpenStack.
Deploying an Infrastructure as a Service cloud
Deploying a PaaS system does not necessarily need an Infrastructure as a Service cloud (IaaS) but deploying an IaaS gives you a single platform to manage all your hardware resources, helps maintain flexibility, and improves productivity. Even though there are multiple public IaaS providers, OpenStack is undoubtedly the dominant private IaaS platform of the future.
OpenStack allows managing your complete infrastructure including compute, networking and storage with the help of command line tools, APIs and a single GUI dashboard. NetApp has deep integrations into OpenStack Storage components namely Cinder - Block Storage, Glance - Image Service, Swift - Object Storage, and Manila - File Share Services. NetApp is a leading enterprise storage provider for OpenStack platform and has taken up a leader role, especially in the development of the Manila project.
The Cisco Validated Design (CVD) for deploying OpenStack on FlexPod provides a proven well tested and well documented enterprise solution to setup your own private OpenStack cloud. This minimizes risk and enables enterprise-grade deployment, which require e.g. high-availably, scale out, non-disruptive operations etc. The corresponding implementation guide will be available soon.
Persistent storage plays an important role in application development environments. Many applications use databases which need to be backed up, cloned and replicated. Quick space efficient backups and clones can make a huge difference to your productivity. When there are critical bugs in the production environments, ability to quickly create application or database clones for dev/test purposes from production environment helps development teams fix issues quickly. With NetApp FlexClone technology, you can do exactly that.
Moreover, with NetApp’s powerful SnapMirror technology you can replicate your applications and databases to a secondary site incrementally.
In most organizations production and development environments are isolated and it becomes a challenge to replicate production issues in development environments. With NetApp SnapMirror technology you can efficiently and incrementally replicate production applications and then use FlexClone technology to create production application clones in the development environment in seconds.
When architecting a cloud solution like this you want to start small and slowly expand and add resources. NetApp Clustered Data ONTAP is architected for the hybrid cloud and supports non-disruptive operations and scale out; hence it allows you expand your infrastructure without disturbing your existing environment.