Posts Tagged ‘Cloud services’

Why DevOps is the Perfect Choice for Mobile App Development?

Monday, September 14th, 2020

DevOps for mobile app development is a smart approach to ensure smooth application delivery from initiation to production. It makes the process more efficient, streamlined, and flexible. How? By breaking the development operations barrier. Read this post to know the significance of DevOps in Mobile App Development and how it can benefit your business.

What is DevOps?

DevOps

DevOps isn’t a technique or process, it is a unique approach that ensures effective collaboration between all the stakeholders (developers, managers, and other operations staff) included in creating a reliable digital product. DevOps helps to:

  • Bridge the gap between operations & development so that all can work in a team;
  • Overcome the challenges involved in continuous software delivery;
  • Brings together agile, continuous delivery, and automation.

Moreover, DevOps lowers development costs, accelerates the release cycle, and improves efficiency. According to a study (Source: UpGuard), organizations integrating DevOps showed:

  • 63% improvement in the quality of their software deployments
  • 63% released new software more frequently
  • 55% noticed improved cooperation and collaboration
  • 38% reported a higher quality of code production

Six Essential Elements of the DevOps Approach

DevOps

Continuous Planning

It brings together the complete project team to a single platform to define application scope and determine the possible outcomes & resources.

Continuous Integration

It emphasizes frequent error-free builds and ensures its seamless integration into the last developed code.

Continuous Testing

It helps in the early detection of bugs. It ensures the performance and reliability of the application and the infrastructure as it moves from development to production.

Continuous Monitoring

It helps in issues identification and resolution. It ensures the stability and proper functioning of the app.

Continuous Delivery

It assists in the delivery of software/updates to the production environment in smaller increments and ensures faster release.

Continuous Deployment

It is a strategy where any code that crosses the automated testing phase gets auto release to the production environment.

How to Implement Mobile DevOps?

The three fundamentals to implement mobile DevOps:

DevOps implementation

Continuous Integration and Delivery

The code should be written in such a manner that other teams can easily integrate. All assets—from scripts, text files, configuration, documents, to code should be traceable. Continuous integration comes with continuous delivery. It ensures fast delivery.

Testing and Monitoring

Mobile app testing is quite significant and should be carried out in the real environment in addition to emulators & simulators. An automated tested process has numerous benefits— it is problem-solving, results in early bug detection, & helps in frequent build handling. Continuous performance monitoring can be done by integrating third-party SDKs (like a crash report, log, etc.) to identify the cause of failure.

Quality Control

It is imperative to measure and verify all components of the code from inception to production, including all modifications that took place during the process. The ratings and feedback on the app store need to be monitored constantly to address the issues quickly and determine the scope of improvement.

How Mobile DevOps is going to Benefit Your Business?

Reduced Release Time

Mobile DevOps offer a smart way to fix issues that originated within the product. The continuous integration in DevOps along with the best test setup ensures a faster solution to problems and compresses applications time to release.

Better Customer Experience

The prime goal of a company is to deliver better services and products. DevOps help to create a quality app using continuous automated testing. This results in better customer experience and satisfaction.

Better Software Quality

DevOps ensures fast development, high quality, stable software, and more frequent releases. When coupled with Agile, it results in better collaboration and helps in solving a problem quickly. DevOps ensures close monitoring of everything from user experience, performance, to security. Thus results in stable and robust software delivery.

Reduced Risks

Mobile DevOps significantly reduces risks. Automated Testing in the development lifecycle ensures that every bug is detected and resolved before the release of the product.

Innovative Toolkits

DevOps offers creative & feature-rich tools to enhance mobile application quality and scalability. These tools foster capabilities for implementing continuous delivery for a large number of releases. Also, the release management tool offers a single collaboration platform for all the teams and provide traceability of every product release.

Conclusion

Adopting DevOps will be a total game-changer for your mobile app development business. Mobile DevOps looks quite promising. It not only enhances business productivity but also minimizes time to market/market releases. Whether you are a growing startup or a well-established enterprise, we, at Successive Technologies are here help to you.

We help you establish quick and transparent software delivery cycles with reliable and technology-driven software solutions. We help businesses attract new market opportunities. Contact our experts to get started with your Mobile DevOps Journey.

Why AIOps is the Next Big Thing in IT Operations?

Friday, September 4th, 2020

AIOps platform market size is growing exponentially. According to Markets and Markets latest survey, the AIOps market size will reach USD 11.02 billion by 2023 and USD 237 billion by 2025. But, what is AIOps, what it is designed to do, how it is developing, and why AIOps is the next big thing in IT operations? If you are also looking answers for such questions, then your search ends here. Have a look:

The ‘What’ Of AIOps

