Vadym Fedorov is a Solutions Architect at SoftServe, a leading global software application development and consulting company, and a regular blogger on the SoftServe United blog. Vadym has 12 years experience in enterprise application development, as well as 2 years’ experience in Cloud and operations optimization.
Today’s Internet space is full of articles about how cloud improves your business, but how does cloud influence your personal career? In short, moving to the cloud has a lot of both challenges and opportunities for IT professionals. Design, development and operations of the cloud solutions are not rocket science, however it requires a little bit different knowledge and shifts from traditional development and operational processes.
Bad news: you have to learn new approaches, technologies and reprogram your mind for a cloud computing mindset.
Good news: more and more organizations are moving to the cloud and are looking for professionals with cloud-oriented thinking. So climb your career until you can reach the Cloud.
What would I recommend to those who are willing to “cloud” themselves?
1. Learn patterns and practices how to archive high scalability, high availability, and design application for elasticity. You need to accept the fact that cloud solutions may use the same technologies deployed on premises, however you will run into issues related to scalability, monitoring, and elasticity of your own solution since they differ from the approaches to a traditional datacenter. For example, on premises you are in full control of infrastructure, but on cloud you aren’t.
2. Learn cloud provider pricing models and cost optimization approaches offered by a specific cloud provider. A cloud infrastructure is elastic by default and you pay as you go for used resources, like CPU, network and storage. There is always a way to decrease cost of an infrastructure, but you need to know well how a cloud provider bills for resources. For example, you could rewrite an application from python to golang and handle more http requests decreasing a number of the required web servers. If you introduce cache you can decrease the number of requests to a cloud service, where a cloud provider charges for number of requests, etc.
3. Learn DevOps approaches. Development on the cloud is expensive, that’s why most of the developers prefer developing and doing initial testing locally, and only then deploy on the cloud. Deploy changes manually: if you have several hundreds of servers or spin them up manually with installation of the required software configuration, you must be joking. DevOps practices can help you make deployment on cloud easily and reduce efforts required for operations like deployment of a new product version.
As I have already mentioned, all these tips are nothing revolutionary, but they will help you recap how to bring maximum value for your business, as well as increase your value for your employer.
Do you have any recommendations not mentioned above? Let us know in the comments section or via @TechNetUK