AWS re:invent Live Stream – Werner Keynote 11/30/2017

Werner Vogels is VP and CTO of Amazon (AWS).

Egalitarian Platform – everyone has access to the same storage, analytics, algorithms, etc…
What sets a company aside is the quality of the data they have.

G.E. – You go to bed as a manufacturing company, and you wake up as a data and analytics company.

Every device that draws a current has the possibility of connecting (to the internet).
Can now build neural networks that we can execute in real time (used to be just offline).

Example of a Philippine application where machine learning systems tells farmer how much fertilizer to use and when to apply it. Saved 90% on fertilzer cross and doubled the produce.

Voice Apps – natural way of working with computers.

Announcing: Alexa for Business – fully managed
Get access to your home private skills at work.

Imagine Saying the following:
Alexa, 1) cancel my staff meeting, 2) what meetings do I have today? 3) How many laptops do we have in stock?
Integration with Sales Force, flight information, reimbursement software, HR skills, Splunk skills (error logs),

Wynn Hotel is putting Amazon Echos in every room of their hotel, with private skills to lower blinds, control TV, ask about your room bill, etc… No longer need five different remote controls!

1) Proving and manage shared services
2) Configure conference rooms
3) Enrollers and assign skills
4) Build Custom Skills

11:05 Voice represents the next biggest disruption in computing.

I made a little picture to emphasize this quote:

11:08 Three Operational Planes
1) Admin Plane
2) Control Plane
3) Data Plane

Koala Lumpur Video Streaming Business

11:13 AWS Well-Architected frameowrk – 5 Pillars
1) Oper Excellent
2) Security
3) Reliability
4) Performance
5) Cost Optimization

Lens
1) HPC – High Performance Computing
2) Serverless

Certification

Bootcamps – train others to do well-architected systems

The system you build now is not going to be the the same as it is six months from no2.

Principles:
1) Stop guessing capacity needs
2) Test systems at production scale
3) Automate to make architectural experimentation easier
4) Allow for evolutionary architectures
5) Drive your architecture using data
6) Improve Tough Game Days

1) Identity
2) Detective ontrols
3) Infrastuructre protection
4) Data Protectioin
5) Incident Response

1) Implement a strong identity foundation
2) Enable traceability
3) Apply security at all layers
4) Automate security best practices
5) Protect data in transit and rest
6) Prepare for security events

11:19 Dance like no one is watching, encrypt like everyone is.

Eliminate IAM users, get down to least needed minimal security. Don’t run anything under root account.

Ubiquitous Encryption – use https/TOS (see toolkit)
No excuse anymore to not use encryption

Security is your job, not just the security team. It’s all of our jobs to protect the customers.
The new security team: Operations, Developers,

Pace of Innovation,

11:22 Protection in a CI/CD world – Build servers have CloudTrail enabled, security in the pipeline,
every update to source code is validated, …

Amazon Inspector can scan the software you are deploying.

AWS Config Rules – great tool – monitor, compare how system looks 2 weeks ago with now.
Tracks all changes in your environment.
CloudTrail will log every API call to every service, and put in S3.

11:26 How has development changed?
1) Has to be more security aware
2) More collaborative
3) More Languages
4) More services
5) More mobile
6) Q&A and Operations are deeply integrated

11:28 If you develop in this fast changing environment, you need help.
There is something extra we need to do for you.
Every great platform has a great Integrated Development Environment (IDE).
Announcing: AWS Cloud 9 – a cloud IDE for writing, running, and debugging code. Generally available today.

Speaker: Clare Liguori – Sr Software Engineer

Cloude 9 – can pull up in any browser.

Can change theme, key-binding.
Several languges and syntax highlighters installed.
Can run the code directly in the IDE.

You can see all the Lambda blueprints in the IDE.
Has breakpoints and debugger.

One user can share his Cloud 9 environment to another person, so you can pair program and review code.
You can chat inside the IDE. As one person types, his changes show up on the partners screen.
After testing, you can deploy to Lambda, then run it from Lambda.

