Roadmap. Introduction. Under the Hood. Solution Overview Energy Efficiency 101 Site Tour



Similar documents
Amazon Elastic Compute Cloud Getting Started Guide. My experience

Technology and Cost Considerations for Cloud Deployment: Amazon Elastic Compute Cloud (EC2) Case Study

Introduction to Cloud Computing on Amazon Web Services (AWS) with focus on EC2 and S3. Horst Lueck

Best Practices for Python in the Cloud: Lessons

Introduction to Cloud Computing

ArcGIS for Server: In the Cloud

Performance Benchmark for Cloud Databases

Hardened Plone. Making Your Plone Site Even More Secure. Presented by: Nathan Van Gheem

UBUNTU DISK IO BENCHMARK TEST RESULTS

EEDC. Scalability Study of web apps in AWS. Execution Environments for Distributed Computing

Open Cloud System. (Integration of Eucalyptus, Hadoop and AppScale into deployment of University Private Cloud)

DVS-100 Installation Guide

THE STATE OF GEO BIG DATA IN OPEN SOURCE. Rob Emanuele

Oracle Applications and Cloud Computing - Future Direction

Cloud Computing Workload Benchmark Report

Using open source software for the supervision and management of the water resource system of Athens

Why Engine Yard is better than Do it yourself

An Esri White Paper April 2011 Esri Business Analyst Server System Design Strategies

ArcGIS for Server in the Amazon Cloud. Michele Lundeen Esri

MANAGE YOUR AMAZON AWS ASSETS USING BOTO

GeoCloud Project Report GEOSS Clearinghouse

A technical whitepaper describing steps to setup a Private Cloud using the Eucalyptus Private Cloud Software and Xen hypervisor.

Resource Sizing: Spotfire for AWS

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015

jbase 5 Install on Amazon AWS a Primer

DVS-100 Installation Guide

PUBLIC CLOUD USAGE TRENDS

Understanding ArcGIS Deployments in Public and Private Cloud. Marwa Mabrouk

Building a Private Cloud Cloud Infrastructure Using Opensource

Déployer son propre cloud avec OpenStack. GULL François Deppierraz

Scalable Application. Mikalai Alimenkou

Hosting Requirements Smarter Balanced Assessment Consortium Contract 11 Test Delivery System. American Institutes for Research

Tunebot in the Cloud. Arefin Huq 18 Mar 2010

Estimating the Cost of a GIS in the Amazon Cloud. An Esri White Paper August 2012

Apache and Virtual Hosts Exercises

depl Documentation Release depl contributors

Microsoft Business Intelligence 2012 Single Server Install Guide

Comprehensive Knowledge Archive Network (CKAN) Developer Documentation

Postgres Plus Cloud Database!

Using ArcGIS for Server in the Amazon Cloud

Elastic Detector on Amazon Web Services (AWS) User Guide v5

What it is and why you might use it

INUVIKA OVD INSTALLING INUVIKA OVD ON UBUNTU (TRUSTY TAHR)

Using Toaster in a Production Environment

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

How To Use Arcgis For Free On A Gdb (For A Gis Server) For A Small Business

Graph Mining on Big Data System. Presented by Hefu Chai, Rui Zhang, Jian Fang

Cloud Computing & Sizing Servers

Best Practices for Sharing Imagery using Amazon Web Services. Peter Becker

An Esri White Paper January 2011 Estimating the Cost of a GIS in the Amazon Cloud

Shadi Khalifa Database Systems Laboratory (DSL)

De La Salle University Manila, in partnership with E-Health Records International-Philippines. Online Health Informatics Course Course Description

Cloud Performance Benchmark Series

Thing Big: How to Scale Your Own Internet of Things.

Cloud Computing and Amazon Web Services

Hands on Lab: Building a Virtual Machine and Uploading VM Images to the Cloud using Windows Azure Infrastructure Services

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

Cloud Providers, SciCloudand

Online Store Widget 101. A Guide for New Users

Weaving Stored Procedures into Java at Zalando

ST 810, Advanced computing

AuShadha Documentation

CHEF IN THE CLOUD AND ON THE GROUND

Rapid Website Deployment With Django, Heroku & New Relic

Tibbr Installation Addendum for Amazon Web Services

"Build and Test in the Cloud "

Getting Started Hacking on OpenNebula

Tuskar UI Documentation

GreenSQL AWS Deployment

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Generating Load from the Cloud Handbook

Leverage the Cloud for your Python & Perl Applications. Stackato Offers a Fast, Simple Way to Deploy Webs Apps to the Cloud

Aneka Dynamic Provisioning

