06-01-2020

AWS Amplify or Kinvey for External Databases, Identity Providers and DevOps

Deel dit bericht

Selecting a cloud service is an increasingly complex decision ideally based on individual app requirements. Based on my interactions with thousands of developers in the Progress/Telerik developer tools ecosystem, I wrote a separate article contrasting Kinvey with Firebase. Another cloud service I'm asked about is AWS Amplify from another popular cloud giant.

Developers usually have frontend framework preferences in mind, but the backend is less obvious when choosing from several mature cloud services across Google, Amazon, Microsoft, Progress or multi-cloud.

This decision may be made for developers in organizations that have invested years building their backend on IaaS. But it’s becoming an increasingly complex decision ideally selected based on individual app requirements as illustrated in this hackathon contrasting a variety of combinations. Assuming you’re able to choose the best tool for the job, let’s contrast AWS Amplify with Kinvey, our serverless development platform for business apps.

Where Does AWS Amplify Fit?
AWS Amplify is a set of libraries, UI components, and a command line interface to build a mobile backend and integrate with your mobile and web apps. AWS Amplify is a good choice as a development platform when:
• Your team is proficient with building applications on AWS with DevOps, Cloud Services and Data Engineers.
• You’re developing a greenfield application that doesn’t require any external data or auth systems
• You have existing backend services developed on AWS
• You need more granular control over runtime, middleware and OS

When Should I Use Progress Kinvey?
Kinvey is a serverless application development platform to develop multichannel apps, which are deployed on a cloud backend that will auto-scale to the highest levels, while integrating with existing cloud and legacy systems across data and auth. Kinvey is ideal when:
• Your team has an aggressive timeframe to get to market with an MVP
• You need integration with external auth systems such as Active Directory
• You need to access external databases such as SQL Server or Postgres, or applications such as SAP or Salesforce
• Your users need sub-second responses from legacy databases or slow APIs
• Your team does not have resources to manage security and compliance (HIPAA, SOC2, GDPR, etc.)

Deeper Dive on Progress Kinvey
Assuming an upcoming app project fits the scenarios where Kinvey is ideal, I want to expand on some of the differentiated cloud services to consider, and what they really mean to development teams.

• Identity Federation Providers
When it comes to federated auth to external systems, such as Active Directory, application developers and architects do not want to assume all security risks for the setup and configuration. Nor do they want to deal with any code related to the implementation of auth or open source components. Federation is less of an issue when the app backend bundles identity and access management using native services such as Amazon Cognito for AWS Amplify. But for external auth providers, it is just not worth the risk to an organization so developers prefer commercial providers such as those available with Kinvey to authenticate against identity systems such as SAML, OAuth2, OpenID, Active Directory and LDAP.

What auth looks like to developers:
1authentication-implementation-flow.png


What auth looks like to developers with Kinvey:

2_js.png



Data Integration and Frameworks for Cloud and On-premises Data
For external databases and systems outside of the cloud services provider, integration presents challenges such as dealing with different shapes of data with varying degrees of response time and reliability. This can require a dedicated data engineering team to get right. Kinvey includes the data architecture out of the box with 50+ prebuilt connectors available from microservices frameworks for data integration across SAP, Salesforce, SQL Server, Postgres, MySQL and more while providing offline access and sync for large data sets and smart caching for subsecond access against less reliable systems. The Kinvey Engineering team has done a lot of work getting heterogeneous data environments working seamlessly so there’s no need to reinvent the wheel.

• DevOps
When selecting cloud services, smaller development teams require the DevOps automation built into the Kinvey platform which include tasks such as provisioning environments, scaling, continuous integration, fault tolerance, disaster recovery and more. Progress manages and auto scales all application infrastructure across cloud services, microservices and functions. DevSecOps automation is built into each step of the pipeline managed by Progress. Having a managed service greatly reduces the resources required on the team and enables focus on the app development. The Kinvey DevOps Engineering team has delivered a lot of innovation and there is no need to reinvent that wheel either.

Sumit Sarkar is Director of Product Marketing and Developer Relations at Progress.

Partners