11:37 Back to Werner speaking

Deep integration with CodeStar tools (Pipeline, Deploy, CodeCommit, CodeBuild).

Availability, reliability, and resilience in 21st century architectures.

Quote from years ago: Everything will fall all the time. You don’t know when, but it might.

11:53 Nora Jones – Chaos Engineering – from NetFlix

Chaos Experiments – look a lot like unit tests, but can add latency and time between calls.
We call it “experiments” instead of testing; we assume we are resilient from the failures.
Chaos engineering doesn’t replace, but works with unit testing

Worked on Chaos Engineering book (OReilly publishers).

You may have heard of their “chaos monkey”.

1) Graceful Restarts + Degradation
2) Targeted Chaos
3) Cascading Failure
4) Failure Injection
5) ChAP – Chaos Automation Performance?

Not if it fails, but what to do when it fails.

Key Metric for Netflix is: Metric is whether or not you can press “play”;
total is called: SPS – Stream Starts per Second

Smallest fraction of traffic possible to know if chaos experiment is working properly.
They needed 2% signal of actual live traffic/transactions, route 1% into control cluster, and 1% into experiment cluster.
One is the control, and in the other one they add in their points of failure.

Automated Canary Analysis – If things go wrong, they shorten the experiment early; before it renders NetFlix unusable for customers. (then developer can go debug it).

They automated the experiments, and the criticality of them. They run the critical ones more often.

http://www.PrinciplesOfChaos.org
Chaos doesn’t cause problems, it reveals them.

12:05 Back to Werner

Gall’s Law – a complex system that works is invariable found to have evolved from a simple system that worked.

Werner gives example of which “planes” are removed off your plate when you go with various cloud services like hosted RDS.

You should use as many “managed services” as possible to achieve reliability and high availability.

Launched Amazon MQ and Time Sync yesterday.

You can focus just on the business functions you want to write.

The rise of microservices.
Scaling components down to the minimum business logic that has scaling and reliability requirements.

Example, login/security service is used on every page, but business logic differs on each page; so one needs to be scaled at a different level. Decomposing into smaller components… Container Technology is helping with this. Has become the default if you want to build microservices.

12:12 Abby Fuller – Senior Technical Evangelist – expert on containers.

Tons of options (a good thing): ECS, Fargate for ECS, EKS, Fargate for EKS
The power is in the choices.

Monzo – is a mobile only bank in England. Have about 350 microservices.
The idea was that “Highly available Kubernetes was not for the faint of heart.”, so “manage Kubernetes for me”, and let me focus on the application. Containers in production can be hard work; lot’s of moving pieces.
Which brings us to “Fargate” and the future, not a service, but technology to help…

12:20 Start Demo of Fargate in action.
It’s not about how, but how well.
Don’t worry me about setting, tune up, images; just run it. Let’s AWS handle the heavy lifting.
Create systems that will support you in 2020.

12:22 Back to Werner –

Question: So what does your future look like?
Answer: All the code you ever write is business logic.

iRobot – strict costs, they only pay for the robot, they don’t pay for cloud services that come with it.
All their code is serverless, they never have to pay for idle time.

Agero – a company that has devices/software that can detect if vehicle is in an accident – Crash Detection on Lambda

HomeAway – established business – takes in 6 million photos/month. Entirely serverless!

Architectural Principles:
1) State machines
2) Tables != Databases
3) Events as Interface s
4) Encrypted parameter store

What customers are asking for:
1) Language Support
2) Peformance
3) Function concurrency
4) VPC Integration

4 new poerful Featurs for AWS Lambda:
1) API Gateway/VPC Integratoin
2) Concurrency Controls
3) 3GB memory support
4) .NET Core 2.0 support
5) and Go (language)

Making Serverless even more “Less”
1) Getting started
2)

Announcing: AWS Serverless Application Repository – discover, deploy, publish, reuse