AIOps is the application of Artificial Intelligence (AI) to IT operations. It is Continuous Integration (CI) and Continuous Deployment (CD) for core IT functions. AIOps combines machine learning, big data analytics, and various AI technologies to automate the challenging IT tasks. Using the IT data collected from algorithm analysis, AIOps check assets and gain visibility into dependencies within or outside of the IT systems. It helps IT Ops and DevOps teams work smarter and faster. It also denotes a shift from siloed data to a more dynamic business environment.

With AIOps, Ops teams can tame the immense complexity and quantity of data. This prevents outages, maintains uptime, and match endless service assurances. By 2022, 40% of all large enterprises will integrate big data and ML functionalities to replace and support monitoring, service desk, and automation methods (Source: Analytics India Mag).

AIOps Benefits

The prime advantage of embracing AIOps is that it provides momentum and agility to the Operations Team. This helps to ensure the uptime of vital services and timely delivery for better customer experience. Other AIOps benefits:

  • Data-Driven Decision Making

AIOps brings key ML techniques to the IT operations and helps with decision making. It enables the data-driven approach and automates responses. Such automated responses eradicate human errors and data errors. AIOps lets the organization focus more on resolution than detection.

  • Event Noise Reduction

Machine learning technology has great learning skills. With AIOps, using ML, the operations team can identify the error pattern and take immediate counteraction against the discrepancy.

  • Immediate Cause Identification

AIOps platform enables deploying correlation analytics. This helps teams to identify errors and its root cause by correlating monitoring data pointers. As a result, a team can resolve issues quickly and efficiently.

  • Predicting Event Warning

Early error detection is as necessary as fixing it. AIOps with advanced analytics can’t only detect the anomalies in the application performance, but also fix it efficiently for better customer experience.

  • Enhanced Customer Experience

AIOps can predict underlying availability and performance issues by collecting and analyzing data. It accelerates deployment and problem-solving processes.

Conclusion

AIOps is here to stay. It can potentially replace the traditional IT approach with streamlined automation and better efficiency. At Successive Technologies, we integrate the AIOPs, DevOps, and Agile procedures across the software lifecycles to improve operational efficiency and foster innovation. We deliver applications at the pace of business with comprehensive AIOps and DevOps services.

Build the next generation of your business with us now. Get started!

7 Hybrid Cloud Essential Security Elements

Tuesday, June 16th, 2020

Globally, the emergence of cloud computing and cloud storage has changed the dynamics of how the organizations create, store, execute, and operate the data. It is well known that public cloud platforms allow organizations with little or no cloud structure to migrate to the cloud. But several organizations set up their private cloud networks as it allows them to protect their intellectual property more securely. 

Hybrid Cloud: An Intro

No doubt, security is a big concern for every organization. As IT applications and infrastructure move to the public cloud, the chances of a security breach can increase exponentially. But the problem isn’t the cloud service!

According to Gartner, public cloud services offered by leading providers are secure and identified the real problem as the way in which those services are used. The challenge, then, is figuring out how to deploy and use public cloud services in a secure manner. And hence the emergence of hybrid cloud is considered as the game-changing scenario as it offers the best of both the cloud platforms. 

Security Threats in Hybrid Cloud Platform

There are few security challenges which you need to address while working on the hybrid cloud platform. Check out these 7 most crucial hybrid cloud challenges here-

Adherence to Compliance-Regulation

With the rigorous data security norms such as GDPR coming into effect, the regulatory requirements for staying compliant have become even stricter. As the data moves from your private cloud network to the public cloud network in the hybrid cloud computing model, you need to take extra preventive measures to stay compliant.

Maintaining Data Protection and Encryption

Every database, workloads, and content in cloud must be protected from internal and external threats aimed at stealing critical data. In such a case, Encryption helps offset concerns associated with relinquishing data control in the cloud because it limits the chance of a breach and hackers won’t be able to decrypt the data. 

Ambiguity in Service Level Agreements (SLAs)

When you are opting for a hybrid cloud platform, you are also allowing the administration of the data to your public cloud service provider. There are also challenges that companies face with regard to the accountability of the data loss. It is important to make sure that the service providers have ensured the confidentiality of the data. 

Network Security

Managed network security services help simplify network security by reducing the complexity that evolves from managing different operating systems, network asset failures, and remote access queries. Software-defined network technologies and automation are increasingly being used with the hybrid cloud to centralize security monitoring, management, and inter-workload protection. 

Data Redundancy Policy and MFA

It is recommended that organizations must have a data redundancy policy in place to ensure the back-up in case there is only one data center. Moreover, organizations need to set up the multi-factor authentications methods to prevent any unauthorized access.

Workload-centric Capabilities

Since workloads can move between clouds, they need to carry their security methods with them. With workload-centric security, controls are built-in and stay with each workload wherever it runs. The plus point is that it can benefit DevOps as well, enabling security controls to be more easily integrated into new applications. Every time a new workload is provisioned, security controls are already there. 

