Over the coming years, more companies will move their applications to the cloud. They will deliver software faster and more reliable by leveraging innovative cloud services and embracing a DevOps mindset and culture. They will become cloud native. This means that applications will be built and run by fully exploiting the advantages of the cloud. But what are the benefits? What is the best approach to move existing applications to the cloud?
The Internet of Things
The Internet of Things is becoming more and more popular, moving away from connected home appliances to connected homes, offices and cars. All these devices need backend systems that can scale infinitely. Not just because it’s impossible to predict how much usage there will be, but because customers want real-time data processing. Cloud offers the capacity and elasticity to meet these demands more efficiently than on-premise infrastructure.
Artificial Intelligence as a Service
Cloud is also making Artificial Intelligence more user-friendly and accessible. Take facial recognition for example: just send the picture to an “Image Recognition-as-a-Service”, and it will tell what objects are in there (or not), if the face is from the same person, etc. Other examples are text-to-speech and speech-to-text services, paid per request. We’ve all heard of Siri, which is a very limited AI on our phone which we can’t extend. But recently Amazon introduced Alexa on their Hero IoT device, which can be extended. The same cloud services can now be used by anyone to build new applications and IoT devices, like check-in at airports or chatbots during festivals.
When talking about moving to the public cloud, one argument always comes to table: vendor lock-in. The risk here is that organisations try to avoid vendor lock-in by building their own abstraction layers on top of cloud services, or buy expensive software which can run on multiple clouds. Or even worse, they start building their own cloud on-premise. If you ask these organisations how quickly they could migrate away from their current “vendors”, they will say months, requiring lots of external effort to do so. Organisations have learned from this experience and have found better ways to avoid vendor lock-in.
One way to mitigate vendor lock-in is by using open source. Over the last couple of years, enterprises have started to embrace open source software. Open source offers lots of benefits: you don’t have to pay licenses, and you have free (community) support. But to build mission-critical software on top of fast moving open source software is still very tricky. Cloud has a solution to this problem. More and more cloud services are based on open source technologies. Take Google Container Engine for example. It is based on Kubernetes, one of the most popular open source projects. But Google handles the lifecycle management and availability. This allows companies to use cutting edge open source technologies, while the cloud provider makes sure it’s available, reliable and secure.
Another way to mitigate vendor lock-in is to modify your application itself. Take NoSQL for example. It’s easier to move from NoSQL services like DynamoDB (AWS) to DocumentDB (Azure) by updating parts of your application, than it is to build your own NoSQL cluster with the same level of security, availability, reliability and performance. Building your own NoSQL cluster is also more expensive and require lots of operational skills. Whether swapping between providers daily, monthly, early or never, embracing Cloud Native is quicker and cheaper.
Most organisations that embrace cloud services, realize that not having to manage their own infrastructure gives a lot of advantages in return like cost savings, innovation pace, access to talent and highly secured platforms. So, while they can switch clouds easily, why would they?
Multiple layers of defense
- Operational Security: Intrusion detection, reducing insider risk, safe employee devices and credentials, safe software development
- Internet Communication: Secure frontend, DoS protection
- Storage Services: Encryption, data deletion
- User Identity: Authentication, user abuse protection
- Service Deployment: Access management of end user data, encryption of inter-service communication, inter-service access management, service identity, integrity and isolation
- Hardware Infrastructure: secure boot stack and machine identity, hardware design and provenance, security of physical premises
One of the main drivers is trust. Companies will start to trust the public cloud more than their own data centers. To make cloud more tangible: Every day, Amazon Web Services adds the capacity equivalent of a Fortune-500 company! The providers are proving to be more secure and reliable than traditional data centers. Cloud providers invest significantly in security, both in hardware and software to meet the strict requirements and demands of enterprises. Cloud providers make sure that your digital assets and information are stored securely by offering multiple layers of defense (see Multiple layers of defense).
Function as a Service
Cloud services traditionally charged customers by pay-per-use. You rent a VM for an hour, and you pay for an hour. But what if you don’t need this VM running all the time, but just use it to run a simple function? Meet Function as a Service, also called FaaS. With FaaS, you can just deploy your function to the cloud, which only runs when it’s triggered by an event. Take for example a file upload, that’s being scanned for viruses. You upload the file to a bucket, the function kicks in, sends it to a virus scanner services, and the file is either processed or deleted. You don’t need a 24/7 running VM, and you only pay per request. Over the next coming years, this will become an integral part in software architectures.
Cloud minded engineers
Lots of organisations are adopting DevOps and agile practices. But with the cloud, the infrastructure becomes part of the core application and development processes; Infrastructure as Code. There is not much work left for traditional system administrators. Some of them already invested in cloud and development skills, but certainly not everyone.
The T-shaped profile is coming in demand quickly in all kinds of disciplines. A T-shaped profile means that a professional has deep related skills in one field of expertise, but at the same time also possess the ability to collaborate across disciplines with experts in other areas. T-shaped professionals can apply knowledge in areas of expertise other than one’s own. Take for example cloud engineers: they require deep knowledge of cloud, but they also possess skills in software development, system administration and security.
To keep ahead of the competition and to attract IT-talent, you need to innovate rapidly. Cloud is expanding exponentially, while the availability of skilled cloud engineers is stabilising. Engineers need to become “cloud minded” with a T-shaped (see T-shaped profiles) profile, which doesn’t happen overnight. Cloud-minded means that the best practices of software development need to be combined with thorough knowledge of the cloud solutions and architectures.
This article is part of the Urgent Future IT Forecast 2017.