aws user group - survey results and building apis on aws
TRANSCRIPT
#6 - Survey Results and Building APIs on AWS10 November 2015
Presenter: Sebastian Krueger – Co-Founder and Technical Director at API Talent
AcknowledgementsWe would like to thanks our sponsors for their help in making
AWS User Group Wellington a success.
Bronnie – OptimalPeople
Dan - OptimalBI
Buzzy – Amazon Web Services
Seb – API Talent
Agenda
• Part I: Survey Results
• Part II: Building APIs on AWS• API Overview
• API Case Study
• Server-based APIs on AWS Overview
• Server-less APIs on AWS Overview / Demo
Part I
Survey: Meetup Quality Rating
0
2
4
6
8
10
12
14
16
18
1 2 3 4 5 N/A
User Group Rating
User Group Rating
0
2
4
6
8
10
12
14
1 2 3 4 5 0
Num Meetups Attended
Num Meetups Attended
Survey: Meetup Scheduling
0
5
10
15
20
25
Monday Tuesday Wednesday Thursday Friday
Meetup Day
Meetup Day
0
5
10
15
20
25
12pm 1pm 4pm 530pm 6pm
Meetup Time
Meetup Time
0
5
10
15
20
25
Every 4weeks
Every 5weeks
Every 6weeks
Every 7weeks
Every 8weeks
Meetup Frequency
Meetup Frequency
Survey: Meetup Content
0
5
10
15
20
25
30
Technical Deep Dive AWS Service Overview Generic Use Cases Wellington AWSCustomer Solutions
Meetup Content
Meetup Content
Survey: Meetup Content
0
5
10
15
20
25
30
Technical Deep Dive AWS Service Overview Generic Use Cases Wellington AWSCustomer Solutions
Meetup Content
Meetup Content
0
5
10
15
20
25
30
Technical Deep Dive AWS Service Overview Generic Use Cases Wellington AWSCustomer Solutions
Meetup Content – Most Preferred
Meetup Content - The Most
Survey: Meetup Content – Service Category
02468
101214161820
Service Category First Choice
Service Category First Choice
Survey: Meetup Content – Service Category
02468
101214161820
Service Category First Choice
Service Category First Choice
0
2
4
6
8
10
12
Service Category Second Choice
Service Category Second Choice
Survey: Meetup Speaker Type
0
5
10
15
20
25
30
AWS Staff Enterprise AWSCustomers
Startup AWSCustomers
AWS TechnologyPartners
AWS ConsultingPartners
Speaker Type
Speaker Type
Survey: Meetup Speaker Type
0
5
10
15
20
25
30
AWS Staff Enterprise AWSCustomers
Startup AWSCustomers
AWS TechnologyPartners
AWS ConsultingPartners
Speaker Type
Speaker Type
0
2
4
6
8
10
12
14
AWS Staff Enterprise AWSCustomers
Startup AWSCustomers
AWS TechnologyPartners
AWS ConsultingPartners
Speaker Type – Most Preferred
Speaker Type - The Most
Survey: Respondents - Who are you?
0
2
4
6
8
10
12
14
16
18
CloudArchitect
DevOpsEngineer / IT
Ops
ApplicationDeveloper
Manager(Practice /
Project)
Other
Job Function
Job Function
0
5
10
15
20
Every day, all daylong
Weekly Monthly Not at all
AWS Usage Frequency
AWS Usage Frequency
0
2
4
6
8
10
12
No skills Novice /Beginner
Intermediate Advanced Expert World ClassCloud Ninja
AWS Skill Level
AWS Skill Level
Survey: Respondents – AWS Certs
0
2
4
6
8
10
12
14
Solutions Architect- Associate
Developer -Associate
SysOpsAdministrator -
Associate
Solutions Architect- Professional
DevOps Engineer -Professional
AWS Certs Completed
AWS Certs Completed
0
2
4
6
8
10
12
14
Not interested Considering it Started Studying
More Certs?
More Certs?
Survey: Cloud Vendors
0
5
10
15
20
25
30
35
40
45
Amazon WebServices
Microsoft Azure Google Compute OpenStack Other Total SurveyResponses
Using Which Cloud Vendors
Using Which Cloud Vendors
Survey Results Summary• Meetup day of the week: Tuesday
• Meetup time: 4pm or 5.30pm
• Meetup frequency: 6 weeks
• Meetup Content: • Anything goes.
• Technical deep dive preferred
• Service Categories: 1st Compute, 2nd Storage, 3rd Analytics
• Speaker type: • Anything goes
• Enterprise Customers or Startup Customers preferred
Part II
What is an API?
An Application Programming Interface (API) is a specification intended to be used as an interface by software components to communicate with each other. An API may include specifications for routines, data structures, object classes, and variables.Source: Wikipedia
An analogy: The evolution of the car industry follows the logic of APIs
Yesterday
Carmaker = craftsman
• Tailor made
• Custom design for each element of the car (wheels, seats, brakes, lights, roof, etc.)
• Restricted modularity
• No standardised processes
Source: 3Scale, What is an API?
Today
Carmaker = system integrator
• Car divided into subsystems (powertrain, brakes, steering, suspension, etc.)
• Main elements designed separately and reused in different cars
• Standardised processes
• Communication interfaces between different engineering teams
An analogy: The evolution of the car industry follows the logic of APIs
So, what is an API?
API Case Study: Fitbit API, externalising R&DFitbit is a fitness tracker that records health and fitness data.
Originally, there was only one application using the data developed by Fitbit.
In 2011, Fitbit created an API to allow third party developers to create fitness apps using Fitbithealth data such as daily steps, calories burned, food eaten and weight.
Thriving innovation based on the Fitbit API34 Apps were built on the Fitbit API creating innovative uses of fitness and health data.
What would it have cost if there were no APIs?What would it have cost if Fitbit had developed these apps themselves?
Let’s assume 1 application = $50,000
34 applications are using the fitness data from Fitbit API
Developing these apps would have cost FitBit:
$1,700,000
Even your bottle has an API!
Endless possibilities…
But…What do these APIs actually look like?APIs can be classified in several categories depending what abstraction is being described.
API Category Example Timeline
Operating System API for MS WindowsAPI for Apple Mac OS X (Cocoa)
1985-2001-
Programming Languages Java API 1995-
Application Services API for SAP (BAPI) 1990s-
Infrastructure Services Amazon Web Services API 2002-
Web Services Twitter API 2006-
REST architecture for APIsRESTFul is a style of software architecture that allows data exchange through human readable URIs.
REST language uses nouns and verbs, and has an emphasis on readability. It ultimately uses less bandwidth than other languages such as SOAP for instance.
• GET – Access a resource
• PUT – Update a resource
• POST – Create a resource
• DELETE – Delete a resource
Let’s Build an API using AWSThere are a few options:
• Roll your own (raw EC2) (could use CodeDeploy)
• OpsWorks
• Elastic Beanstalk
• API Gateway / Lambda
Use 3rd Party PaaS (on top of AWS):
• Heroku, Cloud 66, etc, etc, etc
First Up: AWS Beanstalk• EC2 - Elastic Compute Cloud
• S3 – Simple Storage Service
• ELB – Elastic Load Balancer
• Auto Scaling – starts new EC2 instances
• EBS – Elastic Block Storage; virtual hard disks
AWS Beanstalk provides a convenience layer on top of all of these services.
Elastic Beanstalk in a Nutshell• EC2 Server
• + Linux
• + OpenJDK
• + Tomcat
• Scaling Elastic Load Balancer / Auto Scaling
• Deploy artefacts on S3
• Can add database (RDS)
AWS Beanstalk Language Support
Let’s build a Java-based Web APIDEMO TIME
GET http://somewhere/hello/seb
Returns:
“Hello seb”
Amazon API Gateway and AWS Lambda
AMS Lambda + Amazon API Gateway means no infrastructure to manage - AWS does the scaling for you.
Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.
Lambda functions is stateless, trigger based code execution.
A new, fully managed model
Amazon API Gateway and AWS LambdaDemo: Hello World with Name using Lambda/Python
GET http://somewhere/hello/seb
Returns:
“Hello seb”
Thanks to our Sponsors