Strict Monitoring of Regulatory Changes

With new mandates continuously in the action for cybersecurity and data protection, financial firms need a mechanism for proactively tracking these changes for betterment. Robust predictive analytics, such as those used by a controls database, is designed to simplify and accelerate the discovery of regulatory changes and can deliver actionable insights for rectification.

Conclusion

Before starting your organization’s hybrid cloud journey, think carefully about your long-term approach and what you will expect from your hybrid cloud environment in the years to come. No solution is perfect, though, so they need to keep the challenges associated with hybrid clouds in mind as they roll out their network deployments. By considering these seven elements of hybrid cloud security, you can help your organization transition smoothly between on-premises and cloud environments. Looking for the best cloud application development services? Do not hassle! Talk to our business consultants now.

Leverage AWS IoT Core for Connecting Devices to the Cloud

Tuesday, June 16th, 2020

Technologies are consistently evolving with innovative enhancements to them every day. Connecting your devices to the cloud can be a complex situation and requires a skilled cloud app development company to get the best results. Also, managing several internet-connected devices, security measures, and reliability simultaneously can be a tedious task. 

To overcome this burden, a fully managed cloud service “AWS IoT Core” is introduced. The organizations can now connect their devices to the AWS cloud for improved security, interoperability, and clarity. Besides, the AWS IoT Core offers a centralized platform that promotes secure data storage, convenience across a variety of devices, and retrieval.

With AWS IoT Core, your application can be tracked and communicated with all the connected devices, 24*7, even when they are offline. It is easy to use AWS and Amazon Services with AWS IoT Core to create IoT apps that collect, process, examine and carry out the information generated by the connected devices without the need of managing any infrastructure. These apps can also be centrally managed over a mobile app.

How does AWS IoT Core Operate?

Connect and Manage Your Devices

AWS IoT Core allows seamless connectivity of multiple devices to the cloud and to other devices. It supports HTTP, WebSockets, and MQTT (Message Queuing Telemetry Transport), a communication protocol particularly created to support irregular and interrupted connections, lessen the code footprints on the devices and decrease the network bandwidth necessities. Besides, AWS IoT Core supports industry standards and custom protocols also devices using different protocols can intercommunicate.

Secured Device Connections and Information

Whenever a device gets connected to an AWS IoT Core, an end-to-end encryption is initiated throughout all the connection links so that the crucial data is never transferred between devices and AWS IoT core without having a proven identity. You can always authenticate access to your devices and apps by using granular permissions and policies. All thanks to the automated configuration and authentication policies provided by the AWS IoT core.

Process and Act upon Device Data

You can refine, modify, and act upon the device data depending upon the business rules you have defined. Also, you can update the set business rules anytime to implement new device and app features.

Read and Set Device State Anytime

The latest state of a connected device is stored within the AWS IoT core so that it can be set or read anywhere, anytime, even when the device is disconnected.

Key Features of AWS IoT Core

Below are the unique and robust AWS IoT Core features that provide a seamless experience to organizations while connecting to several IoT devices to the cloud:

Alexa Voice Service (AVS) Support

You can easily utilize the AVS for a regular management of your devices having Alexa built-in abilities i.e. microphone and speaker. With the AVS integration, it is quite easy to scale a huge amount of supported devices and their management can be done through voice controls. It reduces the cost of building Alexa Built-in devices by up to 50%.  Besides, AVS integration promotes seamless media handling for the connected devices in a virtual cloud environment.

Device Shadow

You can create a determined, virtual version or Device Shadow of every device connected to an AWS IoT core. It is a virtual representation of every device by which you can virtually analyze a device’s real-time state w.r.t applications and other devices interacting with it. It also lets you recover the last reported state of each device connected to the AWS cloud. Besides, the Device Shadow provides REST APIs that make it more convenient to create interactive applications.

Rules Engine

The Rules Engine empowers you to create a scalable and robust application that exchanges, processes the data generated by the connected devices. It prevents you from managing the complex and daunting software infrastructures. Moreover, it evaluates and modifies the messages published under the AWS IoT Core and delivers them to another device or cloud service.

Authentication and Authorization

AWS IoT Core provides industry level security for the connected devices as it allows mutual authentication and peer-to-peer encryption at every connection point. This means that the data is only transferred between the devices that have a valid and proven identity on AWS IoT Core. There are majorly three types of authentication mechanism:

  • X.509 Certificate-Based Authentication
  • Token-Based Authentication
  • SigV4

Devices connected using HTTP can use either of the above-mentioned authentication mechanisms whereas devices connected through MQTT can use certificate-based authentication.

AWS IoT and Mobile SDKs

