• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
AFCEA C4I Symposium: The 4th C in C4I Stands for Cloud:Factors Driving Adoption of Cloud Computing
 

AFCEA C4I Symposium: The 4th C in C4I Stands for Cloud:Factors Driving Adoption of Cloud Computing

on

  • 4,563 views

Computer systems architecture evolve in cycles every 15-20 years, oscillating between centralization and decentralization: centralized mainframes of the 60s, decentralized PCs of the 80s, centralized ...

Computer systems architecture evolve in cycles every 15-20 years, oscillating between centralization and decentralization: centralized mainframes of the 60s, decentralized PCs of the 80s, centralized web apps of the 90s. Since 2010, we see a new architecture shift back to the 80's client-server model, with 3 trends: powerful mobile device (android, iphone), the browser becoming a rich client platform with html5, and cloud platforms commoditizing distributed computing on the server. This talk is about the server side of the current architecture shift.

As most technology architecture changes, cloud computing adoption is driven by factors from multiple dimensions, not only technical ones:
- technology: Big Data & fast networks, shift from vertical to horizontal scalability, commoditization of distributed computing (Virtualization, Sharding, Storage, NoSQL databases, Paxos, Map/Reduce, Go language), centralization of security
- economy: broadband and wireless ubiquity, shift from product to services, economies of scale, Moore's law, cost of electricity becoming main driver for computing cost , pay as you go models
- culture: consumerization of enterprise technology, technology achieves ubiquity by disappearing

20 years ago when I was involved with Command and Control Systems for the french DoD, they were called C3I. Since then it seems they added a C for Computers, C4I. Maybe for the next 20 years the 4th C of C4I should stand for Cloud.

Statistics

Views

Total Views
4,563
Views on SlideShare
4,561
Embed Views
2

Actions

Likes
0
Downloads
68
Comments
0

2 Embeds 2

