Containers have significantly changed the way developers deploy apps. They are much more lightweight and portable. We’ve gone from virtualisation technologies optimising hardware, to containers optimising how organisations can develop, deploy and manage the configuration of those applications.
Businesses using containers benefit from faster time to market with lower risk, smaller compute, reduced costs and greater portability/flexibility. Containers are modern development tools enabling DevOps to support modern app development.
Containers were originally designed to be stateless. When a container is rescheduled or destroyed, the data associated with that containerised app is lost. Those organisations that cannot risk losing data are limited by containers functionality.
Solving data persistence for stateful apps is essential to running containers in production. While there are some built-in or open source data persistent solutions available, these often face limitations as they lack the enterprise-grade storage features organisations require – performance, high availability, encryption, caching, etc.
Those organisations that want to run containers in production without losing data need to look for solutions that deliver an application-centric cloud native storage solution, ensuring storage is presented to and continually available for applications as they move between nodes with a common management environment across on-premises and cloud platforms.
Simply put, organisations cannot risk losing data or application availability. Imagine a financial services organisation having to tell a regulator that a container died and they lost data, or a customer service rep telling a customer an order was lost because of backend development. Enterprise organisations that want the benefits of production applications running in containers, need persistent storage.
Cloud native technology has gone mainstream. The Cloud Native Computing Foundation has exploded in size – both end users and every major IT vendor. It offers developers flexibility to deploy applications as microservices, packaging each part into its own container, and dynamically orchestrating those containers to optimize resource utilisation. We are seeing developers and Devops teams in banks, service providers, retail, media, pharmaceuticals, travel, media, and government customers moving critical applications into production using containers.
Cloud native is hot because it supports modern development trends. It offers performance, agility and faster time to market for those businesses that embrace it.
Embracing cloud native technologies is a change in mindset and organisational culture. It’s one that we see developers wanting to embrace. The cloud native landscape is vast, but one area that is essential to get right is storage. Losing data or its availability is not an option, so before moving any applications into production, a cloud native storage solution is needed. There are eight main principles of cloud native storage that should be used as guidelines when evaluating vendors.
1.Storage should be application centric – presented to and consumed by applications, not by operating systems.
2.The storage platform should be agnostic, meaning it can run anywhere and not be locked on to one platform or cloud provider.
3.Storage resources should be declared and composed just like all other resources required by applications and services.
4.Storage resources should be easy to provision, consume, move and managed via API.
5.The platform should be agile, and able to dynamically react to changes in the environment.
6.Storage services should integrate and provide inline security features such as encryption and RBAC and not depend on secondary products to secure application data.
7.The storage platform should offer deterministic performance in complex distributed environments and scale efficiently using a minimum of compute resources.
8.The storage platform should be consistently available, managing data distribution to ensure high availability, durability and consistency of application data.
Over the last year, the container ecosystem has matured. Whereas a year ago, we saw organisations just starting their journey, today we see organisations that are investing in building Container as a Service (Caas) platforms to deliver their cloud native apps, They have two remaining problems to solve – storage and security – before moving containers into production environments. Developers and Devops people in these enterprises have become savvy to what they need – sophisticate tools to deliver cloud native solutions. As container adoption continues to skyrocket, we’ll see more demand from enterprises to get storage and security solved in 2018.