The AWS IoT Device SDK allows you to connect your hardware device or your application to AWS IoT Core instantly and efficiently. It enables your devices to connect, validate, and exchange messages with AWS IoT Core incorporating the web protocols like MQTT, HTTP, or WebSockets. Moreover, developers can either use an open-source AWS SDK or can create their SDK to support their IoT devices.

The Bottom Line

AWS IoT Core empowers people and businesses to connect their devices to the cloud. It provides great assistance for web protocols like WebSockets, MQTT, and HTTP to facilitate seamless connectivity with the least bandwidth disruptions. Also, AWS IoT Core promotes smooth and effective communication between the connected devices.

Cloud Migration and App Modernization: Role and Strategies

Thursday, June 11th, 2020

According to Gartner, for every dollar that is invested in digital innovation, three dollars are spent on application modernization. Also, 60% of the business face difficulties when migrating to the cloud, actually cloud migration is above the boundaries of technical expertise. Successful and effective cloud migration is inclusive of a complete transformation both culturally and organizationally.

Since the adoption of cloud migration practices, various organizations have started migrating to cloud-based services with an effective plan and strategy for managing and controlling their application ecosystem. According to a study, 95% of companies continue to use monolithic dedicated on-site servers with a combination of private and public clouds for application hosting.

Organizations are hugely evolving towards a cloud-based environment to become more cost-effective and to gain better operational competences. Cloud offers elevated agility, increased innovation speed, and higher response time for business requirements. By enhancing the availability of the applications and minimizing application outages, organizations can provide upgraded customer and user experiences, and not only this, enterprises can swiftly and flexibly gain new business roles and opportunities as soon as these evolve. Application Modernization to the cloud enables businesses to maintain a competitive edge in today’s rapidly growing marketplace.

Beware of the Stumbling Blocks

During the Hybrid Cloud Migration process, it is seen that many organizations quickly become affected by abrupt challenges. For instance, the on-premises application migration to a cloud-based environment can hamper the existing application integrations. The level of complexity and dependencies among the interconnected and diverse apps can ruin the overall cloud migration objectives and can lead to major impediments for your business.

This gives rise to the underlying questions:

  • How will the organizations best guide on the cloud migration journey?
  • How to address and resolve potential challenges and complexities?
  • How to ensure that your cloud migration and app modernization will meet the desired business goals?

Parameters to Ensure for a Successful Cloud Migration

In this blog, we will be answering the above questions as well as highlighting some pillars to ensure a successful and effective cloud migration.

Well Defined Your Desired Business Goals, Objectives and Outcomes

Your desired business outcomes should incorporate questions like how will the cloud migration and app modernization will enhance your business? How will this transformation bring more business value, enhance sales, improve customer services, and boost productivity? This will create collaborative insights and internal metrics that will help businesses to achieve desired business outcomes.

Find the Suitable Partner

Choose a third-party app modernization service provider with an accurate skillset and relevant expertise in cloud migration. Always ensure the provider’s abilities, experience in the relevant business, cultural fit, security, and scalability. The right partners can expand your sales pipelines, gain access to cost-effective infrastructure, and minimize the risk of hampering existing app integrations.

Leverage the power of Automation Tools

Automation will boost the monotonous and iterative migration process, in return will provide an error-free and more effective environment. Once the organization hosts its applications in the cloud, businesses can seamlessly and frequently add new software that means faster integration and quality testing. Moreover, the automation tools will increase the agility, performance, and desired business goals. 

Address the organizational and cultural changes

Cloud migration and app modernization demand vital coordination over several IT extensions. By creating interdisciplinary units across infrastructure, applications, and database personnel will help in reducing uncertainties and boosting recovery time for delays.

Bottom Line

The era of digital transformation has begun and therefore shifting to cloud-based services is vital. The right and suitable app transformation partner is the key to seamlessly and effectively managing your organization’s app modernization and cloud migration practices and also successfully driving the transformation methods.

Top 6 Business Benefits of Cloud Managed Services You Must Know

Thursday, June 11th, 2020

Over recent years, all of us have seen rapid advancements in cloud infrastructure that have given rise to a new wave of technology firms that are able to provide powerful software solutions to millions of customers worldwide directly via the internet. It’s a fact that cloud services are a supreme solution for companies who have been struggling to control and adapt to the market with no significant success. With the introduction of cloud technology, for the first time, companies were able to revisit and reanalyze the data in real-time to get instant strategic inputs. These benefits get multiplied when the cloud service is of a managed type. Yes, you heard it right! The benefits of the cloud become doubled with Cloud managed services. 

Today, more and more companies are choosing cloud managed services to take advantage of cost-effective and well-managed computing resources, as well as increased reliability and flexibility. As such, the cloud managed services market is witnessing a boom. This blog discusses all the major benefits of cloud managed services for businesses. 

Understanding Cloud Managed Services