Deploying Splunk on Amazon Web Services

The Automatic HTTP Requests Logging and Replaying Subsystem for CMS Plone

BeBanjo Infrastructure and Security Overview

Teaching in the Cloud

FortiGate Amazon Machine Image (AMI) Selection Guide for Amazon EC2

Amazon Hosted ESRI GeoPortal Server. GeoCloud Project Report

Online Health Informatics Course

Ubuntu 下 的 云 计 算. UbuntuChin 互 动 社 区 王 大 亮

Cloud Based Tes,ng & Capacity Planning (CloudPerf)

Online Backup Guide for the Amazon Cloud: How to Setup your Online Backup Service using Vembu StoreGrid Backup Virtual Appliance on the Amazon Cloud

Getting Started with Amazon EC2 Management in Eclipse

Scaling Pinterest. Yash Nelapati Ascii Artist. Pinterest Engineering. Saturday, August 31, 13

Scalable Architecture on Amazon AWS Cloud

Introduction to Amazon EC2 Running IBM

Postgres Plus Cloud Database Getting Started Guide

Zabbix for Hybrid Cloud Management

Which Database is Better for Zabbix? PostgreSQL vs MySQL. Yoshiharu Mori SRA OSS Inc. Japan

Monitoring and Scaling My Application

Transcription:

open-emv.com

The Team

Roadmap Introduction Solution Overview Energy Efficiency 101 Site Tour Under the Hood Basic Machine Configuration (AMIs) Software Configuration Database Structure The Web Application

The Solution User's Browser jquery OpenLayers Issue Tracking (FogBugz) VCS (beanstalk) User AWS EC2 m2.xlarge (high-memory) c1.medium (high-cpu) Database Applications Front-End Applications Zope Object Database ZEO Server Zope Client Zope Client Apache PostgreSQL Database PG Bouncer Zope Client Django (mod_wsgi) Development Machine mr.developer zc.buildout monitoring m1.small monitoring Monitoring Dashboard Developer

Why CA Energy Efficiency?

World Leader 1.5 Million Jobs $45 Billion in Payroll

How does that compare to the rest of the U.S?

California...... spends billions less on Electricity... has a ratio of GDP to Energy Consumed 68% higher... residents, per capita, pay lower utility bills

!"#$%&'()*+(,()-+()./0'-,1)./023)4()&5)&-)*(,()$6)(7.&('-)$6)8$2&5/,'&$9:) ;))<9)=/(2)>(,,1?)@('-0,().$A&-$2&6-?)5/0'3(,)/5)=(B-)CD)

Energy Efficiency and EMV

How Does CA do Energy Efficiency? CPUC established EE program cycle length and funding level CPUC provides $ to utilities to implement EE Programs Utilities report program accomplishments to CPUC

How Does CA do Energy Efficiency? CPUC hires independent EMV contractors to independently evaluate utility savings claims CPUC awards $ to the utilities based on savings accomplishments CPUC releases data publicly via website

Rinse and Repeat

Roadmap Introduction Solution Overview Energy Efficiency 101 Site Tour Under the Hood Basic Machine Configuration (AMIs) Software Configuration Database Structure The Web Application

Roadmap Introduction Solution Overview Energy Efficiency 101 Site Tour Under the Hood Basic Machine Configuration (AMIs) Software Configuration Database Structure The Web Application

AMI

AMI (Amazon Machine Image)

User's Browser jquery OpenLayers Issue Tracking (FogBugz) VCS (beanstalk) User AWS EC2 m2.xlarge (high-memory) Database Applications c1.medium (high-cpu) Front-End Applications Zope Object Database ZEO Server Zope Client Zope Client Apache PostgreSQL Database PG Bouncer Zope Client Django (mod_wsgi) Development Machine mr.developer zc.buildout monitoring m1.small monitoring Monitoring Dashboard Developer

m2.xlarge (high-memory) Database Applications c1.medium (high-cpu) Front-End Applications Zope Object Database ZEO Server Zope Client Zope Client Apache PostgreSQL Database PG Bouncer Zope Client Django (mod_wsgi)

Custom DB AMI m2.xlarge (high-memory) Database Applications Zope Object Database ZEO Server PostgreSQL Database PG Bouncer monitoring

Custom DB AMI m2.xlarge (high-memory) Database Applications PostgreSQL Database PG Bouncer monitoring

Custom DB AMI m2.xlarge (high-memory) Ubuntu 10.10 (Maverick) Database Applications PostgreSQL Database PG Bouncer monitoring

Custom DB AMI m2.xlarge (high-memory) Database Applications Ubuntu 10.10 (Maverick) 64-bit PostgreSQL Database PG Bouncer monitoring

