Cloud is essentially a datacentre. It provides access to shared and configurable resources via the internet. It allows organizations to not worry about the underlying infrastructure and focus on the value they can provide to customers by rolling out applications and services.
Why is everyone going bonkers about moving to cloud? Security, reliability, scalability, performance, cost optimization and the works make it so viable.
Having worked in Operations I have immense respect for these features and the value add it provides to the organization and its customers.
If Cloud is a datacentre, what makes it different?
|Traditional data centre||Cloud|
|Security||Security is shared responsibility. Whether it is traditional on premise infrastructure or Cloud there needs to be a balance between security of the infrastructure and the data or the application.||Security is shared responsibility. Whether it is traditional on premise infrastructure or Cloud there needs to be a balance between security of the infrastructure and the data or the application.|
|Reliability||If you have good monitoring in place, you will get alerted to any issue with your servers. You will either divert traffic to your DR site or take an outage while you fix the issue.
And if a replacement is required from your vendor, then you add to your outage window.
Manual work involved is high. So is pressure.
|If any of your instances is unhealthy, another instance is spun up automatically. Work continues as usual.
No manual intervention required.
|Performance||It is a busy time for your business and traffic to your application is going beyond usual. If your instances cannot handle the traffic, adding more CPU for example will require hours and hours of wait before your vendor can provision it after all the processes and approvals are done.
During this time, your customers are impacted and it is not what we strive for.
|Your application can scale automatically to cater for increasing traffic and when the traffic normalizes it can scale down.
No manual intervention required.
|Cost Optimization||Basis the performance example, you have added more instances to cater for increased traffic and now you are paying for it even though you don’t need it after the traffic has normalized.||Pay as you go.
Since your instances scale up and down in direct proportion to traffic you only pay for what you need.
If your non-prod environments are not used 24X7, shut them down after-hours which can be a huge cost benefit.
|Delivering to market||Implementing a new idea, would mean guesstimating the required infrastructure and acquiring it. If the idea doesn’t work, you will be left with infrastructure you do not need.
Also acquiring infrastructure would mean – process, time and pay.
|You can quickly deploy your idea to cloud to validate its use.
Once you roll back you are no more paying for the infrastructure. This enables us to fail fast and learn.
|Staying relevant and competitive||Release to market takes longer and is cumbersome process.
You get higher control of your environments which translates into faster turnaround times.
|Start-ups are enabled by cloud technology.
A new idea can be rolled out as beta in months and new versions can be shipped to market in a competitive time frame.
All of this and more can be enabled by cloud computing. However, it is worth noting it is up to us to design our applications to make full use of the services and features of Cloud. The onus is still on us to deliver world class applications. Cloud enables us to achieve that goal seamlessly.
Lifting a crappy application and shifting it to the Cloud will not provide any advantage. That is where we can step in and drive the conversations.
How does a Business Analyst play a role?
All the above benefits of cloud technology can only be leveraged if the application is designed to incorporate all the cool features that cloud can provide.
The questions to ask:
- Have we considered security in the cloud?
- Have we designed the application to be highly available, making use of multiple availability zones and regions offered by cloud?
- Have we catered for reliability?
- Have we ensured our infrastructure is scalable?
- Have we made use of CDN (Content Delivery Network)?
- Have we made use of tools for logging and monitoring to be proactive?
- Have we made use of cloud features that make our applications easy to run and use?
- Are we still building monoliths?
If you observe, the questions that we need to consider are not very different in the Cloud. However, we can get these features implemented with ease within short time frames.
Over years these features have taken a backseat only because of the time and effort required to roll it out along with the functional requirements. Cloud has now made it easier to implement. As a Business Analyst now we can incorporate these as features or acceptance criteria. We can lead the way where we ensure non-functional requirements are the pillars for functional requirements and they are not mutually exclusive. We can educate ourselves and others as to how Cloud makes it easy for the business to achieve these.
If you are new to Cloud and learning a new technology seems daunting:
- Understand the concept of cloud computing.
- The features that it provides
- Doesn’t matter whether you pick Azure, AWS, Google cloud platform
- Pick one and understand the basics via millions of courses available
- Few lectures in and your fear will start dissipating
Let curiosity drive you!!!