Before we discuss the features, let’s take a deep dive into the topic of cloud managed services. It’s possible you haven’t heard of cloud managed services or know little about them. So first, let us explain.

Managed cloud services imply outsourcing management of cloud-based services to enhance your business and help you achieve digital transformation. In other words, These services are designed to automate and enhance your business operations.

Depending on your IT needs, a typical cloud services provider can assess and handle functionalities, such as:

• Performance testing and analytics on all cloud platforms

• Backup, security, and recovery

• Monitoring and reporting of current infrastructure and data center

• Training and implementation of new or complex tasks and initiatives

Isn’t this sound great? Most of the problems can be now solved with cloud managed services! If you’re thinking of outsourcing your IT management to a cloud managed services provider, you’ll want to read our top benefits of cloud managed services. Here it is-

6 Ways Cloud Managed Services Benefitting Your Business

  • Disaster Recovery

Now, it’s becoming more and more important to protect your network from cybercriminals and online attacks. By leveraging managed cloud services for disaster recovery, you can rest assured that your data will remain safe cross all cloud services and applications if disaster strikes. Thus, the core objective of business continuity is achieved.

  • Cost Savings

The best cloud solutions services team allows you to decide how much you are willing to pay for IT services by having a consistent and predictable monthly bill. By outsourcing your cloud managed services, you’ll have peace of mind knowing you’re in control of the costs associated process. Not to mention, you can even reduce costly network maintenance expenses.

  • Stay Up to Date

Depending on an in-house IT team for regular technology and software upgrades often consumes time, training, and additional resources as well. On the other hand, migrating to a cloud environment and depending on a cloud MSP keeps your data centers up to date with every possible timely technology update.

  • Centralized Services and Applications

The best part about cloud managed services is that it manages all applications and services at a centralized data center. Thus, there will be a lot of extent for remote data access, increased productivity, effective resource utilization, effective storage, and backup, among other advantages.

  • Avoid High Infrastructure Costs

Outsourced managed services allow businesses to take advantage of robust network infrastructure without the need to purchase expensive capital assets themselves. Cloud-managed service providers set up and maintain your network and take full ownership over things like a cloud migration plan, hardware assets, and staff training.

  • Quick Response Time

Addressing an issue locally is different in comparison to doing so remotely over the network. However, in the case of cloud managed services, the responsibility lies with service providers in ensuring quick response times in case of any issue. This can take more time if done locally.

Final Words

The above benefits will surely be a plus to your organization. If you are running a cloud environment and need help managing the cloud services you use, then its the perfect time to connect with the right cloud managed service provider. At Successive, we know how important it is to make sure your business runs smoothly. If you’re interested in learning more about cloud managed services, or any other services we provide, you can easily reach out to one of our business technology consultants.

Seven Important Steps to a Successful Salesforce Project

Thursday, June 4th, 2020

An overwhelming task list before starting a new project or implementing a new system can bring an unlimited number of meetings and plannings, this often leads to delay in achieving desired goals.

Utilizing Salesforce to attain your business goals in advancements are quite flexible. But where to begin with? This blog post brings you the seven astonishing steps that will not only help in achieving your long term goals but also will enhance your business productivity and revenue.

Step 1: Project Kick-off

The project kickoff meetings are a great opportunity to set goals and tasks in completing the work. It is the meeting of the client and designation project team that includes the basic elements required for the project and other vital activities.

Start the project by identifying the stakeholders, their roles, and requirements. Here, some of the key questions to ask at this stage:

• What are the potential data flows and workflows between Salesforce and the ERP?

• How do the data models of both systems are getting compared?

• What fields does every system leverage?

Step 2: Discover and Requirement Defining Stage

This phase includes an in-depth understanding of the Salesforce and ERP platform infrastructure, based on which highlight what other new and unique platforms or elements are required. Proceed by drafting a scope document highlighting all the inputs from the sessions, objectives, workflows, requirements, goals, etc. the order of integration between two systems. For better outputs, the process should be initiated in-house and reviewed by multiple Salesforce expertise.

Tip: Here you can choose a robust integrating platform or tool featuring in build connectors. These connectors can significantly reduce the operational and development time along with maintenance costs.

Step 3: Design

This stage is fragmented into sprints and field level physical information models are created accordingly. It helps in highlighting the Salesforce field maps and the ERP fields where development is required.

Step 4: Build

At this stage, DevOps plays a vital role. As soon as the developers finish a task, they commit their code to a shared code repository. Pulling request is made to merge the new codes with the shared codebase. It establishes a CI/CD cycle that offers cost-effectiveness and efficiency.

Tip: After successful completion of this step, run a unit test with the user team.

Step 5: Test

The test phase includes a dedicated and skilled QA engineer executing the test plan. They thoroughly test and determine whether the developed requirements and other IT solutions are ready for implementation. Only when the integration seems good, the QA team forwards it to the User Acceptance Testing phase where the end-users provide a suggestion, changes, and feedback on the developed system.

