You’ll make breakthroughs InterSystems Cloud Computing Strategy Ray Wright, Senior Sales Engineer You’ll make breakthroughs InterSystems in the Cloud You’ll make breakthroughs What is the Cloud ? Dilbert 2013 2011 2009 You’ll make breakthroughs What is the Cloud ? The National Institute of Standards and Technology definition of “The Cloud” “Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” You’ll make breakthroughs What is the Cloud ? The National Institute of Standards and Technology definition of “The Cloud” “Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” You’ll make breakthroughs Evolution of the Cloud You’ll make breakthroughs Cloud Based as-a-Service Options • Many acronyms – XaaS or “something” as a Service • Infrastructure as a Service (IaaS): The hardware and software that powers it all – servers, storage, networks, operating systems • Platform as a Service (PaaS): The set of tools and services designed to make coding and deploying those applications quick and efficient • Software as a Service (SaaS): Applications are designed for end-users, delivered over the web You’ll make breakthroughs SaaS You’ll make breakthroughs SaaS You’ll make breakthroughs InterSystems Definition of Cloud Computing Harnessing advances in information technology to accelerate value delivery to customers You’ll make breakthroughs InterSystems Definition of Cloud Computing Harnessing advances in information technology to accelerate value delivery to customers You’ll make breakthroughs Types of Cloud Computing • Public Cloud — an infrastructure as a service (IaaS) provider such as Amazon EC2, Rackspace, Azure, etc. • Private Cloud — either provided by an IaaS, or hosted internally at the customer site (using something like Openstack or Cloudstack) • Virtualization-based Cloud — this would be something like a VMware (vCloud) environment, or even a fully virtualized environment • Customer SaaS offering — where a partner has built a solution based on our products and delivers that solution on a SaaS basis You’ll make breakthroughs Pros and Cons • A private cloud, built using your resources in your data center, leaves you in control but also means you shoulder the management overhead. • Public cloud services relieve you of that management burden but at the expense of some control. • A hybrid approach might make it possible to realize the best of both worlds, but you'll still have to pick private or public as the base for operations. You’ll make breakthroughs Cloud Deployment Frameworks • Differentiate between Management Providers (RightScale) and Service Providers (Amazon, Azure, Google, RackSpace, CloudStack, VMWare, etc.) • Each Cloud Service Provider has their own framework for managing, monitoring and deploying IaaS, PaaS and SaaS • Cloud Management Providers abstract the details of each Cloud Service Provider to give you a seamless management, monitoring and deployment framework • Direct API’s are also available to most providers to allow for cloud interaction from customer applications You’ll make breakthroughs InterSystems in the Cloud – Working With RightScale • The largest Cloud Management Provider in the industry • More than 5 million servers launched • Cloud deployments with 10k+ Servers • 12+ Supported public and private cloud providers You’ll make breakthroughs What does RightScale Provide ? Dashboard Governance Controls Configuration Framework Automation Engine MultiCloud Platform API Usage and cost management Identity and access management Policy management Service catalog Multi-cloud configuration management License management Resource monitoring Capacity management Deployment orchestration Self-service provisioning Public, private & hybrid cloud abstraction Deployment-level resource management Cloud Infrastructure Software Private Clouds Hypervisor Hardware IaaS Public Clouds You’ll make breakthroughs One “Cloud” – Many Resource Pools London Chicago Amsterdam Beijing Seattle Dublin Oregon Seoul NYC Area SF Area Tokyo DC Area Fukuoka Dallas Hong Kong Hyderabad Singapore São Paulo Private Clouds Public & Managed Clouds Amazon Web Services Logicworks Datapipe Rackspace IDCF / Yahoo! Japan SoftLayer Korea Telecom Tata KINX UnGeo You’ll make breakthroughs RightScale ServerTemplates • ServerTemplates define individual servers and/or complete systems • More than just virtual instance characteristics … entire system configuration (e.g., networking, environment variables, automation settings, server interdependencies) You’ll make breakthroughs RightScale RightScripts • Dynamic configuration • Abstract role and behavior from cloud infrastructure • Predictable deployment • Cloud agnostic / portable • Object-oriented programming for sysadmins You’ll make breakthroughs RightScale RightScripts RightScript/Recipe 6 … RightScript/Recipe 6 Example ServerTemplate operations operations ServerTemplate Anatomy … Perform backup RightScript/Recipe N Start all services RightScript/Recipe 5 Setup DNS and IPs RightScript/Recipe 4 RightScript/Recipe 3 RightScript/Recipe 2 RightScript/Recipe 1 Base Image … boot sequence … boot sequence Initialize slave Restore last backup Configure Ensemble Install Ensemble Install monitoring Right Image You’ll make breakthroughs Creating a Deployment • Choose the cloud provider you want to deploy on • Configure the hardware, networking, security, and other server options from the deployment configuration screen • Define “Launch Inputs” for your Server Template • Save and Launch your Server Template You’ll make breakthroughs Complex Deployments • Since a server array is designed to launch identical instances with the same configuration, you will use the same ServerTemplate to launch and configure each instance into an array • Configure autoscaling policy and array details • Add alerts for autoscaling based upon configured scaling criteria – ie; metric: cpu-0/cpu-idle – threshold: <30% – duration: 5 minutes – vote: vote to ‘grow’ server array You’ll make breakthroughs Adding Server Arrays to a RightScale Deployment You’ll make breakthroughs InterSystems Future in the Cloud 1. 2. 3. 4. 5. 6. 7. More Cloud Platofrms – Amazon EC2 (Windows, SuSe, RedHat), Rackspace Open Cloud, Azure [all available TODAY] – Future: Private Cloud offerings…(Cloudstack, Openstack) Backup to Cloud / Restore from Cloud DR in the Cloud Development and Testing in the Cloud RightScale pre-configured “server templates” for Caché and Ensemble InterSystems IS in the RightScale Marketplace for Server Templates (Including setup guide and runbook) You can also manage cloud installations on your own using cloud provider management tools You’ll make breakthroughs Cloud Challenges • There are *many* challenges in The Cloud • The 2 biggest (initial) pain points are: – Deploying & Managing systems – Deploying & Managing applications • How is InterSystems going to help you? – Unique partnership with RightScale (www.rightscale.com) – Single-click deployment framework – For Caché & Ensemble – Plus, recipes to help you deploy your complete app with a single-click! You’ll make breakthroughs Cloud Challenges • Security & Privacy – PCI (Payment Card Industry), HIPAA, PHI (Protected Health Inf.), etc. – Public cloud service providers are trying to establish guidelines which will enable cloud-running applications to meet the various rules and regulations • How can InterSystems technology help you? – Database encryption – User-based / role-based security – Auditing You’ll make breakthroughs Cloud Challenges – Amazon EC2 SLA Amazon EC2 => 99.95% monthly uptime • ~22 minutes downtime / month (min threshold) • Finer print: 99.95% to 99% monthly uptime • ~22 minutes to 7.2 HOURS downtime/month • “Service Credit” as compensation You’ll make breakthroughs Building a Configuration – Unattended Windows Install • MSIEXEC allows for unattended Windows based Cache, Ensemble or HealthShare installations with varying levels of control • Use ADDLOCAL for customizing component installation and installing features. Use ‘ALL’ to install ALL features or, ADDLOCAL=server_samples,sqlgateway,odbc,jdbc…etc. – ie: documentation, sqltools, development • Use other parameters such as; SuperServerPort, InstanceName, and InstallationManifest (Points to exported manifestclass.xml) You’ll make breakthroughs Building a Configuration – Unattended Unix Install • The installation scripts for each component are contained in the packages directory below the directory containing the cinstall_silent script • Replicate the directory structure from the standard_install dir to something like custom_install • Modify the manifest.isc file to reflect new custom directory and remove packages from manifest that you don’t want installed Then you can specify the new custom package when performing unattended installations; for example: sudo ISC_PACKAGE_INSTANCENAME="MyCache" ISC_PACKAGE_INSTALLDIR=“/opt/mycache2” ISC_INSTALLER_MANIFEST=c:/MyStuff/MyInstaller.xml ./cinstall_silent custom_install. You’ll make breakthroughs Creating and Using an Installation Manifest What is %Installer? The %Installer utility lets you define an installation manifest that describes a resulting configuration, rather than defining a step-by-step installation process. You’ll make breakthroughs The %Installer Manifest • Create a class that contains an XData block describing the configuration. You also include a method in this class that uses the XData block to generate code to configure the instance. • Use <Manifest…tags> within the Xdata block for configuring the manifest. (ie; <GlobalMapping>,<Import>,<RoutineMapping>,etc) • Within the XData block, you have access to variables that contain information usually provided during installation (superserver port, operating system, installation directory, and so on). • You can use the %Installer manifest during installation, from a Terminal session, or within code. It must be run in the %SYS namespace. You’ll make breakthroughs Sample Manifest Class Include %occInclude Class MyPackage.MyInstaller { XData MyInstall [ XMLNamespace = INSTALLER ] { <Manifest> <Namespace Name="MyNamespace" Create="yes" Code="MyRoutinesDB" Data="MyDataDB"> <Configuration> <Database Name="MyRoutinesDB" Create="yes" Dir="C:\MyInstallerDir\MyRoutinesDB"/> <Database Name="MyDataDB" Create="yes" Dir="C:\MyInstallerDir\MyDataDB"/> <Database Name="MyMappingDB" Create="yes" Dir="C:\MyInstallerDir\MyMappingDB"/> <GlobalMapping Global="t*" From="MyMappingDB"/> </Configuration> </Namespace> </Manifest> } ClassMethod setup(ByRef pVars, pLogLevel As %Integer = 3, pInstaller As %Installer.Installer) As %Status [ CodeMode = objectgenerator, Internal ] { Quit ##class(%Installer.Manifest).%Generate(%compiledclass, %code, ”MyInstall") } } %SYS> Do ##class(MyPackage.MyInstaller).setup() Or %SYS> Set vars("SourceDir")="c:\myinstaller" %SYS> Set vars("Updated")="Yes" %SYS> Do ##class(MyPackage.MyInstaller).setup(.vars,3) (The 3 in the argument is the log level) You’ll make breakthroughs InterSystems in the Cloud Questions ?