Custom DB AMI m2.xlarge (high-memory) Database Applications Ubuntu 10.10 (Maverick) 64-bit Kernel Settings PostgreSQL Database PG Bouncer monitoring

Custom DB AMI m2.xlarge (high-memory) Ubuntu 10.10 (Maverick) Database Applications PostgreSQL Database monitoring PG Bouncer 64-bit Kernel Settings kernel.shmmax = 8GB kernel.shmall = 8GB/4096 /etc/sysctl.conf

Custom DB AMI m2.xlarge (high-memory) Database Applications Ubuntu 10.10 (Maverick) 64-bit Kernel Settings PostgreSQL Database PG Bouncer Spatial Database monitoring

Custom DB AMI m2.xlarge (high-memory) Database Applications Ubuntu 10.10 (Maverick) 64-bit Kernel Settings PostgreSQL Database monitoring PG Bouncer Spatial Database apt-get install... PostgreSQL 9.0.3 Geos 3.2.2 GDAL 1.7.0 manual install postgis 1.5.2

Custom DB AMI m2.xlarge (high-memory) Database Applications Ubuntu 10.10 (Maverick) 64-bit Kernel Settings PostgreSQL Database monitoring PG Bouncer Spatial Database Connection Pooling

Custom DB AMI m2.xlarge (high-memory) Database Applications Ubuntu 10.10 (Maverick) 64-bit Kernel Settings PostgreSQL Database PG Bouncer Spatial Database monitoring Connection Pooling apt-get install... pgbouncer 1.3.3

Custom DB AMI m2.xlarge (high-memory) Database Applications Ubuntu 10.10 (Maverick) 64-bit Kernel Settings PostgreSQL Database monitoring PG Bouncer Spatial Database Connection Pooling Monitoring

Custom DB AMI m2.xlarge (high-memory) Database Applications Ubuntu 10.10 (Maverick) 64-bit Kernel Settings PostgreSQL Database monitoring PG Bouncer Spatial Database Connection Pooling Monitoring apt-get install... monit munin-node

Custom Web App AMI c1.medium (high-cpu) Front-End Applications Zope Client Apache Zope Client Zope Client Django (mod_wsgi) monitoring

Custom Web App AMI c1.medium (high-cpu) Front-End Applications Zope Client Apache Zope Client Zope Client Django (mod_wsgi) monitoring

Custom Web App AMI c1.medium Ubuntu 10.10 (Maverick) c1.medium (high-cpu) Front-End Applications Zope Client Apache Zope Client Zope Client Django (mod_wsgi) monitoring

Custom Web App AMI Ubuntu 10.10 (Maverick) 32-bit c1.medium (high-cpu) Front-End Applications Zope Client Zope Client Apache Zope Client Django (mod_wsgi) monitoring

Custom Web App AMI Ubuntu 10.10 (Maverick) 32-bit Apache2 c1.medium (high-cpu) Front-End Applications Zope Client Zope Client Zope Client Apache Django (mod_wsgi) monitoring

Custom Web App AMI Ubuntu 10.10 (Maverick) 32-bit Apache2 mod_wsgi c1.medium (high-cpu) Front-End Applications Zope Client Zope Client Zope Client monitoring Apache Django (mod_wsgi)

Custom Web App AMI Ubuntu 10.10 (Maverick) 32-bit Apache2 mod_wsgi Monitoring c1.medium (high-cpu) Front-End Applications Zope Client Zope Client Zope Client monitoring Apache Django (mod_wsgi)

We ll make these public

We ll make these public once I ve polished them up a bit :)

Additional Software

Additional Software Back-End

Additional Software Back-End ZODB

Additional Software Back-End ZODB ZEO Server

Additional Software Back-End ZODB ZEO Server Front-End

Additional Software Back-End ZODB ZEO Server Front-End Django

Additional Software Back-End ZODB ZEO Server Front-End Django Plone

Additional Software Back-End ZODB ZEO Server Front-End Django Plone Add-Ons

Additional Software Back-End ZODB ZEO Server Front-End Django Plone Add-Ons Zope Clients

And Configuration Back-End ZODB ZEO Server Front-End Django Plone Add-Ons Zope Clients

And Configuration Back-End ZODB ZEO Server Front-End Django Plone Add-Ons Zope Clients

And Configuration Back-End ZODB ZEO Server PostgreSQL Front-End Django Plone Add-Ons Zope Clients

And Configuration Back-End ZODB ZEO Server PostgreSQL Front-End Django Plone Add-Ons Zope Clients