Step 6: Deployment

It is considered as the final stage as the application is put into production. After vigorous testing performed by the project team and several testing phases, the application is set to go live.

Tip: In the Salesforce environment, having an effective deployment strategy and robust lifecycle management approach is an essential element for boosting business productivity and revenue. Hence, the process needs to be flawless, scalable, and proficient.

Step7: Support & Maintenance

The support phase involves keen monitoring of the integrations, log analysis using modern tools, issue fixing, etc. The maintenance part involves hardware & software modifications, documentation to support the operational capabilities. This improves performance, boosts productivity, enhance security measures, and better customer experience.

About the Author

Aashna Diwan is a technophile who creates innovative insights about next-gen technologies like AI, ML, Blockchain, ERP, Cloud, AR/VR, IoT, and many more.

Azure Bastion: Secure way to RDP/SSH Azure Virtual Machines

Monday, March 2nd, 2020

Microsoft Azure has recently launched Azure Bastion; a managed PaaS service to securely connect to Azure Virtual Machines (VMs) directly through the Azure Portal without any client needed.

Generally, we connect to the remote machines by either RDP or SSH. Before Bastion, if we need to connect to a VM in Azure we either need to expose a public RDP/SSH port of the server(s) or we need to provision a separate jump box server with said ports exposed and then connect to the private machines via the jump box server.

Exposing RDP/SSH ports over the Internet is not desirable and considered as a security threat, and with Azure Bastion, we can connect to Azure VM(s) securely over SSL, directly in Azure Portal and without exposing any ports. This also enables clientless connectivity meaning no client tool like mstsc is needed. It just requires a supported browser to access the VM.

Key points

  • Azure Bastion is a fully managed PaaS service that provides secure and seamless RDP/SSH access to Azure VM(s)
  • No RDP/SSH ports need to be exposed publicly
  • No public IP is required for VM(s)
  • Access VM(s) directly from the Azure portal over SSL
  • Help to limit threats like port scanning and other malware
  • Makes it easy to manage Network Security Groups (NSGs)
  • It is basically a scale set under the hood, which can resize itself based on the number of connections to your network
  • Azure Bastion is provisioned within a Virtual Network (VNet) within a separate subnet. The name of the subnet must be AzureBastionSubnet
  • Once provisioned, access is there for all VMs in the VNet, across subnets
  • Get started within minutes

Getting Started

  • Select the VNet, in which you have the VM(s), which you want to connect. Create a subnet on which the bastion host will be deployed. Make sure that the range of networks is at least /27 or larger and the name of the subnet is AzureBastionSubnet.
  • Now go to the Azure portal and create a Bastion service and fill in the required details.
  • Once the Bastion is provisioned, just navigate to the VM, you want to RDP/SSH and click Connect. There you will see an option to connect using Bastion.
  • Just enter the username and password and Connect. You can also login using a username and SSH private key for Linux if it is configured.
  • This is it. When connected, the remote session will start in the browser window.

Limitations

The service is not available in all regions, and the Azure folks are working on adding it to all regions eventually. As of now, the file transfer service is not available but we hope this feature will get added in the future, however, text copy-paste is supported. Keep visiting the service documentation for more details and feature updates.

Salesforce Integration with DocuSign

Friday, January 24th, 2020

Automate contracts without ever leaving Salesforce.

Salesforce integration with DocuSign allows companies to digitize their customer agreements completely, thus increasing efficiency and security and reducing costs.

Salesforce is a popular cloud-based CRM software that is used by companies worldwide. One of the most useful features that this platform offers is that it allows companies to automate contracts, thanks to its integration with DocuSign.

As a widely-used e-signature solution, DocuSign allows companies everywhere to digitize contracts by enabling legally binding electronic signatures on digital documents. It is extremely easy to use, secure, and reliable, and since it is integrated with Salesforce, it allows organizations to completely digitize their customer relationship management.

Using Salesforce integration with DocuSign, you can easily pull data from various Salesforce objects such as Lead, Account, Opportunity, Contact, and more. You can then sign the documents online, or you can send them out directly from Salesforce to get the required signatures. Once the documents are signed, they are returned to Salesforce and are then attached to their respective records.

Automating your customer agreement processes using technology like Salesforce and DocuSign, which are developed by top UX design firms, comes with plenty of benefits. Let’s take a look at these below:

Accelerate turnaround times

With Salesforce integration with DocuSign, you can easily cut down the turnaround time for customer agreements to hours or even a few minutes. This automation of the workflow allows for increased productivity since your employees can work out everything without ever having to leave Salesforce.

Cost reduction

