By Andre Schwan, Deal Solutions Manager at T-Systems South Africa
Whether they are part of an organisation’s in-house IT team, or part of a software development agency, developers in South Africa have to operate under great pressure.
Their business stakeholders have relentless demands for innovation capabilities, and developers are expected to create feature-rich, next-generation applications that rival those of the world’s digital giants.
They’re pushed to achieve ever faster time-to-market, while also continually optimising resources, looking out for the next wave of breakthrough technology, and shifting to new practices like DevOps and Agile.
But at a national level, they’re facing crippling shortages in key development skill sets, and tightening budgets in an era of low economic growth.
Still, they’re being asked to become more entrepreneurial and business-focused, to dream up new technology-powered business strategies, and always quantify the value of their efforts in financial terms.
And of course, they’re under pressure to do all of this while also developing bulletproof cyber-security strategies, to evolve with the very latest on the threat horizon and ensure harmony with a raft of new international and local data privacy laws.
It’s quite an ask.
The power of the Public Cloud
Fortunately, Cloud-based platforms and architectures have emerged as a viable way to relieve many of these tensions and enable developers to satisfy their business’ insatiable demands.
Leading software firms and IT departments are exploiting the power of public Cloud infrastructure – for the design, development, quality assurance, testing and delivery of next-generation applications.
In fact, Cloud platforms serve almost every development need – from the smallest home-based company, to the largest global enterprise.
In Cloud’s early years, as the platforms matured, early moving companies would need an array of specialised skills. But today, there are a number of highly potent Cloud platforms with easy-to-use pre-coded tools, libraries and solutions which simplify and accelerate the development process.
In this new era of the ‘consumerised Cloud’, even small and mid-size firms can easily access enterprise-grade Cloud environments, to create applications that serve business and consumer needs. IT Solutions design is expanded into a tactical sphere, where companies can select and apply off the shelf component services to their solution and only actually develop the portions that give them a competitive edge.
Modern Cloud environments like T-Systems’ M2C platform crack open an exciting array of new opportunities for software developers. They’re able to embrace new tooling: container-packaged, dynamically managed, microservices-oriented development.
In fact, the concept of microservices goes hand-in-hand with Cloud-based development platforms. Developers must build applications while always keeping the principles of modularity, versatility, agility and speed at the top of their minds.
To achieve this, microservices involves writing smaller functional applications that can be seamlessly connected to build out a complete application and can be reused in a number of different contexts.
But for developers, perhaps the biggest advantage of modern, open-standards Cloud platforms is the libraries of pre-built services that they can access from the vibrant OpenStack community: the likes of software development tools, web-services, e-commerce plugins, databases, storage, and analytics engines, among others.
The beauty of being able to integrate new innovations from the OpenStack community is that it’s always expanding, as new features and benefits arrive on a daily basis. Developers can simply plug-in the latest and greatest features in any of the DevOps toolchains created by the community.
This kind of service provisioning reduces the overheads associated with system management and remove roadblocks so that teams are unhindered by infrastructure delays.
With self-service dashboards, developers can rapidly move from coding prototypes with small datasets, to scaling them out on clusters of virtual instances.
Cloud platforms allow for development and testing environments to be built up and torn down as needed, allowing teams to experiment freely and only pay for the resources they actually consume.
And, as developers bring their solutions into a state of full-production, Cloud-platforms enable them to grow and shrink their offerings as they need to. This way they never have to worry about provisioning any physical infrastructure of their own.
Considering that the next layer to gain significant momentum in the “cloudverse” is Business Process as a Service, design choices made early in the journey will have an ever-increasing impact on future capability. Ultimately, the key to achieving flexibility and freedom is to adopt an open standards approach to one’s Cloud journey.
In the era of Cloud-powered businesses and microservices-oriented development, you need to be free of vendor lock-in, capturing the advantages of open APIs and an ever-expanding open source community, and even having the ability to influence the direction of these ecosystems.