The Cloud as a Computing Platform: Options for the Enterprise Anthony Lewandowski, Ph.D. Solutions Architect Implicate Order Consulting Group LLC 571-606-4734 alewandowski@implicateorderllc.com
The origins of the cloud the Hypervisor The Hypervisor Computer software that abstracts-away computer hardware details Invented in 1969, improved in the 70's and 80's, first commercialized for Intel platforms in the late 90's by VMWare. Operating System interacts with virtual hardware comprised of aggregated from a vast array of underlying real hardware resources. Guest OS/Virtual Machine Model Oracle's Virtual Box, MS Virtual PC Para Virtualization Xen (open source), Citrix XenServer, Oracle VM Full Virtualization VMWare ESX, Microsoft Hyper-V Linux Kernel-based Virtualization KVM (open source)
Traditional use of hardware Tight coupling between the OS and Hardware Scaling requires more hardware instances, or more powerful hardware Inefficient use of resources (wasted capacity during periods of low activity) Operating System 180 GHz + 576 GB Operating System Min. Requirement: 90 GHz + 292 GB Physical Layer Hardware 180 GHz + 576 GB RAM Mainframe Expensive Single point of failure
Using Hardware Dynamically with a Hypervisor Loose coupling between the OS and Hardware Scale-out with commodity hardware Virtual Machine Hypervisor 180 GHz + 576 GB Min. Requirement: 90 GHz + 292 GB Physical Layer 60 GHz + 192 GB 60 GHz + 192 GB 60 GHz + 192 GB Virtual Machine Hypervisor 120 GHz + 384 GB Min. Requirement: 90 GHz + 292 GB Failed Node Physical Layer 60 GHz + 192 GB 60 GHz + 192 GB 60 GHz + 192 GB
Government IT drivers affecting architecture Trend Factors: Overall IT Spending is going down Data Center Consolidation/Move to the Cloud Shared IT Services Better IT project management Cyber-Security & Cyber-Warefare Emerging Federal Mobility Strategy Architect s Challenge: Do more with less >> Open Source Design for the Cloud, Migrate to the Cloud Design as reusable components and/or as SOA (2.0) Use Agile and/or Iterative (MED) methodologies Continuous Monitoring, Trusted Connections/Einstein, HSPD-12 Leverage multi-platform mobile development techniques
The goals of software architecture Cloud's Impact on goal Low Extensible Can it be changed easily? Med Maintainable Based on standard patterns and processes? Med High High Low Low Reusable (Sharable) Scalable Cost-effectiveness User Expectations Client Requirements Shared across the organization? Meet current and future performance needs? Satisfy the budget needs? Satisfy the real business needs? Satisfy the stated business needs?
Types of Cloud Services - IaaS Infrastructure as a Service (IaaS): Virtual Machines Servers Storage Load Balancers Network Components
Types of Cloud Services - PaaS Platform as a Service (PaaS): Execution runtime - a cloud operating system (e.g. Microsoft Azure OS) Database (e.g. AWS Dynamo, RDS, EnterpriseDB, SQL Azure) Web Server Development Tools (Message Queues, ESB, Workflow engine, Rules engine)
Types of Cloud Services - SaaS Software as a Service (SaaS): CRM Email Virtual Desktop Communication (PBX, Conferencing) Collaboration Tools (source control, document/content management, etc)
Options for the Enterprise SaaS is Quickest & Easiest Move to Software as a Service for core business functions. Some examples: Desktop Suite MS Office 365 Email, Sharepoint, Office suite Google Apps Email, documents, calendar, etc. icloud Email, document, calendar, etc. OfficeTime Timesheet application SageOne Invoicing, project tracking, expense mgt. Adobe Connect full featured conferencing option. Salesforce.com CRM Intuit Online & Payroll Plus small business accounting See 20 Top Cloud Services for Small Businesses for complete list (http://www.pcmag.com/article2/0,2817,2361500,00.asp )
Changes occur when moving to the cloud Things that get better: Scaling improves dramatically. Scaling can automatically go up or down. Costs should reduce significantly Monitoring usage improved. Continuity of Operations (COOP) and Disaster Recovery (DR) Things that might stay the same: Meets Requirements/Expectations Reusable (Sharable) Maintainable Extensible Things that might get worse: Performance, all things being equal (but this depends on many factors) Security, all things being equal (but this depends on many factors)
Amazon Web Services Key Services CloudFormation Use to define environment templates that can be easily instantiated. CloudFront Highly scalable digital (music, video) content delivery framework. CloudWatch Monitoring tool. Collect, view and analyze usage metrics. DynamoDB NoSQL database Elastic Compute Cloud (EC2) Service that sets up and manages the virtual machines and load balancers ElastiCache Service developers can use to store large amounts of data in memory to support high-transaction volume applications. Elastic Beanstalk A set of programming components (Beanstalk components) developers use to access the various Amazon cloud services from within the app. Elastic MapReduce An analytics service that allows application to analyze large data sets stored in any Amazon data storage service.
Amazon Web Services Key Services Identity and Access Management (IAM) A user provisioning service, essentially an enhanced LDAP server for the Amazon cloud. Relational Database Service (RDS) A scalable, managed relational SQL database. Route 53 A scalable DNS service Simple Email Service (SES) A SMTP service. Simple Notification Service (SNS) A notification service. Simple Queue Service (SQS) A message queue service Simple Storage Service (S3) A file storage service. Simple Workflow Service (SWF) Used to manage workflows and task scheduling. Storage Gateway Allows Amazon to store data to the customer s infrastructure.
Architectural Styles and Patterns (Cloud) Cloud Application Pattern Example National Archives and Records Administration (NARA), Description and Authority Service System (DAS) Overview of Environments
Architectural Styles and Patterns (Cloud) Cloud Application Pattern Example National Archives and Records Administration (NARA), Description and Authority Service System (DAS) Production Environment
Thank You Questions?