12:32 Dr Walter Scott – CTO of and Founder, DigitalGlobe
Deals with images and maps and satellite photos of earth.
A lot of information in these pictures, but it’s a really big plante, i.e. BIG DATA!
80 Terabytes collected every day from their satellites.
Before AWS, had their own data center with 100 Petabytes of images, but it was “stuck in a jail”.
Used the Snowmobile (data center on wheels) to transfer data.
Moved 17 years worth of data in a single cost effective-operations, to two regions in Glacier.

Second challenge – provide on-demand access while still managing cost.
Maybe take last 180 days and do aged-based caching.
But two problems:
1) Was still a big cache
2) Still missed a lot – Only 40% cache hit rate.
We have gone from viewing images, to analyzing images.
Data access is highly variable and diverse, included current and historical data.
They turned into machine learning service (SageMaker) to the caching problem.

Used pictures of villages in Africa to know how many vaccines to prepare and send.
Can we predict where the next access is likely to be, and preload from glacier before it is needed.
Got cache ratio up to 80% and trending up to 90%.

Third problem solved: Analysis – extracting information from 100 Petabytes at scale.
GBDx – Geo Spatial Big Data Platform – Geo Data as a service
takes unstructured imagery and makes it structured and pulls out various features.
GBDx Notebooks, built on the “jupyter” notebook framework.

Geoscape – continuously updated service of all buildings, roads, roof heights, tree canopies, etc… in Australia.
Used for Telecom – as it moves to 5G, which is blocked by things like trees.
Wildfires in 2014, how to evacuate people… Time = Risk to Life.
Geoscape takes out the guess work from the first response workers.
GBDX for Sustainability – challenge – an experiment with purpose – ideas for solutions for UN sustainable development goals, like good health and well-being. DigitalGlobe.com/revinent

12:43 Back to Werner
Machine learning impacts: developer tools, operations, security

Multi-Lingual Social Analytics
737 Flight Simulation – all machine learning, Alexa talks to pilot, gives advice about best actions to take.

trainline – price prediction

Guest speaker – Sensors, machine learnings and real humans – Mati Kochavi – Founder, AGT International and Heed

Tribe of storytellers – endless search for telling stories in a new ways, and today we all join this journey.

Two UFC MMA boxer/fighters (Diakiese vs Barboza) come on page.
Uses terms like: 70 new insights were introduced such as resiliency, aggression index, etc…
in real time with real data.

How to tell the world with the Internet of Things, the story of sports and entertainment.
Starts with data collected form sensors. The floor mat is smart can sense pressure, movement.
The glove is a smart glove with sensor, creates 12 stories… stength, impact, …

World Graph is the representation/model of the world.
It’s not about the statistics of the fight, but the story of the fight.
AI Agent sits on top of the World Graph. One mission, to provide information what you want to know about the sport event, even if you are not there. What is interesting and fun to know how to provide information in a “cool way” to my audience. And different people want to know different things, so can be customized to the relevant people.

re:invent 2017 – AWS Conference – Live Stream Notes – 11/29/2017
“The Cloud is the New Normal” – Andy Jassy – CEO Amazon Web Services

10:17 Expedia CEO –
Expedia – 22,000 employees and and ?? billion in sales
Most global diversified travel platform in the world.
55 million phone calls/year
Started as a small division inside Microsoft.
Rewrote every line of code, retired 10 millionth line of C# code.
We consider ourselves “Serial Re-inventors”.
80% of mission critical apps will move to AWS.
2000 deploys per day?
3 Reasons: Resiliency, Optimization, Performance
Acquired Travelocity and migrated to cloud. ($280 million acquisition in 2015)

More instance families than anyone else, because different app/dev’s have different constraints.
Announced ‘bare metal’ instances last night.
Elastic GPU, add a “little GPU”.
Containers – Elastic Container Service – ECS
people don’t just want container – orchestration and management – same capabilities of EC2, deeply integrated with other Amazon services, scales in a broader way… , over 100K active containers running at any one point,
people becoming interested in Kubernetes – people were running on AWS, but today new service EKS – Elastic Container Services for Kubernetes.