And Configuration Back-End ZODB ZEO Server PostgreSQL Front-End Django Plone Add-Ons Zope Clients Apache

And Configuration Back-End ZODB ZEO Server PostgreSQL Front-End Django Plone Add-Ons Zope Clients Apache

And Configuration Back-End ZODB ZEO Server PostgreSQL Front-End Django Plone Add-Ons Zope Clients Apache Monit

And Configuration Back-End ZODB ZEO Server PostgreSQL Apache Front-End Django Plone Add-Ons Zope Clients Replicate On Development Machine(s) Monit

Photo by EvelynGiggles via Flickr using a CC-BY license.

This is a job for Superman!

This is a job for Buildout!

Wait what?

zc.buildout www.buildout.org

developed for

used extensively by

also gaining traction with

not limited to python

dependencies

dependencies $ apt-get install python-setuptools

dependencies $ apt-get install python-setuptools $ easy-install distribute

dependencies $ apt-get install python-setuptools $ easy-install distribute $ apt-get install python-dev

The Basics

The Basics $ ls basic-buildout bootstrap.py buildout.cfg

The Basics

The Basics $ more buildout.cfg [buildout] parts = foo [foo] recipe = collective.recipe.cmd cmd = echo foo

Build It

Run It

Photo by Rich Moore via Flickr using a CC-BY license.

let s scale this up

lots of cfg, and more

base.cfg

pg_parts.cfg

A Closer Look

Tie it all together...

dev.cfg

or, for deployment...

backend.cfg

Buildout Advantages

Buildout Advantages Easy to write

Buildout Advantages Easy to write Lots of recipes, examples

Buildout Advantages Easy to write Lots of recipes, examples Manage complexity

Buildout Advantages Easy to write Lots of recipes, examples Manage complexity Duplicate across platforms

Buildout Advantages Easy to write Lots of recipes, examples Manage complexity Duplicate across platforms Deploy rapidly

Buildout Advantages Easy to write Lots of recipes, examples Manage complexity Duplicate across platforms Deploy rapidly Versioning of software setup and config

not without issues

not without issues Can be network-dependent

not without issues Can be network-dependent Interconnected parts mean complexity

not without issues Can be network-dependent Interconnected parts mean complexity extends can be tricky to manage

use it in joy

Data ingest

Data dimensions

The Web Application

8 Axes of Data

8 Axes of Data Time Frame (lifecycle or first-year)

8 Axes of Data Time Frame (lifecycle or first-year) Savings Type (but cost too)

8 Axes of Data Time Frame (lifecycle or first-year) Savings Type (but cost too) Year

8 Axes of Data Time Frame (lifecycle or first-year) Savings Type (but cost too) Year Utility

8 Axes of Data Time Frame (lifecycle or first-year) Savings Type (but cost too) Year Utility Program Group

8 Axes of Data Time Frame (lifecycle or first-year) Savings Type (but cost too) Year Utility Program Group Measure Group

8 Axes of Data Time Frame (lifecycle or first-year) Savings Type (but cost too) Year Utility Program Group Measure Group Building Type

8 Axes of Data Time Frame (lifecycle or first-year) Savings Type (but cost too) Year Utility Program Group Measure Group Building Type Geography

only 3 are required

8 Axes of Data Time Frame (lifecycle or first-year) Savings Type (but cost too) Year Utility Program Group Measure Group Building Type Geography

Show me the [timeframe] [savings type] by [geography]

Choices drawn from the distinct values for a specific table column Show me the [timeframe] [savings type] by [geography]

Choices drawn from the distinct values for a specific table column Show me the [timeframe] [savings type] by [geography] Choices drawn from a set of table columns (not the contained values)

Choices drawn from the distinct values for a specific table column Choices made up but reference table-borne data indirectly Show me the [timeframe] [savings type] by [geography] Choices drawn from a set of table columns (not the contained values)

Show me the [timeframe] [savings type] by [geography]

Show me the [timeframe] [savings type] by [geography] for [year] for [utility] for [program group] for [measure group] for [building type]

Show me the [timeframe] [savings type] by [geography] for [building type] for [year] for [utility] for [program group] for [measure group]

Show me the [timeframe] [savings type] by [geography] for [building type] for [year] for [utility] for [program group] for [measure group]

the sentence interface

the sentence interface Thanks to FogBugz for the inspiration

a Django package

a Django package A Form

a Django package A Form A Field

a Django package A Form A Field A Widget

We ll make this public

We ll make this public once I ve polished it up a bit :)

How bout a quick Demo?

questions? comments?

jennifer@sound-data.com cewing@sound-data.com