With Salesforce and DocuSign, you can limit your financial expenses easily, since everything is digitized and on the cloud. This gives you the opportunity to invest your finances in other areas of your business with greater ROI.

Improved accuracy and efficiency

Since Salesforce integration with DocuSign automates processes of agreement development and signing, there will be little to no error. When you have employees manually working on the same tedious task, it’s much more likely that errors which could have been prevented would occur. Transactions are also extremely safe and secure, so you don’t have to worry about breach of important data.

Enhanced customer experience

With the security, accuracy, and efficiency that Salesforce integration with DocuSign provides, your company is capable of providing an overall enhanced customer experience. Your customers no longer have to risk security nor wait for long periods of time for their agreements.

Reduce paper waste

Another huge benefit of digitizing agreements using Salesforce integration with DocuSign is that you can reduce paper waste significantly. With the growing concern over environmental causes, cutting down on your reliance on paper and going digital enables you to do your bit in contributing towards more eco-friendly business processes.

Queuing Tasks with Redis

Thursday, January 23rd, 2020

Introduction and background

Redis is an open-source data structure that is used for in-memory storage and helps developers across the globe with the quick and efficient organization and utilization of data. Even though many developers worldwide are still struggling to decide which open-source software application to use, Redis is quickly growing to be a widely popular choice. Currently, more than 3000 tech joints, including our team, are using Redis.

Redis supports several data structures, including lists, sets, sorted sets, hashes, binary-safe strings, and HyperLogLogs. Our team uses Redis to support queuing in this project.

Queuing is the storing or deferring of tasks of operation inside a queue so that they can be used later. It comes into use for operations which are large in number and/or takes up a lot of time. Tasks can be executed in two different methods –

  • Tasks can be executed in the same order they were inserted, or
  • Tasks can be executed at a specific time.

Challenges

For this project, we needed to download large files, which is extremely time-consuming. To make the process more time-efficient, we decided to use queuing to effectively manage the download request. These download requests were added and served in the FIFO order.

Moreover, we wanted to retry the request in the time interval of one hour if it fails, until it fails three times. After this, the request is marked as failed and then removed from the queue. Our team soon found that manually creating and managing separate queues was rather inefficient, time-consuming, and troublesome, which hinted that we needed a new solution. This is where Redis comes in.

Solution

To create and manage separate queues more effectively, we put Kue npm package to the test. We hoped that it would make our task less time-consuming and more efficient.

And what exactly is Kue? Kue is a priority job queue package that is built for node.js and backed by Redis. What makes Kue so appealing for developers is that it provides us with a UI where the status of queues is displayed. This means that we can see the current status of the queues in real-time, thus helping us work better and smarter.

To use Kue, you have to first install it, then create a job Queue with Kue.createQueue(). The next step is to create a job of type email with arbitrary job data using create() method. This enables the return of a job, which will be saved in Redis using save() method.

Then, after the jobs are created, the next step is to process them using process() method, after which failed jobs should be removed. You can then add Kue UI if you choose and install kue-UI package.

With this, you will be able to store your request in the Redis queue and then process them in FIFO order.

Connecting GraphQL using Apollo Server

Thursday, January 23rd, 2020

Introduction

Apollo Server is a library that helps you connect a GraphQL schema to an HTTP server in Node.js. We will try to explain this through an example, the link used to clone this project is mentioned below:-

git clone https://[email protected]/prwl/apollo-tutorial.git

This technology and its concepts can be best explained as below.

Challenge

Here, one of the main goals is to create a directory and install packages. This will eventually lead us to implement our first subscription in GraphQL with Apollo Server and PubSub.

Solution

For this, the first step includes building a new folder in your working directory. The current directory is changed to that new folder, and a new folder is created to hold your server code in and run. This will create the package.json file for us. After this, we install a few libraries. After the installment of these packages, the next step is to create an index.js file in the root of the server.

Create Directory

npm init -y

Install Packages

npm install apollo-server-express express graphql nodemon apollo-server

Connecting Apollo Server

Index.js first connects to the Apollo server. Every library is set to get started with the source code in the index.js file. To achieve this, you have first to import the necessary parts for getting started with Apollo Server in Express. Using Apollo Server’s applyMiddleware() method, you can opt-in any middleware, which in this case is Express.

import express from 'express';
import { ApolloServer, gql } from 'apollo-server-express';

const typeDefs = gql`
type Query {
hello: String
};
const resolvers = {
Query: {
hello: () => 'Hello World!'
}
}
`;
const server = new ApolloServer({ typeDefs, resolvers });
const app = express();
server.applyMiddleware({ app });

app.listen({ port: 4000 }, () =>
console.log(`? Server ready at http://localhost:4000${server.graphqlPath}`)
);