Announcing AWS Fargate – run containers without managing servers!

Serverless / Lambda –
Aurora – fastest growing service in the history of AWS; sacle out up to 15 read replicas in 3 availability zones, autoscale available,
Oracle doubled price to run Oracle on AWS, who does that?
Preview Aurora scale out for both reads and writes (formerly scaled out for reads only). Failover in 100 milliseconds.
1st relational database to scale out to multiple data centers. Single region multi-master today, multi-region coming next year.
Preview of Aurora Serverless – so you pay only for what you use! On demand – autoscaling serverless Aurora. Pay only by the second when DB is being used.

Relational database tend to break down when you have PetaBytes or ExaBytes; and that is why they build DynamoDB.
July this year – was “Prime day” at Amazon.com, processed 3.34 Trillion Requests, 12.9 million requests per second.

Announcing Dynamo DB Global Tables – the first fully managed, multi-master, multi-region database in the world.

Announcing Launch of Dynamo DB Backup and Restore – only cloud database to proviide on demand, continuous backups. Available today, and point-in-time restore coming in 2018.

Announcing: Amazon Neptune – fully managed graph database, Support Apache TinkerPop (tinkerpop.apache.org) and WSC RDF graph models; fast and scaleable, reliable… Supports both Gremlin and Sparql.

Modern companies use multiple types of database, often in a single application. AWS had breadth and width of selection.

Amazon S3 is the most popular choice for “Data Lakes”.

Analytics Services:
Athena – for unprocess data such as logs
16 management framework for Big Data (like EMS/Hadoop, etc…)
RedShift – something like a DataWarehouse
Elastic Search – real time dashboards
Kinesis – Real time processing streaming data
QuickSight – Business Intelligence https://quicksight.aws/
ETL – has not existing in the cloud until they launched “GLUE” about a year ago. https://aws.amazon.com/glue/

11:07 Second customer speaker: Goldman Sachs – Analytics Users – Managing Director Roy Joseph
Has been around since 1869, almost 160 years.
1 out of 4 employees is an engineer, 1.5 billion lines of code, 700 applications.
2000 Servers in Cloud Environment.

Three clinet centric innovation (applications)
1) Marcus – over 2 billion in small loans, app written in a year.
2) Marquee – access to risk and pricing platform
3) Symphony – Secure messaging and collaboration

Obstacles to overcome
1) Control of environment
2) Data privacy (the real show stopper!)

Was not an “easy sell internally”. Need an industry leader, builds new business, track record of innvovation… chose AWS.
For them, AWS created B.Y.O. Key – Bring Your Own Key Architecture. Rolled out in August last year as part of KMS (Key Management Solution) https://aws.amazon.com/blogs/aws/new-bring-your-own-keys-with-aws-key-management-service/

Includes:
1) Anomalous behavior detection
2)
3)
Apply the “trust but verify” model to key management.

11:18
Announcing “S3 Select” – allows you to pull out only the data and objects you need from S3.
Reduce cost of apps querying S3, filter data using standard SQL selections. Sometimes up to 400% savings!
Presto Query –
http://www.tpc.org/tpcds/ TPC-DS used for benchmarks.

Can we further extend the data lake?
Glacier – has been hard to query, hard to pull out just what you want (as above).
Announcing: “Glacier Select” – similar to “S3 Select” above (at standard or expedite sped or both, depending on your needs).

11:23 House band and Eric Clapton

Machine Learning – should not be so black box, cryptic…
The hype and the hope here is tremendous.
“Machine learning” is the buzzword dejure.
Amazon recommendations – people may like this product – all fueled by Machine Learning
(also the Prime Air drones, speech recognition and Alexa).

It’s still early for most customers.

Three layers of the stack:
1) For expert machine learning practitioners – accustomed to building/tuning models themselves on P2/P3 instances.

With Machine Lanauge – The one constant is change
More Tenser Flow on Amazon than anywhere else, but maybe Caffe2 is the chocie, or MXNet is the best.
We will support them all. (Torch, Keras, …)

