AWS News - DocumentDB Event Subscription, Step Functions EMR, and AWS Certification Questions
This episode talks about Amazon DocumentDB support for Event Subscriptions, AWS Config adds pagination support for ⌠source
View On WordPress
seen from United Kingdom
seen from United States

seen from Indonesia

seen from United States

seen from Canada
seen from Australia
seen from Sweden

seen from Russia
seen from United States
seen from United States
seen from Singapore
seen from United States
seen from United States
seen from Malaysia
seen from Belarus
seen from TĂźrkiye
seen from United States
seen from United States

seen from Sweden

seen from United States
AWS News - DocumentDB Event Subscription, Step Functions EMR, and AWS Certification Questions
This episode talks about Amazon DocumentDB support for Event Subscriptions, AWS Config adds pagination support for ⌠source
View On WordPress

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
Amazon DocumentDB (database service managed by Aws)
Amazon DocumentDB (database service managed by Aws)
DocumentDB is a managed database service provided by AWS (Amazon web services.) It is a NoSQL database the same as MongoDB and can be easily accessible by using any mongo client tool. Its functionalities are based on mongo3.6 API. It provided high availability and scalability environment where multiple instances can be added with just a single click.
Letâs see how we can setup thisâŚ
View On WordPress
Amazon fires open-source shot with DocumentDB launch In a move that will surely upset the open-source community, AWS has launched a new database offering compatible with theâŚ
Linked Servers for Azure's NoSQL CosmosDB
Despite its reputation, I'm still a massive fan of linked servers. Microsoft developed it for a reason and it's ongoing presence on the platform since day one says it all. No one told you to pull back a gazillion rows on an inner join with a local table. So, when I saw it's now possible to use it with Azure's CosmosDB, a cloud based NoSQL database, wow, this could be useful and had to try it out myself. It's all possible through a simple ODBC Driver.
Despite its reputation, Iâm still a massive fan of linked servers. Microsoft developed it for a reason and itâs ongoing presence on the platform since day one says it all. No one told you to pull back a gazillion rows on an inner join with a local table. So, when I saw itâs now possible to create a linked server to Azureâs CosmosDB, a cloud based NoSQL database, wow, this could be useful and hadâŚ
View On WordPress

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
New Post has been published on DREW5.net
New Post has been published on http://drew5.net/code/microsoft-azure-web-app-services-powering-chargehub/
Microsoft Azure Web App Services Powering ChargeHub
Mogile Technologies and Microsoft moved ChargeHub from Parse.com to Azure Cloud and Web App Services to provide world class support to EV drivers and their OEM clients.
âWe needed a cross-platform solution that would easily integrate with a scalable database system. We found that Azure Web App Services fit that perfectly. It connected easily with Azure SQL, which could also connect with many standard tools. Using the Azure Easy APIs, we were able to connect our iOS, Android and Web platforms to the database.â â Olivier Proulx, CTO Mogile Technologies
Core team:
Simon Ouellette (@EVChargeHub) â Chief Operating Officer, Mogile Technologies/ChargeHub
Olivier Proulx (@MogileOli)- Chief Technology Officer, Mogile Technologies/ChargeHub
Francis De Broux â Chief Operating Officer, Mogile Technologies/ChargeHub
Chris Coffin â Graphic Design and User Experience, Mogile Technologies/ChargeHub
Jonathan Duskes â Software Development, Mogile Technologies/ChargeHub
Joshua Drew (@jdruid)- Sr Technical Evangelist for Startups, Microsoft
Customer profile
Mogile Technologies is a private company founded in 2013 by a group of individuals passionate about electric mobility. Their mission is to increase the adoption of electric mobility by providing innovative online solutions. Mogile Technologiesâ flagship product is ChargeHub, a platform that helps people choose their electric vehicle, get set up with charging at home and find charging stations on the go.
Mogile Technologies is in Sainte-Anne-de-Bellevue, Quebec Canada.
Problem statement
In 2013, it was difficult to find where the public charging stations were in Canada. Electric vehicle (EV) sales were growing, but the EV drivers couldnât find public charging stations unless they already knew where they were. Even though most EV charging is done at home during the night (just like charging your cell phone) there are times when itâs important to know where the public charging infrastructure locations are for a boost (just like knowing where the cell-phone charging terminals at the airport are located). This is especially important during round trips that are at the edge of or over the EV mileage range.
The Mogile Technologiesâ team was aware of the issue and started building an internal solution to solve this problem. They created a small database with a few hundred Canadian locations and launched their mobile application (âEV charger locatorâ) to the public. The mobile application was an instant success.
A few years later, the app was renamed ChargeHub and to align with the companyâs goal of being the one source of information regarding electric vehicle charging for all stakeholders in the industry, from EV drivers to vehicle OEMs. Today, ChargeHub helps over 200,000 users find over 45,000 electric vehicle charging stations across North America.
As the public infrastructure and user base grew, it was clear that Mogile Technologies needed a strong cloud partner to provide world class support to EV drivers and their OEM clients. Mogile Technologies chose Microsoft Azure Cloud and Web App Services because of their growing support for diversified cross-platform environments.
Solution, steps, and delivery
Parse Migration
ChargeHub user profiles were hosted on Parse.com, but Facebook announced it was closing the Parse service. The Azure team found a way to migrate existing Parse services to Azure Web App Services. We used this method to migrate the ChargeHub application and data without affecting existing users.
The team did this in three steps:
1: Setting up DocumentDB using the MongoDB API
We setup a DocumentDB database on Azure by going to NEW > DATABASE > DocumentDB as a service for MongoDB.
Once configured, we used the connection string (found in Settings Section) to migrate the ChargeHub profile database from Parse.com to Azure DocumentDB via the Parse.com dashboard under âmigrate to external databaseâ.
2: Parse Server
The Azure team provided excellent migration documentation. We used it to migrate the data out of Parse.com and set Azure Web App Services to stand up our own parse server.
We created a Web App for hosting the Parse Server. Within the Azure Portal we clicked NEW > WEB + MOBILE > Web App to start the process.
Once our Web App was up and running we used Azureâs Continuous Deployment option to fork the Parse Server GitHub Repository.
Deployment is set up and ready to go. We pulled code down from the GitHub repository and published out to our newly created Web App.
Since our app was no longer using the Parse servers, we had to update to the latest SDK and provide a new âserverURLâ within our app.
Parse.serverURL = 'https://APPSERVICENAME.azurewebsites.net/parse';
Sessions need to be handled a bit differently as well. When the migration took place we needed the users to âre-loginâ and we added some new code to handle that.
// CLIENT SIDE FUNCTION TO HANDLE SESSION ERRORS function handleParseError(err) switch (err.code) case Parse.Error.INVALID_SESSION_TOKEN: // Handle error // Display message to the user (display code not included) if(Parse.FacebookUtils.isLinked(Parse.User.current())) // If the user logged in with Facebook, we can log them out and back in. Parse.User.logOut(); loginwithfb(); else // if the user logged in with their email+pw, we save their email, // log them out and ask them to log-in again. But we can pre-populate // their email to make it easier var user = getCurrentUser() var email = user.get("email"); Parse.User.logOut(); showLoginModal(email); break;
During the migration there were some functions that were no longer active due to an increase in security level. One of these were the âfindâ command for querying tables. This was no longer permitted on the client side to prevent reading of a full table. We ended up creating our own function to handle this on the server side.
// SERVER SIDE FUNCTION Parse.Cloud.define("getPublicProfile", function(request, response) var query = new Parse.Query(Parse.User); query.equalTo('objectId', request.params.objectId); // FIND can only be executed on the server side query.find( useMasterKey: true , success: function(results) if(results.length>0) var user = results[0]; var objectToReturn = image : user.get('picture'), username : user.get('username') // any other public parameters we want to return here. ; response.success(objectToReturn); else //no results found from _User class response.success(null); , error: function(error) response.error('query error: '+ error.code + " : " + error.message); ); ); // CLIENT SIDE FUNCTION TO GET PROFILE INFORMATION Parse.Cloud.run('getPublicProfile', objectId: ''+objectIdString, success: function(result) if(result) // We can use a user's public info like profile picture and username here else // Nothing returned for this user , error: function(err) // Handle error );
3: Configuration
Within the Web App Application Settings, we configure some app setting keys for the Parse Server to connect to our Database as well as our application ids.
Data and Real Time Integration
There are over 45,000 charging ports and stations in North America. The only thing they have in common (besides charging vehicles) is how different they are from each other:
Charging ports are not consistent; there are many types of connectors and vehicles are not compatible with every connector
Depending the voltage and design, stations charge vehicles at different speeds
There is no standard payment method and most stations do not accept credit cards
Station size is variable; they can be as small as a box of cereal, making them difficult to find in a large parking lot or underground garage!
ChargeHub partners with charging station operators to connect directly with their backend system. The system aggregates and standardizes the data into an Azure SQL Database.
If all charging stations design were connected to the web, database updates would be relatively easy. But a very large percentage of stations are not connected to a backend so it is difficult to automatically detect their location and pertinent information. This is where the ChargeHub platform shines. EV drivers can add or update station information directly from their mobile apps or at chargehub.com. The ChargeHub team reviews every submission before adding it to the database. This helps ChargeHub provide the best station location information to its user and OEM clients.
Using Azure Web App Services running Node.js, we created a web portal to provide live status availability and payment integration. The Azure Scheduler Service updates this information every 5 minutes and a driver can access this information to charge and use the application to pay for the charging session.
The Azure App Services API App (programmed in JavaScript) integrated the Azure SQL Database and the mobile application. The mobile application client uses the API App to display the charging location data in real-time.
We used Azure Search Service to automatically index the ChargeHub Azure SQL Database. This simple setup required no additional development effort.
Other Migrations
Mogile Technologies main website (mogiletech.com) uses WordPress for content management and MySQL for content storage. These were moved over and setup on Azure using the Azure Web App Service for WordPress Hosting and the ClearDB MySQL hosted database option.
Customers Viewpoint
During this process there were other items that were needed to be considered when moving the applications over to Azure. These ranged from domain names to workflows to code editors. The Mogile Technologies team were pleased with the ease of use of managing multiple domains. The Mogile Technologies Platform uses Multiple Domains for all products and managing SSLâs can be complicated. However, when buying new SSLâs, the Mogile Team states
âAnother extremely nice improvement you made recently is purchasing SSL certificates directly from the portal. This is amazing! The first SSL certificate I purchased was from GoDaddy (first year was cheap) but integrating it with Azure was extremely complicated. When I had to renew it, I just purchased a new one on the portal and the integration was seamless!â
The team also started using Visual Studio Code for Mac in order to code and edit some configuration settings within the app. The development team was extremely pleased with the performance and stated:
âIâve started using Visual Studio Code for Mac in the last few weeks (previously used Atom on macOS). I found Atom is much too heavy and slows down my machine for no reason. VSC has some nice features out of the box (like automatically reading npm package versions!). I havenât dived so deep in all its features, but so far Iâm impressed with the light-weight and simplicity it offers.â
Lessons Learned
Overall the process of moving to Azure was fairly smooth. There was an issue during data migration where an error occurred that stated âRequest Rate is Too Largeâ. This stalled the data migration to DocumentDB a bit. At the time we did not know what the error meant or if our application had to be changed. The DocumentDB Support team quickly resolved this by letting us know that this error was by design and we could throttle each of our collection tier in order to finish the process.
Resources
Parse Migration Guide â https://azure.microsoft.com/en-us/blog/azure-welcomes-parse-developers/
Azure Search â https://docs.microsoft.com/en-us/azure/search/search-get-started-portal
WordPress on Azure â https://docs.microsoft.com/en-us/azure/app-service-web/app-service-web-create-web-app-from-marketplace
Using Node.js and MS SQL â https://docs.microsoft.com/en-us/azure/sql-database/sql-database-connect-query-nodejs
Request Rate Throttling â https://blogs.msdn.microsoft.com/bigdatasupport/2015/09/02/dealing-with-requestratetoolarge-errors-in-azure-documentdb-and-testing-performance/
Azure DocumentDB - NoSQL document database platform from Microsoft
#NoSQL #Document #Database, #Azure DocumentDB, #Pricing, #Advantages, #Emulator, #Datamigration
http://www.knowsh.com What is NoSQL Document Database, Types of NoSQL Database, Azure DocumentDB, Pricing, Advantages of DocumentDB, How to Connect, DocumentDB Emulator for Developers, Data migration from Other source to DocumentDB. http://knowsh.com/Notes/NotesSearch/NotesDetail/160261/Azure-DocumentdbâNosql-Document-Database-Platform-From-Microsoft
View On WordPress
I was hanging out with Miguel de Icaza in New York a few weeks ago and he was sharing with me his ongoing love affair with a NoSQL Database called Azure ...