Level 0 Cloud Fundamentals What is Traditional DC Traditional data center is a facility where an organization establish dedicated physical network connectivity, install physical server, storage systems database server, power and cooling. Business applications are installed on top of this physical servers. Key Challenges of Traditional DC CHALLENGES The Traditional datacenter approach is manual intensive so take long time for deployment. Longer Deployment time Require high CAPEX cost for procurement of new physical appliances. Require high OPEX cost on power, cooling, maintenance and management of hardware. Huge Cost Frequent procure, design, deployment of new appliance due to short life cycle. Shorter Life Cycle Complexity Increase complexity with large variety of hardware appliance. How the Need For Evolution Arises What is Cloud The term “Cloud “refers to a Network which provides the delivery of computing services - servers, storage, databases and networking over the internet and customer pay as per use. In other words, we can say that Cloud is something, which is present at remote location and handled by cloud service provider who is responsible for all infrastructure components and customer can directly use services. They do not need to worry about any maintenance or management of hardware or software resources. Characteristics Of Cloud Benefits Of Cloud Cloud Service Models IAAS (Infrastructure as a Service) Use only infrastructure from cloud provider Also called "Lift and Shift" Example: Using EC2 to deploy your applications or databases You are responsible for: Application Code and Runtime Configuring load balancing Auto scaling OS upgrades and patches Availability etc.. ( and a lot of things!) Cloud Service Models PAAS (Platform as a Service) Use a platform provided by cloud Cloud provider is responsible for: OS (incl. upgrades and patches) Application Runtime Auto scaling, Availability & Load balancing etc.. You are responsible for: Application code Configuration CAAS (Container as a Service): Containers instead of Applications FAAS (Function as a Service) or Serverless: Functions instead of Applications SAAS (Software as a Service) Cloud Deployment Models Cloud Terminology Scalability Scalability is the feature to expand the capacity of existing system either by adding more resources to the hardware (vertical scaling) or adding additional nodes parallel to existing system (horizontal scaling). Cloud Terminology Elasticity Elasticity is the ability to fit the resources needed to cope with loads dynamically usually in relation to scale out. So that when the load increases you scale by adding more resources and when demand declined then remove extra resources and shrink back to original size. Cloud Terminology Availability High availability is the goal of moving to the cloud. This is directly correlated to uptime of services The idea is to make your products, services, and tools available to your customers and employees at anytime from anywhereusing any device with an internet connection. Durability Durability refers to long-term data protection, i.e., the stored data does not suffer from bit deterioration, degradation, or other corruption. Rather than focusing on hardware redundancy, it is concerned with data redundancy so that data is never lost or compromised. You can achieve durability by By taking regular backups Storing resources in different geographical locations to sustain disasters. Performing checksums on data and repairing the corrupted data from backups. Functional requirements A functional requirement will describe a behavior of function of the system when certain conditions are met. For example, authentication, historical data , administrative functions. Non-functional requirements It generally specifies the system’s quality attributes or characteristics. For example, scalability, capacity, reliability , recoverability. Cloud Terminology Multitenant It is shared environment which is being used by multiple customers. Immutable infrastructure In this build new infra and run code on new server and once successful then decommission the old server. It takes few seconds to build new server so why you waste time to fix the server which is having problems. Just switchover from old to new server. There is no chance of any kind of downtime. Synchronous communication Synchronous communication requires a response back before continuing to the next task/person. Synchronous is in “real time” like a phone call. You ask a question I answer, I can’t move forward till you respond. For example, I have database (primary & secondary). If I am using synchronous communication, then the data will first be written to primary and then it will send request to write to secondary. The primary server will wait until it doesn’t receive acknowledgment from secondary server regarding write operation. Asynchronous communication Asynchronous not in real time like a text or a email. I can send out 20 texts or emails and respond as they come in. I sent them and do not have to wait for a response from one to answer another. How Cloud Made The Difference? Short term infrastructure requirement Typical Use Cases Of Cloud 1. Hosting applications 2. Content delivery Network 3. High performance computing 4. Demo and POC requirements 5. Backup 6. DR solutions Concerns Of Cloud Data loss Legacy applications support Data location Long term viability Investigation support Offline access Few Key Players Of Cloud High Level Of AWS Cloud Infrastructure Region DC1 DC1 DC2 DC2 Availability Zone 2 Availability Zone 1 DC1 DC2 Availability Zone 3 Why We Should Learn Cloud? More and more companies are moving infrastructure to cloud. Business growth and expansion for organizations. Knowledge and certified talent requirements to manage cloud. Application architecture development on cloud. Need to be in sync with latest technology trends. Thank You