Released “Gluon” to build neural networks that dynamically flex.
Gluon is a new open source library by AWS and Microsoft: https://aws.amazon.com/blogs/aws/introducing-gluon-a-new-library-for-machine-learning-from-aws-and-microsoft/

There aren’t that many ML experts in the world yet.
ML is still to complicated formost developers. Even small models consume a lot of compute time. Then it has to be tuned (quite difficult, up to millions of parameters). Developers throw up their hands in frustration. The lifting is “too-heavy”.

Original vision statement for AWS – allow any person at any company have access to same tools as the largest companies in the world.

Introducing: Amazon Sagemaker – easily build, train and deploy machine learning models.
Create your own algorithms or use built-in.
8 of 10 run two times faster than anywhere else, and 2 of them run 3 times faster.
Training is easier any “Sagemaker” than anywhere else, specify location of data in S3, and EC2 instance type; it spins it up, then when done tears down cluster. Do you change data for the model, or how to choose hyper-parameters?
Tuning parameters has been highly random. Hyper-parameter-optimization (HPO) is done for you; it spins up multiple copies of your model, then using machine learning to inform the machine learning model. This can be 1000s or even millions of parameters. You can pick some options, and do one-click of your model to production.

11:42 Announcing “DeepLens” – for “Deep Learning – High definition camera with on-bar compute, optimized, has “green grass” in it (can us Lambda triggers). For example, if it recognizes license plate, could open garage door. Can send you alert when dog jumps on the couch.

11:43 Guest Speaker Dr. Matt Wood – GM Artificial Intelligence at AWS
Example: Music recommendation service, optimize it, deploy it, then make recommendations. Then a little fun with Deep Lens.

Unlikely you get the best model the first time. You have to tune. HPO (above) is the automatic tuning to improve accuracy then re-test it. Interactively picks interesting features of each model, and keeps improving accuracy; then selects best performing monitor. Single click to fully managed multi-Availabity Zone cluster.

What can you do? Train dozens and dozens of more models, gets addictive quickly. Let your imaginations run wild!
Experimenting is the best way to learn and improve your skills. Creating AWS Deep Lens – first deep learning wireless video camera, to help developers learn and test their skills.

Taking orders for the camera starting today!

11:53 Amazon Rekognition – Search, analyze, and organize millions of images.
By picture matching, several victims of human trafficing have been recovered using this technology.
Can detect smiles, frowns, celebrity recogntion, in-appropriate content.

People asked – can you do the same thing for video? Harder – because it deals with time and motion, and needs context of previous and next frames.

Announcing – “Amazon Rekognition Video” – “Video in, People, activities, and details out.”
Includes “people tracking” (using technology called skeleton modeling) to know if person is in frame or not.
It handles “real time” video as well. Service will continue to get better every month.

People were asking, how do we get our data and videos into the cloud?
Announcing – “Kinesis Video Streams” – Securely ingest and store video, audio, and other time encoded data (like RADAR).

How about language? Last year launched both Polly and Lex, but so many other things users want to do with language.
Hard to search audio, so have traditionally converted audio to text. Since it is expensive, people only pick out the most important things.

Announcing – “Amazon Transcribe” – long form automatic speech recognition, analyzes any .wav or .mp3.
Can be used for call logs, meetings, starting with English, but other languages coming in months to come.
Machine learnings adds punctuation and grammatic formatting, along with timestamps. Supports even “poor” audio, like phones and lower bit-rate audio. Coming soon: Will be able to distinguish between multiple speakers, and can add your own custom libraries and vocabularies. Then you want to take transcribed text, and translate it into other languages.

Announcing – “Amazon Translate” – automatically translates text between languages. Great for uses cases that require real-time translation (customer support, online media). Coming soon: recognize source language on the fly.

Announcing “Amazong Comprehend” – full natural language processing service. Discover valuable insights from text.
Four categories: 1) Entities, 2) Key phrases, 3) Language, 4) Sentiment
Can do “topic modeling” – look at thousands or millions of documents/articles. Can be used to group documents, or how to show them to your customers. Can do ?? documents for $1.80. (missed the number).