The GraphQL schema provided to the Apollo Server is the only available data for reading and writing data via GraphQL. It can happen from any client who consumes the GraphQL API. The schema consists of type definitions, which starts with a mandatory top-level Query type for reading data, followed by fields and nested fields. Apollo Server has various scalar types in the GraphQL specification for defining strings (String), booleans (Boolean), integers (Int), and more.

const typeDefs = gql`
type Query {
hello: Message
}Type Message {salutation: String}
`;
const resolvers = {
Query: {
hello: () => 'Hello World!'
}
};

In the GraphQL schema for setting up an Apollo Server, resolvers are used to return data for fields from the schema. The data source doesn’t matter, because the data can be hardcoded, can come from a database, or from another (RESTful) API endpoint.

Mutations

So far, we have only defined queries in our GraphQL schema. Apart from the Query type, there are also Mutation and Subscription types. There, you can group all your GraphQL operations for writing data instead of reading it.

const typeDefs = gql`
type Query {

}type Mutation {createMessage(text: String!): String!}
`;

As visible from the above code snippet. In this case, the create message mutation accepts a non-nullable text input as an argument and returns the created message as a string.

Again, you have to implement the resolver as counterpart for the mutation the same as with the previous queries, which happens in the mutation part of the resolver map:

const resolvers = {
Query: {
hello: () => ‘Hello World!’
},
Mutation: {
createMessage: (parent, args) => {
const message = args.text;
return message;
},
},
};

The mutation’s resolver has access to the text in its second argument. The parent argument isn’t used.

So far, the mutation creates a message string and returns it to the API. However, most mutations have side-effects, because they are writing data to your data source or performing another action. Most often, it will be a write operation to your database, but in this case, we are just returning the text passed to us as an argument.

That’s it for the first mutation. You can try it right now in GraphQL Playground:

mutation {
createMessage (text: “Hello GraphQL!”)
}

The result for the query should look like this as per your defined sample data:

{
“data”: {
“createMessage”: “Hello GraphQL!”
}
}

Subscriptions

So far, you used GraphQL to read and write data with queries and mutations. These are the two essential GraphQL operations to get a GraphQL server ready for CRUD operations. Next, you will learn about GraphQL Subscriptions for real-time communication between GraphQL client and server.

Apollo Server Subscription Setup

Because we are using Express as middleware, expose the subscriptions with an advanced HTTP server setup in the index.js file:

import http from ‘http’;…server.applyMiddleware({ app, path: ‘/graphql’ });const httpServer = http.createServer(app);
server.installSubscriptionHandlers(httpServer);httpServer.listen({ port: 8000 }, () => {
 console.lo;
});…

To complete the subscription setup, you’ll need to use one of the available PubSub engines for publishing and subscribing to events. Apollo Server comes with its own by default.

Let’s implement the specific subscription for the message creation. It should be possible for another GraphQL client to listen to message creations.

Create a file named subscription.js in the root directory of your project and paste the following line in that file:

import { PubSub } from ‘apollo-server’;export const CREATED = ‘CREATED’;export const EVENTS = {
MESSAGE: CREATED,
};export default new PubSub();

The only piece missing is using the event and the PubSub instance in your resolver.

…import pubsub, { EVENTS } from ‘./subscription’;…const resolvers = {
Query: {

},
Mutation: {…
},Subscription: {messageCreated: {subscribe: () => pubsub.asyncIterator(EVENTS.MESSAGE),},},};…

Also, update your schema for the newly created Subscription:

const typeDefs = gql`
type Query {

}
type Mutation {

}type Subscription {messageCreated: String!}
`;

The subscription as a resolver provides a counterpart for the subscription in the message schema. However, since it uses a publisher-subscriber mechanism (PubSub) for events, you have only implemented the subscribing, not the publishing. It is possible for a GraphQL client to listen for changes, but there are no changes published yet. The best place for publishing a newly created message is in the same file as the created message:

…import pubsub, { EVENTS } from ‘./subscription’;…const resolvers = {
Query: {

},
Mutation: {
createMessage: (parent, args) => {
const message = args.text;pubsub.publish(EVENTS.MESSAGE, {messageCreated: message,});
return message;
},
},
Subscription: {

},
};…

We have implemented your first subscription in GraphQL with Apollo Server and PubSub. To test it, create a new message on a tab in the apollo playground. On the other tab, we can listen to our subscription.

In the first tab, execute the subscription:

subscription {
messageCreated
}

In the second tab execute the createMessage mutation:

mutation {
createMessage(text: “My name is John.”)
}

Now, check the first tab(subscription) for the response like this:

{
“data”: {
“messageCreated”: “My name is John.”
}
}

We have implemented GraphQL subscriptions.

Recent Posts

Recent Comments

Get In Touch

Ask Us Anything !

Do you have experience in building apps and software?

What technologies do you use to develop apps and software?

How do you guys handle off-shore projects?

What about post delivery support?