Cloud Migration Strategy
JAMSA, KRIS. CLOUD COMPUTING, 2nd Edition. S.l: JONES & BARTLETT LEARNING, 2022T
Objectives
1. Analyze the technical and business considerations necessary to develop an effective cloud migration strategy
2. Prioritize applications for migration to the cloud
3. Define and describe business continuity and disaster recovery
4. Define and describe vendor lock-in and discuss ways to avoid it
5. Discuss key budget factors impacted by the cloud
6. Discuss components often found within a service-level agreement (SLA)
7. List specifics aspects of the cloud deployment that a manager must oversee
8.Define requirements for migrating an application to the cloud
9.Describe the importance of establishing a realistic cloud-deployment schedule
10. Discuss potential IT governance issues related to the cloud
Takeaways
- Web2 is a set of tools and websites that allow users to publish content without using HTML.
- Delivery models include public, private, community, hybrid.
- Service models include IaaS, SaaS, PaaS.
- Virtualization creates the perception of something using hardware and/or software.
- SaaS pros: reduce need for on-site data center, eliminate application administration, pay on demand, scalability, device-independent access, disaster recovery.
- SaaS cons: concerns about data residing in the cloud, customization challenges.
- PaaS provides hardware and software resources for building and deploying cloud applications.
- Windows-based or Linux-based PaaS solutions.
- Cloud history:
- Mainframe computers in the 1960s-1980s.
- Dumb terminals and IBM PC in 1981.
- Developers using languages like HTML, Perl, and ASP.
- Blade servers and PaaS.
- Benefits of PaaS:
- Lower total cost of ownership.
- Lower administration overhead.
- More current system software.
- Increased business and IT alignment.
- Scalable solutions.
- Cons of PaaS:
- Data security concerns.
- Challenges integrating with legacy software.
- Risk of breach by PaaS provider.
- IaaS requirements:
- High-speed and redundant internet service.
- Air conditioning and power supply.
- Fire suppression systems.
- Administrative staffing.
- Load balancer:
- Balancing traffic between servers in IaaS solutions.
- Colocation:
- Employing duplicate off-site servers or disk-storage devices.
- Single sign-on (SSO) software simplifies user access to multiple systems.
- Federated identity management (FIDM) enables security credentials across different domains.
- Authentication, authorization, account management, and audit logging are key FIDM processes.
- SAML is often used for packaging security credentials.
- File servers evolved to allow direct file access on the network.
- Storage area networks (SANs) extended file server capabilities.
- Network-attached storage (NAS) devices offer reliability, performance, compatibility, and easy backup.
- Cloud-based data storage pros:
- Scalability, pay for use, reliability, easy access, easy use, automatic data sync.
- Cloud-based data storage cons:
- Requires internet connection, performance concerns, security risks, potential data loss, credential handling.
- Operating systems allow users to run programs and store/retrieve data.
- File systems manage file storage and retrieval.
- Cloud-based databases can be used by both cloud-based and on-premise applications.
- Advantage: cost-effective, high availability, data redundancy, reduced administration.
- Disadvantage: data security, performance concerns.
- Questions to ask when considering a solution: scalability, security, costs, staffing impact, learning curve.
- Virtualization creates the perception of entities that are not physically present.
- Server virtualization, desktop virtualization, virtual networks, virtual storage.
- Two types of hypervisors: Type 1 (performance and security) and Type 2 (simpler management).
- Pros of virtualization: increased utilization, decreased footprint/power consumption, simplified administration, scalability, flexibility.
- Cons: training, compatibility, slight performance overhead.
- Data security risks: wiping data, DDoS attacks, packet sniffing, man-in-the-middle attacks, monitoring device screens, malicious employees, hypervisor attacks, guest-hopping attacks, SQL injection attacks, physical security.
- Disaster recovery: recovery point objective (RPO) and recovery time objective (RTO).
- Identify assets to protect and associated risks.
- Mitigating risks: disk backups, RAID systems, cloud-based storage, power supply protection, colocation, antivirus measures, fire/flood prevention, employee management, equipment tracking.
- Desktop failures, server failures, network/database issues, phone system problems are potential disaster scenarios.
- SLAs (service level agreements) include performance benchmarks.
- Develop a disaster recovery plan (DRP) to outline actions and processes for recovery.
SOA (Service-Oriented Architecture)
- SOA is a system design based on integrating services.
- Services are distributed on the web for reuse.
- Programs exchange messages with services through remote procedure calls.
- Web services (microservices or API)
- Program code on the web performing specific tasks for other programs.
- Pros: code reuse; Cons: performance concerns.
- Scaling
- Load balancer distributes services to multiple servers.
- Loose coupling
- Degree of dependency between calling programs and web services.
- Web services should be loosely coupled.
- Web service governance
- Developed and deployed by reputable companies.
- Scalable and validated for correct results.
SLA (Service Level Agreement) components
- Goals, services provided/not provided, uptime, monitoring, billing, support, data center, colocation, privacy, security, roles, backup, ownership, provisioning, insurance, reporting, resolution.
- Cloud provisioning considerations
- Provisioning responsibility, timing, physical/virtual servers, system configuration, security, automation, monitoring, cloud sprawl.
- Vendor lock-in and source-code escrow
- Provider's data export support and availability.
- Source-code escrow for programming-language source code.
- Capacity planning and scaling
- Define response-time metrics and include them in the SLA.
Training factors and budget breakdown
- Employee preparedness, API training, administrator and IT-audit group training, help desk, business continuity training.
- Budget breakdown: rent, power, collocation, servers, data storage, network, payroll, licenses, maintenance.
- Cloud bursting
- Expanding on-site applications into the cloud during high demand.
Corporate governance and auditing
- Guides company operations and decision-making.
- IT governance subset includes policies, controls, performance, ROI, risk mitigation.
- Cloud governance considerations
- Access, security, multitenancy, testing, uptime, maintenance, controls, logging, performance monitoring, upgrading, auditing.
Total Cost of Ownership (TCO)
- TCO components: software, hardware, data storage, network equipment.
- Economies of scale and cost savings
- Cloud admin costs per server decline with expansion.
- CAPEX and OPEX
- CAPEX: large expenditures (plant, property, equipment).
- OPEX: ongoing costs (power, rent, maintenance, internet, software).
- ROI (Return on Investment)
- ROI = Income (or savings) / Cost.
- Example: ROI of 28% for saving $7,000 with a $25,000 investment.
- Profit margins:
- Profit margin = (income/revenue) * 100.
- Cloud can increase income and profit margins by reducing costs.
- Chargebacks:
- Cost allocation method, splitting costs among different departments.
- Moore's Law and cloud:
- Transistors on integrated circuits double every two years.
- Computing devices have a short effective life expectancy.
- Right sizing:
- Goal of high utilization, but not maximum utilization.
- Other metrics:
- System availability, processor utilization, time-of-day utilization, time to market, opportunity costs, user experience, market disruption.
System requirements:
- Functional requirements specify system tasks.
- Nonfunctional requirements specify system operation factors.
- Design considerations:
- Accessibility, audit, high availability, backup, capacity, configuration management, deployment, disaster recovery, green computing, interoperability, maintainability, performance, portability, reliability, robustness.
Scalability:
- Ability to add or remove resources based on user demand.
- Load balancing (LB):
- Distributing client requests to available servers.
- Vertical scaling:
- Scaling up by moving to faster computer resources.
- Horizontal scaling:
- Scaling out by supporting multiple CPUs/servers.
- Minimize objects:
- Reduce the number of objects on key site pages for faster loading.
- Measuring time and performance benchmarks.
- Database analysis and distribution of read operations.
- SLA (Service Level Agreement) and downtime.
- Capacity planning and scalability.
- Diminishing returns and system bottlenecks.
- Focus on the 20% of code for performance tuning.
- IoT risks:
- Hacked medical devices, smart cars, individual device hacking.
- Eavesdropping, ransomware targets, war driving.
- Secure WiFi networks and strong usernames/passwords.
- Pareto Principle (80/20 rule):
- 80% of development time, errors, CPU processing time, and system use are concentrated in 20% of the code.
- Focus optimization efforts on the 20% of code used most often.
- QoS (Quality of Service):
- Subjective measure of a service's ability to be consumed in good conditions.
- Reflects service availability.
- SLA (Service Level Agreement):
- Contract between a provider and customers, specifying the expected quality of service.
- Cloud Migration Strategies:
1. Rehost (Lift & Shift):
- Quick migration with minimal risk.
- No changes required in application or configuration.
- Limitations in utilizing cloud native services.
2. Revise:
- Modify existing code to run in the cloud.
- Increased elasticity and reduced resources compared to on-premises.
- Requires longer migration time and new application configuration.
3. Refactor:
- Rewrite code to improve quality and functionality.
- Takes advantage of cloud native capabilities.
- Requires architectural, methodological, and technological changes, increased costs and time.
4. Rebuild:
- Discard current code for a new implementation in the cloud.
- Increased performance, flexibility, and scalability.
- Requires new or updated source code, data, and deployment transformation.
5. Replace:
- Replace existing solution with a commercial one.
- Speedy migration with minimum effort.
- Dependencies on new solution and investment in knowledge and administration.