12;12 How NFL is using Machine Learning – Michelle McKeena_Doyle, SVP and CIO, National Football League
Largest sports club in the world.
In 1 week of games – 3 terabytes of data is collected.
Next Gen Stats Platform – giving broadcasters details stats about real-time speed, movements, distance a player has moved… Will also be available for post-game analysis. AWS is now an official technology partner with NFL and Next Gen Stats.
All this will enhance the “fan experience.” Sensors are placed on each player to provide this data.
For example, can compute Quarterback Efficiency. Can take into account field condition and weather, things that the human mind may not be able to correlate. Can look at why a play was successful and how it can be quantified.
What the offensive formation is “pre-snap”? What the defending team did? Takes key identifiers, when ball was snapped, when it passed, when it was caught, and when the tackle was made. Why? To get new insights? Show probabilities of success to various teammates. Mid play – catch probabilities are now available. Can see how good the decision making was for the quarterback.

12:24 House Band – Tom Petty 1981 song “The Waiting”
The Next phase of IOT – The Internet of Things –
Trying to get data to edge devices is hard and painful.

Examples: Genome sequencing, John Deer tractors sending real time data to AWS and back to farmers, sensor data from cars, updating maps…

Device manufacturers are exciting about getting data from their own assets.

Frontier 1: Getting into the Game
Example: Want to allow you as a customer, when you want dishes to be picked up from room service, push a button. Simple straight forward Lambda triggers they want to get into IOT with.

Announcing: “AWS IoT 1-Click” – creates Lambda trigger for you.

Frontier 2: Device Management – 1) onboard and provision fleets, 2) monitor and query devices, 3) implement corrective action.

Announcing: “AWS IoT Device Management” – helps onboard/deploy devices in bulk, example 1000s of light bulbs to multiple locations in one click, manufacturer, serial #, firmware, and query on those dimensions (to determine where to troubleshoot). Do updates over the air on part or all of your fleet of devices.

Frontier 3: IoT Security –
existing “IoT Core” helps with security of individual device, but now

Announcing: “AWS IoT Device Defenders” – define security policy for fleets of devices.
1) Monitors fleet of device for policies and best practices (auditing, example not sharing certificates across devices)
2) Monitor device behavior –
3) Identify anomalies and out of norm behavior

Frontier 4: Analytics – has been hard to make sense of it, but customers want to do it.

Announcing: “AWS IoT Analytics ” – cleans, processes, stores IOT device data.
Define an anlystics channel, select data to store, ingest it, configure it enrich or transform the data. It also needs other data to make it useful, e.g. a vineyard might need humidity of the soil, but need to know predicted rainfall that day before turning on irrigation. Performs ad hoc queries, sophisticated analysis, and prepares data for machine learning.

Frontier 5: Smaller Devices – take action based on data they are getting; some are big enough or expensive enough to house a CPU. But new ones have a MCU (Micro-Controller Unit), which outweighs the CPU units by 40×1. Like smoke detectors, soap dispensers… are not connected to the cloud.

