Monday, November 7, 2016

GHC16 session notes

Brief notes from other sessions:

Blockchain and the Internet of Things:

Issues with traditional databases:
a) Transactions can be suppressed/deleted, DB admins have all the powers.
b) All the risk is concentrated on the DB owner.
c) Integration costs are very high
Solution: Blockchain technology
a) All transactions visible to all participants; visible in ledger copy. Transactions can’t be deleted/modified.
b) Risk is distributed
c) Lower integration costs
HyperLedger project: Trying to standardize distributed ledgers across multiple industries.
Blockchain and IoT usecases:
a) Tracking container locations
b) Track water heater management
c) Use connected devices to trigger payments when a certain usage level is reached
d) Vehicle maintenance records to keep track of maintenance schedule/parts replacement, etc


Gender Equality Index: The Power of Data to Drive Change

A McKinsey report shows that if gender equality is advanced, about $12 trillion can be added to the GDP by 2025. Another report shows that profits increased by 15% when the number of women in manangement increased (from 0->30 %). So Bloomberg launched the BFGEI (Bloomberg Financial Services Gender Equality Index) in May 2016. The framework steps:
a) Member selection/weighing
b) Index return daily calculation
c) Index impact/consumption
Bloomberg Gender Equality index survey:
Index data modeled in a 3-D cube (time, company, characteristics)
Impact: GEI firms have recruiting strategies for women, may sponsor financial education programs


Containerization of Applications: What, Why and How

Containers are popular because of:
a) Flexible in deployment
b) Efficiency
c) Low maintenance
d) Low cost
Best practices for building container-ready apps:
1. Don’t freak out if instances crash – they are disposable. Use container orchestration engine
2. Don’t crash – keep trying again. Return a suitable status code (ex: 503)
3. Containers use COW filesystems – once the container is gone, so is the FS. Use persistent storage only when really needed.
4. Persistent data is special, so don’t log to files. Use stdout/stderr
5. Don’t bake security keys into the image!
6. Services may not be co-located: DB, frontend, API have different needs.
7. Design for scale from the start.
8. Add liveness/readiness checks – is the app running? Has it finished starting up? Is it in maintenance mode?