Working in the Cloud is a Team Sport
Tuesday, October 27, 2015
When you or your organization make the decision to put your application in the cloud, whether you know it or not, you just added new team members.
In the spirit of Major League Baseball playoff season, I think an analogy about America’s favorite pastime might work well to illustrate. When a pitcher throws a perfect game, even if they strike out every batter, they didn’t achieve this milestone alone. The catcher is calling pitches and catching each one of them. Then of course nobody strikes out 27 straight batters, so add in the fielders making plays. And of course, without any runs the perfect game will never happen, so batters are needed too. Yes, a basic example, but a team.
With your organization’s decision to make the move to a cloud provider, you have just joined a team. You have not only your colleagues, of course, but now have “signed free agents” onto your team from that cloud provider.
Becoming a Team of Players
Now that your team has started to be assembled, you need to start building your lineup. You need to first look at what your goals and the strengths of your teammates to determine what you have and need. Not until you have done that analysis can you really get started.
It starts with your requirements
I am not talking about low level coding requirements here, but those of what we would call the system or even systems of systems. A system is a makeup of all of the components required to run your application and includes software, hardware and non-tangible pieces like security too. When you start planning out those requirements, some components to consider include:
- Application servers
- Database management systems (DBMS)
- Uptime and availability
- Hardware (can be broken into many pieces)
- Disaster recovery
- Backup and recovery
- Content management systems (CMS)
- Datacenter operations
And this is just a sample list of which each component can be broken into smaller requirement sets as well.
Assessing the abilities of your team
As with any project, the team responsible for designing, building, delivering and maintaining it is critical to your overall success, and expertise to meet your requirements a must. But how do you assess your available skills?
First, you must know what you need and that is why requirements came first. Now we can look at what we have, the roster of players on our team. Start with your in-house team, but don’t just stop with their abilities or skills, also look at their availability. Your shortstop may also be a great third basemen so to speak, but they cannot play both at the same time. So, be sure to include in your assessment the time requirements.
Once you have been able to map out the abilities of who you have available on your team, a gap analysis can be done to determine additional needs. Now you get to play the role of team general manager.
You should also look at what may make the most sense financially and physically. Would a team of security experts be more valuable than relying solely on that single employee who has three other responsibilities and certainly cannot be available 24x7x365?
Picking your cloud provider
A major part of picking your cloud provider will be determined by this gap analysis and needs assessment. If you have almost everything covered other than the infrastructure and its management, then maybe one of the bigger infrastructure as a service (IaaS) providers makes sense. You manage most and rely on them for the rest.
Security and Compliance
If security and or compliance is a major need, then leveraging a cloud provider who specializes in that area might make a lot of sense so that your security players, if you have any, can focus on your in-house pieces and rely on the cloud provider’s security team for the rest. Looking for a provider who has a Security Operations Center (SOC) can be quite useful. They can help with patches, alerts, around the clock knowledge and support as well as monitoring and remediation should an issue arise.
When it comes to compliance mandates and audits it is always helpful to have an expert on the team. Compliance requirements and audits can come from the government, industry organizations, suppliers, customers and more, and you can never be too prepared or have too much experience. A provider who deals with compliance often will go through dozens of audits a week and knows exactly what to look for, but more importantly, what policies and technologies to put into place ahead of time to simplify audits and better secure your systems.
Monitoring, Responding and Scaling
Another piece that often comes up when looking at how the cloud provider can play a position on the team is monitoring and response, including scaling your systems when the need arises. By putting the provider in a position responsible for monitoring and response, you are helping other players better leverage their skills and work as a part of your team.
Not unlike security, network and system monitoring, including the application and database is a specialized skill required all of the time. Your application is expected to always be running and that means it must always be watched and concerns immediately responded to. This generally isn’t the role of a single individual, but that of a team within your team, making it difficult to staff on your own from within.
This team will put the tools in place to monitor your application for availability, performance, and more. They will respond to alerts, scale servers, clone to new servers if sudden bursting is needed and work with you and the rest of the team to assess ways to improve performance and availability.
These were just a few basic examples of ways to assemble a world class team from inside and outside of your organization when moving your applications to the cloud and building out an entire system. You of course need to assemble a team that works well together means the overall organizations goals and delivers the experience your customers expect and need.
Working with the right managed cloud provider can give you benefits well beyond the costs, although those can be significant. You can gain expertise within your team that you likely couldn’t justify adding to your staff and even if you could, it would take many new hires to fill all of the gaps that a single provider should be able to satisfy.
Just looking a simple numbers, for less than the cost of a single fully loaded employee, you can receive the benefits of multiple people who have expertise in different areas of the cloud, security, infrastructure, facilitates, applications, databases and more, all while getting the required hardware at the same time. Now those are economies of scale that make sense.
If you have any questions or would like to chat further about anything related to cloud hosting, please feel free to shoot me an email.
And if you are looking for a cloud hosting option that understands agile software development, I’d be glad to talk about that as well. At INetU, we take a consultative approach from the beginning, ensuring that your systems are architected for performance, reliability and the industry’s highest level of security. Each of our customers is assigned a Chief Hosting Officer who proactively supports your systems for today with an eye toward your future business needs.
We treat your business as if it was our own. Which it is, because we are hosting your most critical resource.
Read more: https://www.inetu.net/
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
MEMBERS GET ACCESS TO
- - Exclusive content from leaders in the industry
- - Q&A articles from industry leaders
- - Tips and tricks from the most successful developers weekly
- - Monthly issues, including all 90+ back-issues since 2012
- - Event discounts and early-bird signups
- - Gain insight from top achievers in the app store
- - Learn what tools to use, what SDK's to use, and more