Announcing: Amazon FreeRTOS – IoT connected operating system for microcontrolled-base edge devices.
Working with Texas Instruments, and other companies…
May not have connectivity to make round trip to cloud, but can connect to a “green grass” device nearby (https://aws.amazon.com/greengrass/), that has Lambda on-board.

Announcing: “GreenGrass ML Inference” – let’s you run Machine Language “at the edge”
No latency of going back to the cloud. Most will use SageMaker to bulid models, send over air to the devices.

After winter comes spring

Are you going to play? Huge penalty for companies that do not.
Amazon AWS released 1300 features this year, an 3.5 per day average.
All your competitors will be using the cloud. It’s a golden age – and we will be there every step of the way to help.

12:46 end

I needed to access an RDS database (relational data store) from a C# Lambda function.? It took me a while to figure how how to reference it.

Build Error:

C# Core:System.Data.SqlClient “Data” does not exist in namespace System

Solution:

Run the following under the Nuget Package console.
Install-Package System.Data.SqlClient -Version 4.1.0

Note, it might not work with other version. I saw one blog that was 4.1 worked for them, but not higher ones. It might depend on which version of .NET Core you are using.

This blog explains in more detail why you are probably getting the error and provides two solutions, depending on whether you want to pass just a string or JSON.

Error:

{
"errorType": "JsonReaderException",
"errorMessage": "Unexpected character encountered while parsing value: {. Path '', line 1, position 1.",
"stackTrace": [
"at Newtonsoft.Json.JsonTextReader.ReadStringValue(ReadType readType)",
"at Newtonsoft.Json.JsonTextReader.ReadAsString()",
"at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader reader, JsonContract contract, Boolean hasConverter)",
"at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)",
"at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)",
"at Newtonsoft.Json.JsonSerializer.Deserialize[T](JsonReader reader)",
"at lambda_method(Closure , Stream , Stream , ContextInfo )"
]
}

Solution – If you are passing JSON

I wanted to pass JSON, to at first I built my method like this:

public string HelloWorld(string input, ILambdaContext context)

I then intended to deserialize the JSON into an object so I could reference each field. I had included my own Deserialize which was totally unneeded, as you will see in a moment:

MajesticData objMajesticData = JsonConvert.DeserializeObject<MajesticData>(jsonMajesticData);

I wanted to reference the fields in the following manner in order to pass parameters values to a SQL stored procedure.

myCommand.Parameters.AddWithValue("@domain", objMajesticData.domain);

My example data (this is what I passing to the Lambda test)

{
"domain": "irvingseoexpert.com",
"trustFlow": 18,
"citationFlow": 25,
"backlinks": 617,
"error": null
}

My C# Data Class:


public struct MajesticData
{
public string domain;
public DateTime datetime;
public int trustFlow;
public int citationFlow;
public int backlinks;
public string error;
}

 

Well the answer turns out, that if you pass JSON, apparently they deserialize it for you. And you must specify the class, otherwise it looks like they try to deserialize it to the class “string”.So instead, I changed the method to use my class, and everything worked smoothly.


public string SaveMajesticData(MajesticData objMajesticData, ILambdaContext context)

Solution – If you are passing a string

Just pass the string in quotes.

Example, your method matches the HelloWorld example:

public string HelloWorld(string input, ILambdaContext context)

I hope this explained better than I have seen explained in the AWS forums and on StackOverflow.com. The StackOverflow link mentions that you could use JObject instead of string, then pass {“yourVarname”,”your value”} (where “yourVarname” is the name of the parm and it is of type JObject.

I’m still thinking about whether I want to get AWS (Amazon”s cloud platform) certified.  But one question I had was about where I would have to go to take the exams.
In the past I’ve taken exams, and familiar with testing centers like Sylvan (Prometric), Vue, and 2Test and others.

Question: Are AWS exams online or at a testing center?
Answer: You go to a testing center to take the exam.

Question: How do you find the testing centers for AWS exams in your city?
Answer: Start the scshedule an exam process, identify the exam centers, then close the process if you just wanted to check the locations.

From this page: https://aws.amazon.com/certification/our-certifications/  click “Schedule an exam”.
You have to sign up with https://webassessor.com/wa.do?page=createAccount&branding=AMAZON and pretend you want to take an exam, just to see the exam locations and addresses.  You can then back out.

An example of Texas exam centers, such as Dallas And Austin can be seen in the image below (Dallas is highlighted). One of them is Sylvan, the other is “Business Communication Solutions”.  Those seem to be popular in major cities, along with many college campuses.

 

 

 

Here are the steps I used to setup GoDaddy to use my Amazon EC2 Instance (running Windows 2012 with IIS).

I first tested with an old domain that I was no longer using called Discount-Protein.com.

First I created a new “Elastic IP Address” and assigned it to my EC2 Instance.  After setting it up, it looked like this:

GoDaddyWithAmazonAWS_ElasticIPAddress

 

To get to the above, the steps are: 1) Click “Elastic IPS” on the left side of the EC2 dashboard, 2) Click Allocate New Address, and confirm that you really want to create a new one, 3) Click the select box to the left of it, then click the “Associate Address” button at the top.  From there, you get a screen like the one below, where you can select your instance name from a list of all your instances.  Note: The “Instance” textbox doesn’t look like a normal drop-down or combo-box, but when you click it, a list of your instances will appear below it.

 