http://us-w1.rockmelt.com 1
http://paper.li 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    AFCEA C4I Symposium: The 4th C in C4I Stands for Cloud:Factors Driving Adoption of Cloud Computing AFCEA C4I Symposium: The 4th C in C4I Stands for Cloud:Factors Driving Adoption of Cloud Computing Presentation Transcript

    • Factors Driving Cloud Adoption Patrick Chanezon Developer Relations Manager, Cloud & Apps chanezon@google.com C4I AFCEA Symposium http://twitter.com/chanezon May 23 2010 2Thursday, May 26, 2011
    • P@ in a slide • Software Plumber, mix of Enterprise and Consumer • 18 years writing software, backend guy with a taste for javascript • 2 y Accenture (Notes guru), 3 y Netscape/ AOL (Servers, Portals), 5 y Sun (ecommerce, blogs, Portals, feeds, open source) • 6 years at Google, API guy (first hired, helped start the team) • Adwords, Checkout, Social, HTML5, CloudThursday, May 26, 2011
    • P@ & Military Software 1993 - Software metrics Dod-Std-2167A 1994 - C3IThursday, May 26, 2011
    • Architecture Changes: 60’s MainframeThursday, May 26, 2011
    • Architecture Changes: 80’s Client-ServerThursday, May 26, 2011
    • Architecture Changes: 90’s WebThursday, May 26, 2011
    • Architecture Changes: 2010’s Cloud, HTML5, MobileThursday, May 26, 2011
    • Hype warning: Cloudy, with a chance of real innovation Source: Gartner (August 2009) 8Thursday, May 26, 2011
    • Cloud started at Consumer websites solving their needs • Google, Amazon, Yahoo, Facebook, Twitter • Large Data Sets • Storage Capacity growing faster than Moore’s Law • Fast Networks • Horizontal -> Vertical scalability • Open Source Software • Virtualization • Cloud is a productization of these infrastructures • Public Clouds Services: Google, Amazon • Open Source Software: Hadoop, Eucalyptus, Cloud FoundryThursday, May 26, 2011
    • Cloud, according to my daughter 10Thursday, May 26, 2011
    • Cloud Computing Categories SaaS PaaS IaaS Source: Gartner AADI Summit Dec 2009 Google Developer Day 2010Thursday, May 26, 2011
    • Cloud Computing Categories SaaS PaaS IaaS Source: Gartner AADI Summit Dec 2009 Google Developer Day 2010Thursday, May 26, 2011
    • Cloud Computing Categories SaaS PaaS IaaS Source: Gartner AADI Summit Dec 2009 Google Developer Day 2010Thursday, May 26, 2011
    • Cloud Computing Categories SaaS PaaS IaaS Source: Gartner AADI Summit Dec 2009 Google Developer Day 2010Thursday, May 26, 2011
    • Infrastructure culture • Larry and Serguey’s 1998 paper ”The Anatomy of a Large-Scale Hypertextual Web Search Engine" • http://infolab.stanford.edu/~backrub/google.html • Other Google Research papers since then • http://research.google.com/pubs/papers.html • Build on the shoulders of giants • Custom stack made of standards parts: machines, linux, servers • Standard infrastructure: sharding, GFS, MapReduce, BigTable • Google App Engine: easy cloud, for Googlers and others developers • Standard languages: c/c++, java, python • Horizontal scalability: parallel and asynchronous whenever possibleThursday, May 26, 2011
    • Programming the Cloud – The Google Way • Fault tolerant distributed storage: Google File System • Distributed shared memory: Bigtable • New programming abstractions: MapReduce • Domain Specific Languages: Sawzall Google.stanford.edu (Circa 1997) Current Rack Design © 2008 Google, Inc. All rights reserved, 13Thursday, May 26, 2011
    • Fault Tolerant Distributed Disk Storage: GFS • Data replicated 3 times. Upon failure, software re-replicates. • Master: Manages file metadata. Chunk size 64 MB. • Optimized for high-bandwidth sequential read / writes • Clusters > 5 PB of disk Client GFS Master Client C0 C1 C1 C0 C5 C5 C2 C5 C3 … C2 Chunkserver 1 Chunkserver 2 Chunkserver N http://research.google.com/archive/gfs-sosp2003.pdf © 2008 Google, Inc. All rights reserved, 14Thursday, May 26, 2011
    • Distributed Shared Memory: Bigtable • Sparse, distributed, persistent, multidimensional, sorted • Not a relational database (RDBMS): no schema, no joins, no foreign key constraints, no multi-row transactions • Each row can have any number of columns, similar to a dictionary data structure for each row. • Basic data types: string, counter, byte array • Accessed by row key, column name, timestamp • Data split into tablets for replication • Largest cells are > 700TB http://research.google.com/archive/bigtable-osdi06.pdf © 2008 Google, Inc. All rights reserved, 15Thursday, May 26, 2011
    • Datastore layers Complex Entity Group Queries on Key range Get and set queries Transactions properties scan by key ✓ ✓ ✓ ✓ ✓ Datastore ✓ ✓ ✓ ✓ Megastore ✓ ✓ Bigtable 16Thursday, May 26, 2011
    • Megastore API • “Give me all rows where the column ‘name’ equals ‘ikai’” • “Transactionally write an update to this group of entities” • “Do a cross datacenter write of this data such that reads will be strongly consistent” (High Replication Datastore) • Megastore paper: http://www.cidrdb.org/cidr2011/Papers/ CIDR11_Paper32.pdf 17Thursday, May 26, 2011
    • Programming Abstraction: MapReduce • Represent problems as Map and Reduce step (inspired by functional programming) • Distribute data among many machines, execute same computation at each machine on its dataset • Infrastructure manages parallel execution • Open source implementation: Hadoop I npu t Da t a map(in_key, data)  list(key, value) Map Map Map Task 1 Task 2 Task 3 reduce(key, list(values))  list(out_data) key Sort & Sort & Group Group Reduce Reduce Task 1 Task 2 http://research.google.com/archive/mapreduce.html © 2008 Google, Inc. All rights reserved, 18Thursday, May 26, 2011
    • Language for Parallel Log Processing: Sawzall • Commutative and associative operations allow parallel execution and aggregation • Language avoids specifying order by replacing loops with quantifiers (constraints) count: table sum of int; function(word: string): bool { total: table sum of float; when(i: some int; x: float = input; word[i] != word[$-1-i]) return false; emit count <- 1; return true; emit total <- x; }; http://labs.google.com/papers/sawzall.html © 2008 Google, Inc. All rights reserved, 19Thursday, May 26, 2011
    • Internet as a Platform: The Challenges Architect’s Dream •Loosely coupled •Extensible •Standards-based •Fault tolerant •Unlimited computing power •Ubiquitous © 2008 Google, Inc. All rights reserved, 20Thursday, May 26, 2011
    • Internet as a Platform: The Challenges Architect’s Dream Developer’s Nightmare •Loosely coupled •NO Call Stack •Extensible •NO Transactions •Standards-based •NO Promises •Fault tolerant •NO Certainty •Unlimited computing •NO Ordering power Constraints •Ubiquitous © 2008 Google, Inc. All rights reserved, 20Thursday, May 26, 2011
    • New Game Rules ACID (before) ACID (today) © 2008 Google, Inc. All rights reserved, 21Thursday, May 26, 2011
    • New Game Rules ACID (before) ACID (today) • Atomic © 2008 Google, Inc. All rights reserved, 21Thursday, May 26, 2011
    • New Game Rules ACID (before) ACID (today) • Atomic • Consistent © 2008 Google, Inc. All rights reserved, 21Thursday, May 26, 2011
    • New Game Rules ACID (before) ACID (today) • Atomic • Consistent • Isolated © 2008 Google, Inc. All rights reserved, 21Thursday, May 26, 2011
    • New Game Rules ACID (before) ACID (today) • Atomic • Consistent • Isolated • Durable © 2008 Google, Inc. All rights reserved, 21Thursday, May 26, 2011
    • New Game Rules ACID (before) ACID (today) • Atomic • Associative • Consistent • Isolated • Durable © 2008 Google, Inc. All rights reserved, 21Thursday, May 26, 2011
    • New Game Rules ACID (before) ACID (today) • Atomic • Associative • Consistent • Commutative • Isolated • Durable © 2008 Google, Inc. All rights reserved, 21Thursday, May 26, 2011
    • New Game Rules ACID (before) ACID (today) • Atomic • Associative • Consistent • Commutative • Isolated • Idempotent • Durable © 2008 Google, Inc. All rights reserved, 21Thursday, May 26, 2011
    • New Game Rules ACID (before) ACID (today) • Atomic • Associative • Consistent • Commutative • Isolated • Idempotent • Durable • Distributed © 2008 Google, Inc. All rights reserved, 21Thursday, May 26, 2011
    • New Game Rules ACID (before) ACID (today) • Atomic • Associative • Consistent • Commutative • Isolated • Idempotent • Durable • Distributed Predictive Flexible Accurate Redundant © 2008 Google, Inc. All rights reserved, 21Thursday, May 26, 2011
    • Starbucks Does not Use 2-Phase Commit Either •Start making coffee before customer pays •Reduces latency •What happens if… © 2008 Google, Inc. All rights reserved, 22Thursday, May 26, 2011
    • Starbucks Does not Use 2-Phase Commit Either •Start making coffee before customer pays •Reduces latency •What happens if… Customer rejects drink Coffee maker breaks Customer cannot pay © 2008 Google, Inc. All rights reserved, 22Thursday, May 26, 2011
    • Starbucks Does not Use 2-Phase Commit Either •Start making coffee before customer pays •Reduces latency •What happens if… Customer rejects drink Remake drink Coffee maker breaks Customer cannot pay © 2008 Google, Inc. All rights reserved, 22Thursday, May 26, 2011
    • Starbucks Does not Use 2-Phase Commit Either •Start making coffee before customer pays •Reduces latency •What happens if… Customer rejects drink Remake drink Coffee maker breaks Refund money Customer cannot pay © 2008 Google, Inc. All rights reserved, 22Thursday, May 26, 2011
    • Starbucks Does not Use 2-Phase Commit Either •Start making coffee before customer pays •Reduces latency •What happens if… Customer rejects drink Remake drink Coffee maker breaks Refund money Customer cannot pay Discard beverage © 2008 Google, Inc. All rights reserved, 22Thursday, May 26, 2011
    • Starbucks Does not Use 2-Phase Commit Either •Start making coffee before customer pays •Reduces latency •What happens if… Customer rejects drink Remake drink Retry Coffee maker breaks Refund money Customer cannot pay Discard beverage © 2008 Google, Inc. All rights reserved, 22Thursday, May 26, 2011
    • Starbucks Does not Use 2-Phase Commit Either •Start making coffee before customer pays •Reduces latency •What happens if… Customer rejects drink Remake drink Retry Coffee maker breaks Refund money Compensation Customer cannot pay Discard beverage © 2008 Google, Inc. All rights reserved, 22Thursday, May 26, 2011
    • Starbucks Does not Use 2-Phase Commit Either •Start making coffee before customer pays •Reduces latency •What happens if… Customer rejects drink Remake drink Retry Coffee maker breaks Refund money Compensation Customer cannot pay Discard beverage Write-off © 2008 Google, Inc. All rights reserved, 22Thursday, May 26, 2011
    • Commoditization of distributed computing concepts & tools • Languages: Erlang concepts -> Go, Scala • NoSQL Zoo: BigTable, HBase, MongoDB, Reddis, Cassandra • Map/Reduce: Apache Hadoop • Paxos, Eventual Consistency, CAP Theorem • REST, statelessness, idempotencyThursday, May 26, 2011
    • Economic Drivers • Proportion of electricity in cost of computing • Product -> Service • Economies of Scale • Moore’s Law • Pay as you go utility modelThursday, May 26, 2011
    • Cultural Drivers • Expectations of corporate IT customers have changed • Consumerization of IT • Consumer apps more and more like fashion • Technology achieves ubiquity by disappearingThursday, May 26, 2011
    • Thursday, May 26, 2011
    • Access from AnywhereThursday, May 26, 2011
    • Thursday, May 26, 2011
    • Scales Up, Scales Down, with DemandThursday, May 26, 2011
    • Thursday, May 26, 2011
    • Innovation Not AdministrationThursday, May 26, 2011
    • Cultural Drivers: Agility • Waterfall -> Agile methodologies • Cloud enables an Agile culture, driver for innovation 1 http://www.yourdomain.com/Thursday, May 26, 2011
    • Fail often, fail quickly, and learnThursday, May 26, 2011
    • Fail often, fail quickly, and learn • Risk taking/Experimentation is encouraged • http://blog.red-bean.com/sussman/?p=96 • “Do not be afraid of day-to-day failures — learn from them. (As they say at Google, “don’t run from failure — fail often, fail quickly, and learn.”) Cherish your history, both the successes and mistakes. All of these behaviors are the way to get better at programming. If you don’t follow them, you’re cheating your own personal development.” • Ben Collins-Sussman (Subversion, code.google.com)Thursday, May 26, 2011
    • Agile Development ProcessesThursday, May 26, 2011
    • Agile Development Processes • Influences from XP, Agile, Scrum • Code reviews • Test Driven Development: Testing on the Toilets program and blog • Many internal development tools: Mondrian recently open sourced • Changed the meaning of beta • Teams co-located: 3-15 people, 4/cubicle, all close to each other • International offices: manage whole projects, avoid coordination costsThursday, May 26, 2011
    • Open Source CultureThursday, May 26, 2011
    • Open Source Culture • Open Source Program Office • Summer of Code • Open sourcing parts of Google code • http://code.google.com/ • Making the web better: GWT, Gears, OpenSocial, AndroidThursday, May 26, 2011
    • API CultureThursday, May 26, 2011
    • API Culture • Bill Joy: "Innovation happens elsewhere" • From 3 to 62 APIs in 3 years • Maps on websites • Friend Connect: all sites can become social • http://code.google.com/ for the list • Build an ecosystem around the APIs (my job) • Users choice: get their data outThursday, May 26, 2011
    • Data Liberation Front http://www.dataliberation.org/ Users should be able to control the data they store in any of Googles products. Our teams goal is to make it easier to move data in and out.Thursday, May 26, 2011
    • Google Cloud ProductsThursday, May 26, 2011
    • Googles Cloud Offerings 1. Google Apps 2. Third party Apps: Google Apps Marketplace SaaS 3. ________ Google App Engine PaaS Google Storage IaaS Prediction API BigQuery Google Developer Day 2010Thursday, May 26, 2011
    • Googles Cloud Offerings Your Apps 1. Google Apps 2. Third party Apps: Google Apps Marketplace SaaS 3. ________ Google App Engine PaaS Google Storage IaaS Prediction API BigQuery Google Developer Day 2010Thursday, May 26, 2011
    • How Google Apps Adds Value Productivity and Innovation Realtime collaboration, constant updates, new features Platform Independence Work anywhere from any computer or mobile device Reduced IT Complexity Least complex, least expensive to license and manage 41Thursday, May 26, 2011
    • How Google Apps Adds Value Security and Availability Same uptime and infrastructure used for Google products Built-in Enterprise Security Features 2-Factor Authentication, Single Sign On, Reporting Tools 42Thursday, May 26, 2011
    • How Google Apps Adds Value Security and Availability Same uptime and infrastructure used for Google products Built-in Enterprise Security Features 2-Factor Authentication, Single Sign On, Reporting Tools A Toolbox of Administrative APIs Reporting, Compliance, Identity Management and more... 42Thursday, May 26, 2011
    • Why Google App Engine? • Easy to build • Easy to maintain • Easy to scaleThursday, May 26, 2011
    • Cloud Development in a Box • Downloadable SDK • Application runtimes o Java, Python • Local development tools o Eclipse plugin, AppEngine Launcher • Specialized application services • Cloud based dashboard • Ready to scale • Built in fault tolerance, load balancingThursday, May 26, 2011
    • Specialized Services Memcache Datastore URL Fetch Mail XMPP Task Queue Images Blobstore User ServiceThursday, May 26, 2011
    • Language RuntimesThursday, May 26, 2011
    • App Engine Growth 2008 2009 2010 2011 App Engine Launch Batch write/read Java Task Queues Blobstore Multitenancy Hi-Replication Python Https DB Import XMPP Appstats Instance Console Datastore Datastore Status- cron incoming email cursors Always On Channel API Memcache Dashboard Mapper hi-perf imag Files API logs export 10 min tasks Remote API Prosp SearchThursday, May 26, 2011
    • By the Numbers 100,000 Active Developers per MonthThursday, May 26, 2011
    • By the Numbers 200,000 Active apps per weekThursday, May 26, 2011
    • By the Numbers 1.5B Pageviews per dayThursday, May 26, 2011
    • Some App Engine PartnersThursday, May 26, 2011
    • Google Cloud In the Government sectorThursday, May 26, 2011
    • Google is Committed to Meeting the Addl Challenges of Governments Google Apps for Government • Government only cloud in dedicated CONUS facilities • Government pricing (GSA Schedule 70) ATO Issued by GSA • Certification & Accreditation based on Federal Information Systems Management Act (FISMA) • FIPS 199 Moderate baseline Leader in Public Sector Cloud Computing • General Services Administration, USAID, Dept of Energy, Colorado, New Mexico, Orlando, Los Angeles, Treasury, Multonomah County, Smithsonian, Tennessee Valley Authority, ACUS, MACPAC, WyomingThursday, May 26, 2011
    • Select DoD Customers Requirements • Provide common platform for non-classified collaboration The Solution • Implement Google Apps (eushare.org) to support unclassified communication and coordination across 51 countries throughout the Area of Responsibility • Used during planning, execution, and after-action reporting of X24Europe, a recent global exercise Requirements • Provide common platform to support HA/DR mission area The Solution • Implement Google Apps (InRelief.org) to support cross-country, cross- language collaboration; Includes consolidation of social networking signals Requirements • Provide messaging platform for families to connect with deployed service members The Solution • Garrison Commanders toolkit for communicating to troops and their families.Thursday, May 26, 2011
    • Factors to consider for picking a Cloud • Price • Type: Iaas, Paas, Saas • Type of task: Apps, Big Data • Public/Private/Hybrid • Lock-In: Standards, Open SourceThursday, May 26, 2011
    • Issues to solve • Cloud Interop: lack of standard • Replication of Data across multiple Clouds • Data privacy/integrity • encryption at rest • data auditing • Trust, Culture of agilityThursday, May 26, 2011
    • Google Cloud Clients • Chrome, HTML5 • ChromeBook, Device as a service $28/user/month • Android: phone and tabletsThursday, May 26, 2011
    • Q&A 58Thursday, May 26, 2011