Post on 13-Apr-2017
©2016, 104 Corp. CC-BY 4.0
104 Meets Cloud撥雲見日甘苦談
104 資訊科技資深架構師呂昭寬
Cliff Chao-kuan Lu
• Sr. Architect @ 104 Corp
• Full-stack Web Dev / SA• Certified AWS Professional SA• AWS Community Hero since ‘16• AWS User Group Taiwan Organizer since ‘14
CLOUD COMPUTING
Cloud - NIST Definition
• Characteristics:–On-demand self-service–Broad network access–Resource pooling–Rapid elasticity–Measured service
NIST 800-145, Sep. 2011
NIST Definition (cont.)
Deployment Models• Private cloud• Community cloud• Public cloud• Hybrid cloud
Service Models• Software as a Service• Platform as a Service• Infrastructure as a Service
• Function as a Service• Security as a Service• … as a Service
Cloud Native
• Externalized services and solutions• Micro-services– Stateless– Scalable– Highly Available
• Idempotency• Immutable architecture
IMPACT ON ARCHITECTURE
Pricey Made Accessible
• Premium services:– Load balancer– Software-defined network–Datacenter• Network, Storage and VM• Power and cooling
• Use them well in YOUR cloud
Armory of Services
• Just works … • Gentle learning curve, inevitably RTFM• Details abstracted away
just works
Features, gotcha, …
Tutorial
Manual& Work
Baseline Complexity
• Solution-based architecture is king• (Micro-)Services instead of tiers• Every component adds some complexity
Shifted Uptime Responsibility
99.9%Applications
(8h46m down)
99.999%Infrastructure
($$$$)
99.999%Applications(5m down)
99%Infrastructure
($$)
Enterprise Model Cloud Model
Pets vs. Cattle: The Elastic Cloud Story by Randy Bias, CC-BY-ND
Availability
• N=3 Quorum
•
CONFLICT WITH CULTURE
CAPEX vs. OPEX
• Cloud costs are mostly operational– Tough to plan budget– A posteriori analysis only
• Quota instead of budgeting• Taxation
Time to Market
• A common goal to adopt Cloud• Necessary Conditions:– Infrastructure– Level of Automation– Knowledge & skill– General affairs
DevOps
• Waterfall sucks in the cloud• DevOps emphasize on…– Automated workflow– Minimal turnover & information loss
• With great power comes great responsibility
STAY MODERN
Cloud App Evolution
• Handcraft
• AWS Auto Scaling• AWS Elastic Beanstalk• AWS OpsWorks• AWS ECS• AWS Lambda
machine imagecode repo
chef recipedocker image
function
Serverless - Lambda
• Announced AWS re:Invent 2014, accepted by communities and competitors
• Managed Java, JavaScript, or Python runtime• Supports versioning, IAM Role, and VPC• Configurable timeout and RAM
• Default concurrency = 100
Serverless - ECS
• Announced re:Invent ‘14• Docker scheduler with
monitoring, logging, and authorization• Flexible privilege control with task role• Okay-ish data persistence with EBS• Rusty Load balancing and inter-host access
control• Works seamlessly with Application Load
Balancer launched Aug. ‘16
Fog Computing
• Push workloads to end-user clients or edge devices
• Emphasizes proximity, relies on geographical density and local resource pooling
• Similar design principles as Cloud Computing