GoDaddyWithAmazonAWS_ElasticIPAddressAssociate

The rest of the work is done in Godaddy.  Logon, and go to your domain. If your domain is not using GoDaddy as the DNS server, you might want to click “Setup Type” Standard, which means you will be able to setup the zone file in GoDaddy.  I think Amazon can also act as your DNS, but I haven’t tried that yet.  So earlier, I had GoDaddy posting to one of my shared hosted providers.  When I clicked the “standard” button below, that resets to GoDaddy, and a couple of “standard” GoDaddy Nameservers will automatically appear.  NOTE: There could be several GoDaddy Nameservers, yours may not be identical to mine.

 

GoDaddyWithAmazonAWS1

 

Then on GoDaddy, click on the “DNS ZONE FILE” tab.  Below I’m showing their new interface, if you click you can go back to their “classic DNS Manager Interface”.   Make sure you have two rows here, one with the @ sign and one with the www as the host, then sets the “Points to” address to your Amazon AWS Elastic IP Address and then click the button to save your changes.   As with any time you change GoDaddy, you might have to wait 5 minutes to an hour (or more) for the changes to propogate, then you can test.

 

GoDaddyWithAmazonAWS_ZoneFile

 

To test, I created a simple test.html page that just had <h1>Hello World</h1> in it. So I went to a browser and tested with http;//Discount-Protein/test1.html and made sure it was working.

 

 

Cannot connect to Amazon RDS with SSMS

Amazon allows you to run an Relational Database Server (RDS) that runs several of the common editions of Microsoft SQLServer. After setting up your RDS server/instance and launching it, you may have issues connecting to it.

Cannot connect to SQLServer – Error Message

Microsoft SQLServer has a very general message when you cannot connect.

SQLServer_Connection_Failure

It reads as follows:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible…

Within the Amazon AWS console, there is a screen for setting up your Virtual Private Cloud (VPC). Within that, one of the options is for the “Security Groups”. By default, you RDS SQLServer is open only to certain spaces within the Amazon world. To open it up to an external program, such as SQL Server Management Studio (SSMS) on your PC, you will have to add a security group or change the existing one.

Amazon VPC Security Group Default

The screen shot below show the original value. The blue square “dot” at the top shows the security group that I currently have selected, and the bottom half of the screen gives the details on four different tabs. It’s the Inbound Rules that need to be adjusted. By default, the source, in my case, was sg-0ee39c6b which was the default security group. I’m still not 100% sure what it represents, but it definitely doesn’t include anything outside of the Amazon data centers. (By the way, in this screen shot I’m in “Edit” mode.)

AWS_VPC_SecurityGroup_Original

Amazon VPC Security Group Modified

The screen show below (not in edit mode), shows the change I made. I changed the “Source” from the security group-id to a CIDR of 0.0.0.0/0, which basically means any IP Address.  You are basically defining firewall rules here.  It would be best to only open port 1433, which is used by SQL, to avoid any other hackers trying to attack your server.  A common technique is to open everything first, make sure it works, then starting closing the doors to everything except the minimum that are needed to be left open.

AWS_VPC_SecurityGroup_Corrected

To open up for example, you home PC, use “What is my IP Address” in Google to get how the outside world views your IP Address, then convert it to a CIDR. Here is the URL of a handy online IP Address Range to CIDR converter. That utility only accepts a range of IDs (and the ending range has to be different from the starting range).